From patriciamaia@multiplaybandalarga.com.br Sun Jun 1 03:38:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HK_LOTTO autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 88B627F3F for ; Sun, 1 Jun 2014 03:38:05 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 57B8C304039 for ; Sun, 1 Jun 2014 01:38:02 -0700 (PDT) X-ASG-Debug-ID: 1401611880-04bdf059a03b61f0001-NocioJ Received: from mg.netbandalarga.com.br (mg.netbandalarga.com.br [187.18.187.10]) by cuda.sgi.com with ESMTP id ZbqaY76tTd9AQJRd for ; Sun, 01 Jun 2014 01:38:00 -0700 (PDT) X-Barracuda-Envelope-From: patriciamaia@multiplaybandalarga.com.br X-Barracuda-Apparent-Source-IP: 187.18.187.10 X-WSS-ID: 0N6HEHM-01-XNS-02 X-M-MSG: Received: from ns01.netbandalarga.com.br (ns01.netbandalarga.com.br [187.18.187.2]) by mg.netbandalarga.com.br (Postfix) with ESMTP id 288299344DB; Sun, 1 Jun 2014 05:32:36 -0300 (BRT) Received: from multiplaybandalarga.com.br (localhost [127.0.0.1]) by ns01.netbandalarga.com.br (Postfix) with ESMTP id C9114147C47; Sun, 1 Jun 2014 05:41:23 -0300 (BRT) From: "CANADA-UK LOTTERY" Reply-To: onlinesweeptakes@cnegal.com Subject: Notification Date: Sun, 1 Jun 2014 09:41:23 +0100 X-ASG-Orig-Subj: Notification Message-Id: <20140601084003.M48029@multiplaybandalarga.com.br> X-Mailer: Multiplay 2.53 X-OriginatingIP: 79.141.162.19 (patriciamaia) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 To: undisclosed-recipients:; X-Barracuda-Connect: mg.netbandalarga.com.br[187.18.187.10] X-Barracuda-Start-Time: 1401611880 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6282 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- This is to notify that you have won in the Canada-Uk National Lottery. Reply to this mail for more details and claims. Regards, Mrs. Evelyn Mcgregor From earleen328@centurylink.net Sun Jun 1 04:59:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8437E7F3F for ; Sun, 1 Jun 2014 04:59:18 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4BAD48F8037 for ; Sun, 1 Jun 2014 02:59:18 -0700 (PDT) X-ASG-Debug-ID: 1401616756-04bdf059a13b89a0001-NocioJ Received: from smtp.centurylink.net (mail.centurylink.net [205.219.233.9]) by cuda.sgi.com with ESMTP id j5c5ieWiSGAOo4Wu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 01 Jun 2014 02:59:16 -0700 (PDT) X-Barracuda-Envelope-From: earleen328@centurylink.net X-Barracuda-Apparent-Source-IP: 205.219.233.9 DKIM-Signature: v=1; a=rsa-sha1; d=centurylink.net; s=ctl201402; c=relaxed/simple; q=dns/txt; i=@centurylink.net; t=1401616754; h=From:Subject:Date:To:MIME-Version:Content-Type; bh=fbhapYIb47w0SnTCl2pi/NvTbs0=; b=ohfrBxNcPsYqgUU7D9qfrlsni41bb7jgrmy0XgvsgP3qogyS3mpKMpJSXG1dcvSk z+pUJSozS8uuBrkz7OE7uJC5sqToJc2tjVFmo0PMMu3fIQvScg7jcFePdrA8vgrV JvhUQzWIuXNSaiUmj95wZHhjTCaBmZRPLUaizkWdXMDNLFH4mHNkIIa6j6JccoSD 1Jm/8Z00oreoe9Pnu5uFiCrY4oKEFsF5KiboGr1vZ5DJZG8SFJhBuCDx/uQ93Iyy Vdsqnl5xAFAljrK/mK9+s5G2sW3CIcfS1NWbRX/HfpSuobEas2pFLKPADnmq48/4 8txSNXXrAOrV1nEBocsKnw==; X_CMAE_Category: , , X-CNFS-Analysis: v=2.0 cv=PJKNCIWC c=1 sm=1 a=FKkrIqjQGGEA:10 a=YTHtZiAxaJsA:10 a=mF2eh9cmXfcA:10 a=eceY3pCtBLsA:10 a=zrtfsDcf3T0A:10 a=I_5RNyk1AAAA:8 a=UqCG9HQmAAAA:8 a=-f2FOd9MDDIDp8kthwMA:9 a=QEXdDO2ut3YA:10 a=xvyL8WiFRPkA:10 a=SXbhJL0pltMA:10 a=c5frLH11YNQA:10 a=YqDsoVYHJlkAElJ3WmYA:9 a=_W_S_7VecoQA:10 a=0BWfZHMhsHEA:10 a=woySP4Il718A:10 a=JpQqOLq4YqcA:10 a=UDo720tNcInnqUF9S9yrCA==:117 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine X-Authed-Username: ZWFybGVlbjMyOEBjZW50dXJ5bGluay5uZXQ= Authentication-Results: smtp03.agate.dfw.synacor.com smtp.mail=earleen328@centurylink.net; spf=neutral; sender-id=neutral Authentication-Results: smtp03.agate.dfw.synacor.com header.from=earleen328@centurylink.net; sender-id=neutral Received-SPF: neutral (smtp03.agate.dfw.synacor.com: 10.40.66.4 is neither permitted nor denied by domain of centurylink.net) Received: from [10.40.66.4] ([10.40.66.4:34023] helo=md06.agate.dfw.synacor.com) by smtp.centurylink.net (envelope-from ) (ecelerity 3.5.1.37854 r(Momo-dev:3.5.1.0)) with ESMTP id D2/31-23437-E69FA835; Sun, 01 Jun 2014 05:59:13 -0400 Date: Sun, 1 Jun 2014 05:59:09 -0400 (EDT) From: Laila Vaserman Reply-To: = To: Laila Vaserman Message-ID: <625202560.29984987.1401616749954.JavaMail.root@centurylink.net> In-Reply-To: Subject: Re: MIME-Version: 1.0 X-ASG-Orig-Subj: Re: Content-Type: multipart/alternative; boundary="----=_Part_29984986_1484946221.1401616749952" X-Originating-IP: [10.40.0.31] X-Mailer: Zimbra 7.2.2_GA_2852 (zclient/7.2.2_GA_2852) X-Barracuda-Connect: mail.centurylink.net[205.219.233.9] X-Barracuda-Start-Time: 1401616756 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6284 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message ------=_Part_29984986_1484946221.1401616749952 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit I have an Inheritance for you ------=_Part_29984986_1484946221.1401616749952 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit  

I have an Inheritance for you ------=_Part_29984986_1484946221.1401616749952-- From scaron@umich.edu Sun Jun 1 11:21:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 65C9E29DF8 for ; Sun, 1 Jun 2014 11:21:59 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 39440304043 for ; Sun, 1 Jun 2014 09:21:59 -0700 (PDT) X-ASG-Debug-ID: 1401639716-04bdf059a03c4e70001-NocioJ Received: from mail-qa0-f43.google.com (mail-qa0-f43.google.com [209.85.216.43]) by cuda.sgi.com with ESMTP id QSCjFvcdAC52BSln (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 01 Jun 2014 09:21:56 -0700 (PDT) X-Barracuda-Envelope-From: scaron@umich.edu X-Barracuda-Apparent-Source-IP: 209.85.216.43 Received: by mail-qa0-f43.google.com with SMTP id m5so1425596qaj.16 for ; Sun, 01 Jun 2014 09:21:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=kiyikZBJ6a0/ONPJpyybRgirxxC4zfVLW3EEPWvAJ4M=; b=dFtE2z0jFM3shB0RW6YGxbeCiWrGXUKxmJp6UcZVRPw0xseC7BrCaAsYbFY7mU7H7E nwJ8EM4/M2PxOwMg5wrRHgmi+F64rCZ41pb/wumvtKEgov++6C4Pq/weTavxo+uSCvuT xKCVlJC+9TgQTBieFKoO2pfqoNlVAc5oeyph+ugpaKS8bMfo9tdgp4VAXIaUN9KtehBy Zm21f3o4Yb1Qa6DybZ8fdUJC/DyFUVORUs9NncG9U4ds3hjUdkdmmODjrIJqlpeWZ9J3 k7JCcDbSIppPhHQl41GYCZRt+ZhV+x8r2ZDGBz2zH0uUfvwvb1QgCHCUJg9zWvNNh5IO LB4Q== X-Gm-Message-State: ALoCoQlpFCBsjHGp/ZWb6GR2e7Z/uHPC6eZhbUugtrfChxO4kr+iIWplMO3/9Ixaa2E2T8oaxVz7 MIME-Version: 1.0 X-Received: by 10.140.102.166 with SMTP id w35mr38870990qge.97.1401639715891; Sun, 01 Jun 2014 09:21:55 -0700 (PDT) Received: by 10.224.100.72 with HTTP; Sun, 1 Jun 2014 09:21:55 -0700 (PDT) In-Reply-To: <20140531000117.GM6677@dastard> References: <20140531000117.GM6677@dastard> Date: Sun, 1 Jun 2014 12:21:55 -0400 Message-ID: Subject: Re: What to do when... xfs_repair hangs? From: Sean Caron X-ASG-Orig-Subj: Re: What to do when... xfs_repair hangs? To: Dave Chinner , Sean Caron Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11c15f3a5e9a4704fac8adbd X-Barracuda-Connect: mail-qa0-f43.google.com[209.85.216.43] X-Barracuda-Start-Time: 1401639716 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6290 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message --001a11c15f3a5e9a4704fac8adbd Content-Type: text/plain; charset=UTF-8 Sorry, all, I was a little out-of-it on Friday afternoon, of course I had kicked off xfs_repair actually in the background with all output sent to a file, and I was just doing 'tail -f' on that file. So I kill the 'tail -f' and jump back to the command line, it appears that xfs_repair segfaulted and died. That line of text: disconnected inode 1109099673, was indeed the last thing that it printed before it crashed. If I look in dmesg, I just see - xfs_repair[6770]: segfault at 28 ip 000000000042307b sp 00007fffef61bad0 error 4 in xfs_repair[400000+72000] and that's it. I checked with 'df' and there's plenty of space everywhere; I don't see why it would have faulted out trying to connect something to lost+found. Underlying storage should be good; this is basically a RAID 60 built on top of a bunch of JBODs with LSI SAS9200 cards. MD sees all strings as started and running OK; no problems getting the array assembled at all. Since Dave is saying it's OK to try re-running xfs_repair; it'll just pick up where it left off; let me give it another pass and see if it manages to complete, or if it segfaults out again. I guess it it poops out a second time, maybe we'll just want to consider rebuilding the filesystem and restoring from our copies? Thanks for the feedback, Sean On Fri, May 30, 2014 at 8:01 PM, Dave Chinner wrote: > On Fri, May 30, 2014 at 03:49:13PM -0400, Sean Caron wrote: > > Hi all, > > > > Long story short, we have a big array formatted as XFS, we had a machine > go > > down hard maybe a month, month and a half ago... when it came back up, > XFS > > faulted out when we attempted to mount the filesystem; it complained the > > log was bad or something... I did a dry run of xfs_repair (-L) and it > > looked pretty bad, so we mounted up the filesystem read-only, ran a > > backup... I think we got pretty much everything out OK except maybe files > > that were open at the time of the crash. > > > > Now with a backup in hand, we kicked off xfs_repair "for real"... it ran > > for a while and did its thing, but now it appears to be stuck at the > stage - > > > > - agno = 436 > > rebuilding directory inode ... > > rebuilding directory inode ... > > rebuilding directory inode ... > > ... > > - traversal finished ... > > - moving disconected inodes to lost+found ... > > disconnected inode 1109099673, > > > > and then it just stops. I don't know how long its been sitting like that, > > but it hasn't moved in the last hour or two. I assume that's not good... > > Is that the total of the last line of output? If so, it's likely > stuck creating the lost+found directory. It's possible there's a > corruption in the inode AVL tree (e.g. endless loop) that is causing > it to spin doing an inode record lookup, but otherwise I can't see > any reason for it getting stuck here. > > The information that Brian asked for will be a good start in > tracking this down, as will the complete output of xfs_repair... > > > Interestingly when we ran a dry run of xfs_repair (-L) it got all the way > > through; it never hung up at any point. Not sure why it would start to > hang > > up, once it gets run "for real". > > That's because a dry-run skips the "move to lost_found" phase. > > > This machine is in single-user-mode, I have exactly 24 lines of console > > with no scrollback buffer, no other tty available besides that which I'm > > running xfs_repair on, the system console. > > $ man script > > or > > $ man tee > > > Running Linux kernel 3.4.61, Ubuntu 12.04 LTS 64-bit with whatever their > > current xfsprogs is. > > Upgrading xfsprogs to 3.2.0 would be a good idea. > > > This is a bit of an exceptional situation for me; I've never seen > > xfs_repair just hang outright. I hoped I could maybe get some feedback > from > > the experts here... what should I do? > > > > Try to Control-C out of the xfs_repair and ... re-run it? > > That's fine - the next time repair runs it will start again and > repair anything that wasn't repaired in the last run. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > --001a11c15f3a5e9a4704fac8adbd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Sorry, all, I was a little out-of-it on Friday afternoon, = of course I had kicked off xfs_repair actually in the background with all o= utput sent to a file, and I was just doing 'tail -f' on that file.<= div>
So I kill the 'tail -f' and jump back to the command= line, it appears that xfs_repair segfaulted and died.

=
That line of text:

discon= nected inode 1109099673,

wa= s indeed the last thing that it printed before it crashed.

If I loo= k in dmesg, I just see -

xfs_repa= ir[6770]: segfault at 28 ip 000000000042307b sp 00007fffef61bad0 error 4 in= xfs_repair[400000+72000]

and that= 's it.

I checke= d with 'df' and there's plenty of space everywhere; I don't= see why it would have faulted out trying to connect something to lost+foun= d.

Underlyi= ng storage should be good; this is basically a RAID 60 built on top of a bu= nch of JBODs with LSI SAS9200 cards. MD sees all strings as started and run= ning OK; no problems getting the array assembled at all.

Since Dave is saying it's OK to try re-running x= fs_repair; it'll just pick up where it left off; let me give it another= pass and see if it manages to complete, or if it segfaults out again. I gu= ess it it poops out a second time, maybe we'll just want to consider re= building the filesystem and restoring from our copies?

Than= ks for the feedback,

Sean



On Fri, M= ay 30, 2014 at 8:01 PM, Dave Chinner <david@fromorbit.com>= wrote:
On Fri, May 30, 2014 at 03:4= 9:13PM -0400, Sean Caron wrote:
> Hi all,
>
> Long story short, we have a big array formatted as XFS, we had a machi= ne go
> down hard maybe a month, month and a half ago... when it came back up,= XFS
> faulted out when we attempted to mount the filesystem; it complained t= he
> log was bad or something... I did a dry run of xfs_repair (-L) and it<= br> > looked pretty bad, so we mounted up the filesystem read-only, ran a > backup... I think we got pretty much everything out OK except maybe fi= les
> that were open at the time of the crash.
>
> Now with a backup in hand, we kicked off xfs_repair "for real&quo= t;... it ran
> for a while and did its thing, but now it appears to be stuck at the s= tage -
>
> - agno =3D 436
> rebuilding directory inode ...
> rebuilding directory inode ...
> rebuilding directory inode ...
> ...
> - traversal finished ...
> - moving disconected inodes to lost+found ...
> disconnected inode 1109099673,
>
> and then it just stops. I don't know how long its been sitting lik= e that,
> but it hasn't moved in the last hour or two. I assume that's n= ot good...

Is that the total of the last line of output? If so, it's likely<= br> stuck creating the lost+found directory. It's possible there's a corruption in the inode AVL tree (e.g. endless loop) that is causing
it to spin doing an inode record lookup, but otherwise I can't see
any reason for it getting stuck here.

The information that Brian asked for will be a good start in
tracking this down, as will the complete output of xfs_repair...

> Interestingly when we ran a dry run of xfs_repair (-L) it got all the = way
> through; it never hung up at any point. Not sure why it would start to= hang
> up, once it gets run "for real".

That's because a dry-run skips the "move to lost_found"= phase.

> This machine is in single-user-mode, I have exactly 24 lines of consol= e
> with no scrollback buffer, no other tty available besides that which I= 'm
> running xfs_repair on, the system console.

$ man script

or

$ man tee

> Running Linux kernel 3.4.61, Ubuntu 12.04 LTS 64-bit with whatever the= ir
> current xfsprogs is.

Upgrading xfsprogs to 3.2.0 would be a good idea.

> This is a bit of an exceptional situation for me; I've never seen<= br> > xfs_repair just hang outright. I hoped I could maybe get some feedback= from
> the experts here... what should I do?
>
> Try to Control-C out of the xfs_repair and ... re-run it?

That's fine - the next time repair runs it will start again and repair anything that wasn't repaired in the last run.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com

--001a11c15f3a5e9a4704fac8adbd-- From arnd@arndb.de Sun Jun 1 15:05:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2C5FF7F54 for ; Sun, 1 Jun 2014 15:05:17 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1BC888F8035 for ; Sun, 1 Jun 2014 13:05:13 -0700 (PDT) X-ASG-Debug-ID: 1401653111-04cb6c100aa92a0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id g1KBO44G5pG8vts8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 01 Jun 2014 13:05:11 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue007) with ESMTP (Nemesis) id 0MZ6Kl-1XLHl940El-00Vkka; Sun, 01 Jun 2014 21:56:53 +0200 From: Arnd Bergmann To: Nicolas Pitre Cc: "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Sun, 01 Jun 2014 21:56:52 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <8618458.1EVJCoVbkH@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <538995D4.9050702@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:4EClS3nPPd0d++b1ODxeO+nue5a4n8U2xcvaEsTpM51 NNbYoUfHVjRI6n4HBWZqxU9H//A6zAFdkYD2eKWYx2Dax/tymJ Kzze8TDMyf1leACVKpS0iONSBU6cAjlM7l2wxv/9iV+KfBlc6F xuJ5mCmCYaLyAEtpBO4LGdzEsFFPPFf0nGKcrp8sksRP5ILUnX aBtQxbqN7Aq5wK4tSn7w7379PkbWh0C5KuQ6VpmFi0RTGgQ3QD 2grRWjtH/IWVcrdqniFi9jH5Mw6oHw7tPfBvleJSkjgGRn9Sil r5+0GS2uNXIhe8qAwbshMOSVjnvwTg7l0+QUXBsqO9ukleQT4A uAjckdDxmUoLUe6/1yMo= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401653111 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6295 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Saturday 31 May 2014 11:46:16 Nicolas Pitre wrote: > > readonly if not in reality than in practice. > > For those (legacy) filesystems with a signed 32-bit timestamps, any > attempt to create a timestamp past Jan 19 03:14:06 2038 UTC should be > (silently) clamped to 0x7fffffff and that value (the last representable > time) used as an overflow indicator. The filesystem driver should > convert that value into a corresponding overflow value for whatever > kernel internal time representation being used when read back, and this > should be propagated up to user space. It should not be a hard error > otherwise, as you rightfully stated, everything non read-only would come > to a halt on that day. I don't think there is much of a difference between not being able to write at all and all newly written files having the same timestamp, causing random things to break differently. The clamp to the maximum supported time stamp sounds like a reasonable choice for 'utimens' and related syscalls for the case of someone setting an arbitrary future date beyond what the file system can represent. Then again, I don't see a reason why that shouldn't just cause an error to be returned. For actually running kernels beyond 2038, the best idea I've seen so far is to disallow all broken code at compile time. I don't see a choice but to audit the entire kernel for invalid uses on both 32 and 64 bit in the next few years. A lot of code will get changed in the process so we can actually keep running 32-bit kernels and file systems, but other code will likely go away: * any system calls that pass a time_t, timeval or timespec on 32-bit systems return -ENOSYS, to ensure all user land uses the replacements we will put into place * The definition of 'time_t', 'timval' and 'timespec' can be hidden from the kernel, and all code using it left out. * ext2 and ext3 file system code will have to be disabled, but that's file since ext4 can mount old file systems. * until xfs gets extended, we can also disiable it at build time. For most users, we probably want to leave all that enabled by default until we get much closer to 2038, but a compile time option should allow us to test what works or doesn't, and it can be set by embedded developers that want to ensure their code keeps running for the next few decades. Arnd From hpa@zytor.com Sun Jun 1 15:29:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 95BF27F54 for ; Sun, 1 Jun 2014 15:29:37 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 51875AC004 for ; Sun, 1 Jun 2014 13:29:37 -0700 (PDT) X-ASG-Debug-ID: 1401654571-04bdf0599e3cc490001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id aw3nlzlkhku0MecE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 01 Jun 2014 13:29:32 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from [22.4.236.43] ([172.56.17.16]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s51KQBTR003379 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 1 Jun 2014 13:26:13 -0700 User-Agent: K-9 Mail for Android In-Reply-To: <8618458.1EVJCoVbkH@wuerfel> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <538995D4.9050702@zytor.com> <8618458.1EVJCoVbkH@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: "H. Peter Anvin" X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Sun, 01 Jun 2014 13:26:03 -0700 To: Arnd Bergmann , Nicolas Pitre CC: Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Message-ID: <0ab4392c-d89d-4277-914d-1696f455daab@email.android.com> X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401654572 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6295 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS Perhaps we should make this a kernel command line option instead, with the settings: error out on outside the standard window, or a date indicating the earliest date that should be recognized and do windowing (0 for no windowing, 1970 for retconning the Unix epoch as unsigned...) But again, the kernel is probably the least problem here... On June 1, 2014 12:56:52 PM PDT, Arnd Bergmann wrote: >On Saturday 31 May 2014 11:46:16 Nicolas Pitre wrote: >> > readonly if not in reality than in practice. >> >> For those (legacy) filesystems with a signed 32-bit timestamps, any >> attempt to create a timestamp past Jan 19 03:14:06 2038 UTC should be > >> (silently) clamped to 0x7fffffff and that value (the last >representable >> time) used as an overflow indicator. The filesystem driver should >> convert that value into a corresponding overflow value for whatever >> kernel internal time representation being used when read back, and >this >> should be propagated up to user space. It should not be a hard error > >> otherwise, as you rightfully stated, everything non read-only would >come >> to a halt on that day. > >I don't think there is much of a difference between not being able to >write at all and all newly written files having the same timestamp, >causing random things to break differently. > >The clamp to the maximum supported time stamp sounds like a reasonable >choice for 'utimens' and related syscalls for the case of someone >setting an arbitrary future date beyond what the file system can >represent. Then again, I don't see a reason why that shouldn't just >cause an error to be returned. > >For actually running kernels beyond 2038, the best idea I've seen so >far is to disallow all broken code at compile time. I don't see >a choice but to audit the entire kernel for invalid uses on both >32 and 64 bit in the next few years. A lot of code will get changed >in the process so we can actually keep running 32-bit kernels and >file systems, but other code will likely go away: > >* any system calls that pass a time_t, timeval or timespec on > 32-bit systems return -ENOSYS, to ensure all user land uses > the replacements we will put into place >* The definition of 'time_t', 'timval' and 'timespec' can be hidden > from the kernel, and all code using it left out. >* ext2 and ext3 file system code will have to be disabled, but that's > file since ext4 can mount old file systems. >* until xfs gets extended, we can also disiable it at build time. > >For most users, we probably want to leave all that enabled by >default until we get much closer to 2038, but a compile time >option should allow us to test what works or doesn't, and it >can be set by embedded developers that want to ensure their >code keeps running for the next few decades. > > Arnd -- Sent from my mobile phone. Please pardon brevity and lack of formatting. From eflorac@intellique.com Sun Jun 1 15:40:35 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 74FFE7F54 for ; Sun, 1 Jun 2014 15:40:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 56B8C304039 for ; Sun, 1 Jun 2014 13:40:32 -0700 (PDT) X-ASG-Debug-ID: 1401655228-04bdf059a13ccee0001-NocioJ Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [212.27.42.1]) by cuda.sgi.com with ESMTP id mqGvRuXcKnpbPHVL for ; Sun, 01 Jun 2014 13:40:28 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.1 Received: from galadriel.home (unknown [82.235.234.79]) by smtp1-g21.free.fr (Postfix) with ESMTP id 7AA2994012C; Sun, 1 Jun 2014 22:38:33 +0200 (CEST) Date: Sun, 1 Jun 2014 22:40:24 +0200 From: Emmanuel Florac To: Sean Caron Cc: Dave Chinner , xfs@oss.sgi.com Subject: Re: What to do when... xfs_repair hangs? Message-ID: <20140601224024.628372c5@galadriel.home> X-ASG-Orig-Subj: Re: What to do when... xfs_repair hangs? In-Reply-To: References: <20140531000117.GM6677@dastard> Organization: Intellique X-Mailer: Claws Mail 3.7.8 (GTK+ 2.24.4; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp1-g21.free.fr[212.27.42.1] X-Barracuda-Start-Time: 1401655228 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6295 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Sun, 1 Jun 2014 12:21:55 -0400 vous =C3=A9criviez: > Since Dave is saying it's OK to try re-running xfs_repair; it'll just > pick up where it left off; let me give it another pass and see if it > manages to complete, or if it segfaults out again. I guess it it > poops out a second time, maybe we'll just want to consider rebuilding > the filesystem and restoring from our copies? You should definitely try a more up-to-date version of xfs_repair first. In case you're not afraid of running a binary from an unkown source, please find a 3.1.11 binary here: http://update.intellique.com/pub/xfsrepair.tar.gz --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From david@fromorbit.com Sun Jun 1 17:43:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 1A9387F54 for ; Sun, 1 Jun 2014 17:43:29 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0457730405F for ; Sun, 1 Jun 2014 15:43:28 -0700 (PDT) X-ASG-Debug-ID: 1401662602-04cb6c1006ac960001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id fHhodfU763PiK8kQ for ; Sun, 01 Jun 2014 15:43:23 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmB3AIyri1N5LL1sPGdsb2JhbABUBYMHg0WoEAEBAQEBAQaYGwGBCxcDAQEBATg1giUBAQQBOhwjBQsIAxgJJQ8FJQMHGhOIOgfVaxcWhT+IGxEBD0EHhEAEmX+LHItcK4E5 Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Jun 2014 08:13:20 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrETG-0003k0-Fm; Mon, 02 Jun 2014 08:43:18 +1000 Date: Mon, 2 Jun 2014 08:43:18 +1000 From: Dave Chinner To: Mark Tinguely Cc: xfs@oss.sgi.com Subject: Re: [PATCH v2 2/7] xfs: add support FALLOC_FL_COLLAPSE_RANGE for fallocate Message-ID: <20140601224318.GO14410@dastard> X-ASG-Orig-Subj: Re: [PATCH v2 2/7] xfs: add support FALLOC_FL_COLLAPSE_RANGE for fallocate References: <1378132151-2685-1-git-send-email-linkinjeon@gmail.com> <53850F92.7010401@sgi.com> <20140527225138.GD8554@dastard> <53851836.2070301@sgi.com> <20140528002906.GH8554@dastard> <538743E0.70103@sgi.com> <20140531003918.GI14410@dastard> <538A8064.2030304@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538A8064.2030304@sgi.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1401662602 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6298 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, May 31, 2014 at 08:22:44PM -0500, Mark Tinguely wrote: > On 05/30/14 19:39, Dave Chinner wrote: > >On Thu, May 29, 2014 at 09:27:44AM -0500, Mark Tinguely wrote: > >>On 05/27/14 19:29, Dave Chinner wrote: > >>>On Tue, May 27, 2014 at 05:56:54PM -0500, Mark Tinguely wrote: > >>>>A 7-8 hours on spinning rust. This is my burn in test. > >>> > >>>Can you try to narrow the problem down? Otherwise it's going to be a > >>>case of looking for a needle in a haystack.... > >> > >>Nod on the needle in a hay stack if it bmbt is really corrupt. > >> > >>I am running fsstress from xfstests with the top commit 9b7f704, and > >>I don't see any newer fsstress patches since then. > >> > >>I moved the test to another box with a kdump that works on top of > >>tree Linux and grabbed a vmcore. I grabbed a metadata dump of the > >>filesystem after the ASSERT. That should give some idea of what > >>inode/block it was looking up. > >> > >>I sent email to Namjae when I first tripped over this problem in > >>late April. No longer on the face of the earth and I can't look at > >>this until the weekend. > > > >No worries - it looks pretty hard to hit, so it's not something we > >urgently need to track down. Any time you can spare to try to narrow > >it down would be great! > > > >Cheers, > > > >Dave. > > The xfs_inode thinks there are 11 bmbt entries when there should only be 11: > i_df = { > if_bytes = 0xb0, <- here 11 entries 0x10 bytes long > if_real_bytes = 0x100, > if_broot = 0xffff88009f74c680, > if_broot_bytes = 0x28, > if_flags = 0x6, > if_u1 = { > if_extents = 0xffff88033c44a000, <- > if_ext_irec = 0xffff88033c44a000, > if_data = 0xffff88033c44a000 "" > }, > > Looking at the if_extents[]: > > crash> rd ffff88033c44a000 32 > ffff88033c44a000: 8000000000000200 000000b601800021 ........!....... > ffff88033c44a010: 0000000000004400 000000449a000007 .D..........D... > ffff88033c44a020: 0000000000005200 000002f897e00004 .R.............. > ffff88033c44a030: 8000000000005a00 000002f898600033 .Z......3.`..... > ffff88033c44a040: 000000000000c000 000002f89ec00001 ................ > ffff88033c44a050: 0000000000015c00 000005fdfba00010 .\.............. > ffff88033c44a060: 0000000000017c00 00000eab00400006 .|........@..... > ffff88033c44a070: 000000000001f800 00000ec752c00004 ...........R.... > ffff88033c44a080: 0000000000020000 00000e8ae6800004 ................ > ffff88033c44a090: 0000000000020800 00000e7167e00004 ...........gq... > ffff88033c44a0a0: 000000000002bfff ffffffc000a00001 ................ > ^^^^ bad ^^^^ > It appears that current_ext is 10 (11th entry). > The assert is on the bad entry. I don't think that's bad - it looks like a NULL start block which means an in-memory extent. i.e. a delayed allocation block with a indirect reservation of 1 block and a length of ~0x40 blocks? > xfs_db thinks there are 11 entries: > > recs[1-11] = [startoff,startblock,blockcount,extentflag] > 1:[1,372748,33,1] 2:[34,140496,18,0] 3:[52,1557619,53,1] > 4:[105,1557672,27,0] 5:[132,1557699,51,1] 6:[183,1557750,1,0] > 7:[261,3141597,16,0] 8:[277,7690242,6,0] 9:[339,7748246,4,0] > 10:[343,7624500,4,0] 11:[347,7572287,4,0] > > xfs_db> fsb 4262789 > xfs_db> type text > xfs_db> p > 000: 42 4d 41 50 00 00 00 0b ff ff ff ff ff ff ff ff BMAP............ > 010: ff ff ff ff ff ff ff ff 80 00 00 00 00 00 02 00 ................ > 020: 00 00 00 b6 01 80 00 21 00 00 00 00 00 00 44 00 ..............D. > 030: 00 00 00 44 9a 00 00 12 80 00 00 00 00 00 68 00 ...D..........h. > 040: 00 00 02 f8 8e 60 00 35 00 00 00 00 00 00 d2 00 .......5........ > 050: 00 00 02 f8 95 00 00 1b 80 00 00 00 00 01 08 00 ................ > 060: 00 00 02 f8 98 60 00 33 00 00 00 00 00 01 6e 00 .......3......n. > 070: 00 00 02 f8 9e c0 00 01 00 00 00 00 00 02 0a 00 ................ > 080: 00 00 05 fd fb a0 00 10 00 00 00 00 00 02 2a 00 ................ > 090: 00 00 0e ab 00 40 00 06 00 00 00 00 00 02 a6 00 ................ > 0a0: 00 00 0e c7 52 c0 00 04 00 00 00 00 00 02 ae 00 ....R........... > 0b0: 00 00 0e 8a e6 80 00 04 00 00 00 00 00 02 b6 00 ................ > 0c0: 00 00 0e 71 67 e0 00 04 00 00 00 00 00 00 00 00 ...qg........... > 0d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 0e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > This xfs_db is before log replay, but it appears that the 3 extent is > missing in the data fork, everything shifted up and a garbage entry > in entry 11. There's very few identical extents between those two lists - the first is the same, the second has the same start offset and block but is much shorted, and all the others are completely different. So this is looking like a delalloc extent when the code is not expecting it? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Jun 1 17:48:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B98387F54 for ; Sun, 1 Jun 2014 17:48:32 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A4E4C8F8037 for ; Sun, 1 Jun 2014 15:48:29 -0700 (PDT) X-ASG-Debug-ID: 1401662906-04cb6c1009acb80001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id iMrC6G9RAhjLlxws for ; Sun, 01 Jun 2014 15:48:27 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al93AImsi1N5LL1sPGdsb2JhbABYDoJ5g0WoEAEBAQEBAQaYGwGBCxcDAQEBATg1giUBAQU6HCMQCAMOCgklDwUlAwcaE4hB1WwXFoU/iDRJB4RABJl/ixyLClIrgTE Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Jun 2014 08:18:26 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrEYD-0003kf-FD; Mon, 02 Jun 2014 08:48:25 +1000 Date: Mon, 2 Jun 2014 08:48:25 +1000 From: Dave Chinner To: Sean Caron Cc: xfs@oss.sgi.com Subject: Re: What to do when... xfs_repair hangs? Message-ID: <20140601224825.GP14410@dastard> X-ASG-Orig-Subj: Re: What to do when... xfs_repair hangs? References: <20140531000117.GM6677@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1401662906 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6299 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Jun 01, 2014 at 12:21:55PM -0400, Sean Caron wrote: > Sorry, all, I was a little out-of-it on Friday afternoon, of course I had > kicked off xfs_repair actually in the background with all output sent to a > file, and I was just doing 'tail -f' on that file. > > So I kill the 'tail -f' and jump back to the command line, it appears that > xfs_repair segfaulted and died. > > That line of text: > > disconnected inode 1109099673, > > was indeed the last thing that it printed before it crashed. > > If I look in dmesg, I just see - > > xfs_repair[6770]: segfault at 28 ip 000000000042307b sp 00007fffef61bad0 > error 4 in xfs_repair[400000+72000] > > and that's it. > > I checked with 'df' and there's plenty of space everywhere; I don't see why > it would have faulted out trying to connect something to lost+found. > > Underlying storage should be good; this is basically a RAID 60 built on top > of a bunch of JBODs with LSI SAS9200 cards. MD sees all strings as started > and running OK; no problems getting the array assembled at all. > > Since Dave is saying it's OK to try re-running xfs_repair; it'll just pick > up where it left off; let me give it another pass and see if it manages to > complete, or if it segfaults out again. I guess it it poops out a second > time, maybe we'll just want to consider rebuilding the filesystem and > restoring from our copies? You should update to the latest version of xfs_repair first (3.2.0). If that still crashes, running xfs-repair under gdb to get a stack trace would be a good start, or sending me a metadump image so I can reproduce the crash myself would be even better... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Jun 1 19:28:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 534647F54 for ; Sun, 1 Jun 2014 19:28:34 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 047A18F8039 for ; Sun, 1 Jun 2014 17:28:30 -0700 (PDT) X-ASG-Debug-ID: 1401668906-04bdf059a03d9420001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id Vv0SqXgvLbC9eZIq for ; Sun, 01 Jun 2014 17:28:27 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Akx4AC/Ei1N5LL1sPGdsb2JhbABYgwdSgnOoBQsBAQEBAQEGhxlckCYBgQ4XAwEBAQE4NYIlAQEFGg0THCMQCAMVAwklDwUlAwcaE4hB1gUWhT+IND4LB4RABJl/gT+JXYIiiTorgTEBHgY Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Jun 2014 09:58:24 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrG6w-0003vU-PD; Mon, 02 Jun 2014 10:28:22 +1000 Date: Mon, 2 Jun 2014 10:28:22 +1000 From: Dave Chinner To: Arnd Bergmann Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602002822.GQ14410@dastard> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5389252A.5050503@zytor.com> <20140531011450.GJ14410@dastard> <5507340.nVBP5LFtqn@wuerfel> <20140601002437.GL14410@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140601002437.GL14410@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1401668906 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=FUZZY_VPILL X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6301 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 FUZZY_VPILL BODY: Attempt to obfuscate words in spam On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > In my list at http://kernelnewbies.org/y2038, I found that almost > > all file systems at least times until 2106, because they treat > > the on-disk value as unsigned on 64-bit systems, or they use > > a completely different representation. My guess is that somebody > > earlier spent a lot of work on making that happen. > > > > The exceptions are: > > > > * exofs uses signed values, which can probably be changed to be > > consistent with the others. > > * isofs has a bug that limits it until 2027 on architectures with > > a signed 'char' type (otherwise it's 2155). > > * udf can represent times for many thousands of years through a > > 16-bit year representation, but the code to convert to epoch > > uses a const array that ends at 2038. > > * afs uses signed seconds and can probably be fixed > > * coda relies on user space time representation getting passed > > through an ioctl. > > * I miscategorized xfs/ext2/ext3 as having unsigned 32-bit seconds, > > where they really use signed. > > > > I was confused about XFS since I didn't noticed that there are > > separate xfs_ictimestamp_t and xfs_timestamp_t types, so I expected > > XFS to also use the 1970-2106 time range on 64-bit systems today. > > You've missed an awful lot more than just the implications for the > core kernel code. > > There's a good chance such changes propagate to APIs elsewhere in > the filesystems, because something you haven't realised is that XFS > effectively exposes the on-disk timestamp format directly to > userspace via the bulkstat interface (see struct xfs_bstat). It also > affects the XFS open-by-handle ioctl and the swap extent ioctl used > by the online defragmenter. > > IOWs, if we are changing the on-disk timestamp format then this > affects several ioctl()s and hence quite a few of the XFS userspace > utilities. The hardest to fix will be xfsdump which would need a new > dump format to store the extended timestamp ranges, and then > xfs_restore will need to be able to handle restoring such timestamps > on filesystems that don't have extended timestamp support... > > Put simply, changing the structure of system time isn't as straight > forward as changing the kernel structures. System time gets stored > permanently, and that has a cascade effect through the kernel all > to all of the filesystem utilities that know about that permanent > storage in some way.... > > So yes, you can change the kernel definition, but until the > permanent storage of system time can be extended to support the same > range as the kernel the *system* will still have nasty, silent epoch > overflow, truncation or corruption issues. Just to put that in context, here's the kernel patch to add extended epoch support to XFS. It's completely untested as I haven't done any userspace code changes to enable the feature. However, it should give you an indication of how far the simple act of changing the kernel time representation spread through the filesystem. This does not include any of the VFS infrastructure to specifying the range of supported timestamps. It survives some smoke testing, but dies when the online defragmenter starts using the bulkstat and swap extent ioctls (the assert in xfs_inode_time_from_epoch() fires), so I probably don't have that all sorted correctly yet... To test extended epoch support, however, I need to some fstests that define and validate the behaviour of the new syscalls - until we get those we can't validate that the filesystem follows the spec properly. I also suspect we are going to need an interface to query the supported range of timestamps from a filesystem so that we can test boundary conditions in an automated fashion.... Cheers, Dave. -- Dave Chinner david@fromorbit.com xfs: support timestamps beyond Unix epochs From: Dave Chinner The 32 bit second counters in timestamps are too small to represent time beyond the unix epoch (jan 2038) correctly. Extend the on-disk format for a timestamp to include an 8-bit epoch counter so that we can extend time for up to 255 Unix epochs. This should be good for representing timestamps from 1970 to somewhere around 19,000 A.D.... Signed-off-by: Dave Chinner --- fs/xfs/time.h | 7 ------ fs/xfs/xfs_bmap_util.c | 35 +++++++++++++++++----------- fs/xfs/xfs_dinode.h | 48 ++++++++++++++++++++++++++++++++++++++- fs/xfs/xfs_fs.h | 9 +++++++- fs/xfs/xfs_fsops.c | 5 +++- fs/xfs/xfs_inode.c | 16 ++++++++++--- fs/xfs/xfs_inode_buf.c | 8 +++++++ fs/xfs/xfs_ioctl32.c | 3 +++ fs/xfs/xfs_ioctl32.h | 5 +++- fs/xfs/xfs_iops.c | 59 +++++++++++++++++++++++++++++++----------------- fs/xfs/xfs_itable.c | 12 ++++++++++ fs/xfs/xfs_log_format.h | 4 ++++ fs/xfs/xfs_sb.h | 12 +++++++++- fs/xfs/xfs_trans_inode.c | 2 +- 14 files changed, 175 insertions(+), 50 deletions(-) diff --git a/fs/xfs/time.h b/fs/xfs/time.h index 387e695..9f38d60 100644 --- a/fs/xfs/time.h +++ b/fs/xfs/time.h @@ -21,16 +21,9 @@ #include #include -typedef struct timespec timespec_t; - static inline void delay(long ticks) { schedule_timeout_uninterruptible(ticks); } -static inline void nanotime(struct timespec *tvp) -{ - *tvp = CURRENT_TIME; -} - #endif /* __XFS_SUPPORT_TIME_H__ */ diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 703b3ec..dbc9a74 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1686,6 +1686,7 @@ xfs_swap_extents( int aforkblks = 0; int taforkblks = 0; __uint64_t tmp; + struct timespec tv; tempifp = kmem_alloc(sizeof(xfs_ifork_t), KM_MAYFAIL); if (!tempifp) { @@ -1746,25 +1747,33 @@ xfs_swap_extents( } /* - * Compare the current change & modify times with that - * passed in. If they differ, we abort this swap. - * This is the mechanism used to ensure the calling - * process that the file was not changed out from + * Compare the current change & modify times with that passed in. If + * they differ, we abort this swap. This is the mechanism used to + * ensure the calling process that the file was not changed out from * under it. */ - if ((sbp->bs_ctime.tv_sec != VFS_I(ip)->i_ctime.tv_sec) || - (sbp->bs_ctime.tv_nsec != VFS_I(ip)->i_ctime.tv_nsec) || - (sbp->bs_mtime.tv_sec != VFS_I(ip)->i_mtime.tv_sec) || - (sbp->bs_mtime.tv_nsec != VFS_I(ip)->i_mtime.tv_nsec)) { + tv.tv_sec = xfs_inode_time_from_epoch(sbp->bs_ctime.tv_sec, + sbp->bs_ctime_epoch); + tv.tv_nsec = sbp->bs_ctime.tv_nsec; + if (timespec_compare(&tv, &VFS_I(ip)->i_ctime)) { error = XFS_ERROR(EBUSY); goto out_unlock; } - /* We need to fail if the file is memory mapped. Once we have tossed - * all existing pages, the page fault will have no option - * but to go to the filesystem for pages. By making the page fault call - * vop_read (or write in the case of autogrow) they block on the iolock - * until we have switched the extents. + tv.tv_sec = xfs_inode_time_from_epoch(sbp->bs_mtime.tv_sec, + sbp->bs_mtime_epoch); + tv.tv_nsec = sbp->bs_mtime.tv_nsec; + if (timespec_compare(&tv, &VFS_I(ip)->i_mtime)) { + error = XFS_ERROR(EBUSY); + goto out_unlock; + } + + /* + * We need to fail if the file is memory mapped. Once we have tossed + * all existing pages, the page fault will have no option but to go to + * the filesystem for pages. By making the page fault call vop_read (or + * write in the case of autogrow) they block on the iolock until we have + * switched the extents. */ if (VN_MAPPED(VFS_I(ip))) { error = XFS_ERROR(EBUSY); diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h index 623bbe8..79f94722 100644 --- a/fs/xfs/xfs_dinode.h +++ b/fs/xfs/xfs_dinode.h @@ -21,11 +21,53 @@ #define XFS_DINODE_MAGIC 0x494e /* 'IN' */ #define XFS_DINODE_GOOD_VERSION(v) ((v) >= 1 && (v) <= 3) +/* + * Inode timestamps get more complex when we consider supporting times beyond + * the standard unix epoch of Jan 2038. The struct xfs_timestamp cannot support + * more than a single extension by playing sign games, and that is still not + * reliable. We also can't extend the timestamp structure because there is no + * free space around them in the on-disk inode. + * + * Hence the simplest thing to do is to add an epoch counter for each timestamp + * in the inode. This can be a single byte for each timestamp and make use of + * a hole we currently pad. This gives us another 255 epochs range for the + * timestamps, but requires a superblock feature bit to indicate that these + * fields have meaning and can be non-zero. + * + * Provide wrapper functions for converting the kernel inode time format to + * the on-disk fields. The nanosecond counter is unlikely to change in future, + * so it's mostly just for the second+epoch counter conversion. + */ typedef struct xfs_timestamp { __be32 t_sec; /* timestamp seconds */ __be32 t_nsec; /* timestamp nanoseconds */ } xfs_timestamp_t; +static inline __uint8_t +xfs_timestamp_epoch( + struct timespec *time) +{ + /* will be zero until the extended struct inode_time is introduced */ + return 0; +} + +static inline __int32_t +xfs_timestamp_sec( + struct timespec *time) +{ + return time->tv_sec; +} + +static inline __kernel_time_t +xfs_inode_time_from_epoch( + __uint8_t epoch, + __int32_t seconds) +{ + /* need to handle non-zero epoch when struct inode_time is introduced */ + ASSERT(epoch == 0); + return seconds; +} + /* * On-disk inode structure. * @@ -54,7 +96,11 @@ typedef struct xfs_dinode { __be32 di_nlink; /* number of links to file */ __be16 di_projid_lo; /* lower part of owner's project id */ __be16 di_projid_hi; /* higher part owner's project id */ - __u8 di_pad[6]; /* unused, zeroed space */ + __u8 di_atime_epoch; /* access time epoch */ + __u8 di_mtime_epoch; /* modify time epoch */ + __u8 di_ctime_epoch; /* change time epoch */ + __u8 di_crtime_epoch;/* create time epoch */ + __u8 di_pad[2]; /* unused, zeroed space */ __be16 di_flushiter; /* incremented on flush */ xfs_timestamp_t di_atime; /* time last accessed */ xfs_timestamp_t di_mtime; /* time last modified */ diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index d34703d..fb0a0ea 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -239,6 +239,7 @@ typedef struct xfs_fsop_resblks { #define XFS_FSOP_GEOM_FLAGS_V5SB 0x8000 /* version 5 superblock */ #define XFS_FSOP_GEOM_FLAGS_FTYPE 0x10000 /* inode directory types */ #define XFS_FSOP_GEOM_FLAGS_FINOBT 0x20000 /* free inode btree */ +#define XFS_FSOP_GEOM_FLAGS_EPOCH 0x40000 /* timestamp epochs */ /* * Minimum and maximum sizes need for growth checks. @@ -280,6 +281,9 @@ typedef struct xfs_growfs_rt { /* * Structures returned from ioctl XFS_IOC_FSBULKSTAT & XFS_IOC_FSBULKSTAT_SINGLE + * + * Time epoch structures are only used if the XFS_FSOP_GEOM_FLAGS_EPOCH flag is + * asserted in the geometry output. */ typedef struct xfs_bstime { time_t tv_sec; /* seconds */ @@ -307,7 +311,10 @@ typedef struct xfs_bstat { #define bs_projid bs_projid_lo /* (previously just bs_projid) */ __u16 bs_forkoff; /* inode fork offset in bytes */ __u16 bs_projid_hi; /* higher part of project id */ - unsigned char bs_pad[10]; /* pad space, unused */ + __u8 bs_atime_epoch; /* access time epoch */ + __u8 bs_mtime_epoch; /* modify time epoch */ + __u8 bs_ctime_epoch; /* change time epoch */ + unsigned char bs_pad[7]; /* pad space, unused */ __u32 bs_dmevmask; /* DMIG event mask */ __u16 bs_dmstate; /* DMIG state info */ __u16 bs_aextents; /* attribute number of extents */ diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index d229556..7b8db57 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -103,7 +103,10 @@ xfs_fs_geometry( (xfs_sb_version_hasftype(&mp->m_sb) ? XFS_FSOP_GEOM_FLAGS_FTYPE : 0) | (xfs_sb_version_hasfinobt(&mp->m_sb) ? - XFS_FSOP_GEOM_FLAGS_FINOBT : 0); + XFS_FSOP_GEOM_FLAGS_FINOBT : 0) | + (xfs_sb_version_hasepoch(&mp->m_sb) ? + XFS_FSOP_GEOM_FLAGS_EPOCH : 0); + geo->logsectsize = xfs_sb_version_hassector(&mp->m_sb) ? mp->m_sb.sb_logsectsize : BBSIZE; geo->rtsectsize = mp->m_sb.sb_blocksize; diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index a6115fe..eecae93 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -654,7 +654,8 @@ xfs_ialloc( xfs_inode_t *ip; uint flags; int error; - timespec_t tv; + struct timespec tv; + bool has_epoch; /* * Call the space management code to pick @@ -720,12 +721,19 @@ xfs_ialloc( ip->i_d.di_nextents = 0; ASSERT(ip->i_d.di_nblocks == 0); - nanotime(&tv); - ip->i_d.di_mtime.t_sec = (__int32_t)tv.tv_sec; + has_epoch = xfs_sb_version_hasepoch(&mp->m_sb); + tv = current_fs_time(mp->m_super); + ip->i_d.di_mtime.t_sec = xfs_timestamp_sec(&tv); ip->i_d.di_mtime.t_nsec = (__int32_t)tv.tv_nsec; ip->i_d.di_atime = ip->i_d.di_mtime; ip->i_d.di_ctime = ip->i_d.di_mtime; + if (has_epoch) { + ip->i_d.di_mtime_epoch = xfs_timestamp_epoch(&tv); + ip->i_d.di_atime_epoch = ip->i_d.di_mtime_epoch; + ip->i_d.di_ctime_epoch = ip->i_d.di_mtime_epoch; + } + /* * di_gen will have been taken care of in xfs_iread. */ @@ -743,6 +751,8 @@ xfs_ialloc( ip->i_d.di_flags2 = 0; memset(&(ip->i_d.di_pad2[0]), 0, sizeof(ip->i_d.di_pad2)); ip->i_d.di_crtime = ip->i_d.di_mtime; + if (has_epoch) + ip->i_d.di_crtime_epoch = ip->i_d.di_mtime_epoch; } diff --git a/fs/xfs/xfs_inode_buf.c b/fs/xfs/xfs_inode_buf.c index cb35ae4..0459e3d 100644 --- a/fs/xfs/xfs_inode_buf.c +++ b/fs/xfs/xfs_inode_buf.c @@ -208,6 +208,10 @@ xfs_dinode_from_disk( to->di_nlink = be32_to_cpu(from->di_nlink); to->di_projid_lo = be16_to_cpu(from->di_projid_lo); to->di_projid_hi = be16_to_cpu(from->di_projid_hi); + to->di_atime_epoch = from->di_atime_epoch; + to->di_mtime_epoch = from->di_mtime_epoch; + to->di_ctime_epoch = from->di_ctime_epoch; + to->di_crtime_epoch = from->di_crtime_epoch; memcpy(to->di_pad, from->di_pad, sizeof(to->di_pad)); to->di_flushiter = be16_to_cpu(from->di_flushiter); to->di_atime.t_sec = be32_to_cpu(from->di_atime.t_sec); @@ -255,6 +259,10 @@ xfs_dinode_to_disk( to->di_nlink = cpu_to_be32(from->di_nlink); to->di_projid_lo = cpu_to_be16(from->di_projid_lo); to->di_projid_hi = cpu_to_be16(from->di_projid_hi); + to->di_atime_epoch = from->di_atime_epoch; + to->di_mtime_epoch = from->di_mtime_epoch; + to->di_ctime_epoch = from->di_ctime_epoch; + to->di_crtime_epoch = from->di_crtime_epoch; memcpy(to->di_pad, from->di_pad, sizeof(to->di_pad)); to->di_atime.t_sec = cpu_to_be32(from->di_atime.t_sec); to->di_atime.t_nsec = cpu_to_be32(from->di_atime.t_nsec); diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index 944d5ba..215324f 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -161,6 +161,9 @@ xfs_ioctl32_bstat_copyin( get_user(bstat->bs_gen, &bstat32->bs_gen) || get_user(bstat->bs_projid_lo, &bstat32->bs_projid_lo) || get_user(bstat->bs_projid_hi, &bstat32->bs_projid_hi) || + get_user(bstat->bs_atime_epoch, &bstat32->bs_atime_epoch) || + get_user(bstat->bs_mtime_epoch, &bstat32->bs_mtime_epoch) || + get_user(bstat->bs_ctime_epoch, &bstat32->bs_ctime_epoch) || get_user(bstat->bs_dmevmask, &bstat32->bs_dmevmask) || get_user(bstat->bs_dmstate, &bstat32->bs_dmstate) || get_user(bstat->bs_aextents, &bstat32->bs_aextents)) diff --git a/fs/xfs/xfs_ioctl32.h b/fs/xfs/xfs_ioctl32.h index 80f4060..2a35c62 100644 --- a/fs/xfs/xfs_ioctl32.h +++ b/fs/xfs/xfs_ioctl32.h @@ -68,7 +68,10 @@ typedef struct compat_xfs_bstat { __u16 bs_projid_lo; /* lower part of project id */ #define bs_projid bs_projid_lo /* (previously just bs_projid) */ __u16 bs_projid_hi; /* high part of project id */ - unsigned char bs_pad[12]; /* pad space, unused */ + __u8 bs_atime_epoch; /* access time epoch */ + __u8 bs_mtime_epoch; /* modify time epoch */ + __u8 bs_ctime_epoch; /* change time epoch */ + unsigned char bs_pad[9]; /* pad space, unused */ __u32 bs_dmevmask; /* DMIG event mask */ __u16 bs_dmstate; /* DMIG state info */ __u16 bs_aextents; /* attribute number of extents */ diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index 205613a..0588381 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -505,23 +505,34 @@ xfs_setattr_time( struct iattr *iattr) { struct inode *inode = VFS_I(ip); + bool has_epoch; ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); + has_epoch = xfs_sb_version_hasepoch(&ip->i_mount->m_sb); if (iattr->ia_valid & ATTR_ATIME) { inode->i_atime = iattr->ia_atime; - ip->i_d.di_atime.t_sec = iattr->ia_atime.tv_sec; - ip->i_d.di_atime.t_nsec = iattr->ia_atime.tv_nsec; + ip->i_d.di_atime.t_sec = xfs_timestamp_sec(&iattr->ia_atime); + ip->i_d.di_atime.t_nsec = (__int32_t)iattr->ia_atime.tv_nsec; + if (has_epoch) + ip->i_d.di_atime_epoch = + xfs_timestamp_epoch(&iattr->ia_atime); } if (iattr->ia_valid & ATTR_CTIME) { inode->i_ctime = iattr->ia_ctime; - ip->i_d.di_ctime.t_sec = iattr->ia_ctime.tv_sec; - ip->i_d.di_ctime.t_nsec = iattr->ia_ctime.tv_nsec; + ip->i_d.di_ctime.t_sec = xfs_timestamp_sec(&iattr->ia_ctime); + ip->i_d.di_ctime.t_nsec = (__int32_t)iattr->ia_ctime.tv_nsec; + if (has_epoch) + ip->i_d.di_ctime_epoch = + xfs_timestamp_epoch(&iattr->ia_ctime); } if (iattr->ia_valid & ATTR_MTIME) { inode->i_mtime = iattr->ia_mtime; - ip->i_d.di_mtime.t_sec = iattr->ia_mtime.tv_sec; - ip->i_d.di_mtime.t_nsec = iattr->ia_mtime.tv_nsec; + ip->i_d.di_mtime.t_sec = xfs_timestamp_sec(&iattr->ia_mtime); + ip->i_d.di_mtime.t_nsec = (__int32_t)iattr->ia_mtime.tv_nsec; + if (has_epoch) + ip->i_d.di_mtime_epoch = + xfs_timestamp_epoch(&iattr->ia_mtime); } } @@ -963,6 +974,7 @@ xfs_vn_update_time( struct xfs_mount *mp = ip->i_mount; struct xfs_trans *tp; int error; + struct iattr iattr = {0}; trace_xfs_update_time(ip); @@ -975,20 +987,19 @@ xfs_vn_update_time( xfs_ilock(ip, XFS_ILOCK_EXCL); if (flags & S_CTIME) { - inode->i_ctime = *now; - ip->i_d.di_ctime.t_sec = (__int32_t)now->tv_sec; - ip->i_d.di_ctime.t_nsec = (__int32_t)now->tv_nsec; + iattr.ia_valid |= ATTR_CTIME; + iattr.ia_ctime = *now; } if (flags & S_MTIME) { - inode->i_mtime = *now; - ip->i_d.di_mtime.t_sec = (__int32_t)now->tv_sec; - ip->i_d.di_mtime.t_nsec = (__int32_t)now->tv_nsec; + iattr.ia_valid |= ATTR_MTIME; + iattr.ia_mtime = *now; } if (flags & S_ATIME) { - inode->i_atime = *now; - ip->i_d.di_atime.t_sec = (__int32_t)now->tv_sec; - ip->i_d.di_atime.t_nsec = (__int32_t)now->tv_nsec; + iattr.ia_valid |= ATTR_ATIME; + iattr.ia_atime = *now; } + xfs_setattr_time(ip, &iattr); + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_log_inode(tp, ip, XFS_ILOG_TIMESTAMP); return -xfs_trans_commit(tp, 0); @@ -1239,12 +1250,18 @@ xfs_setup_inode( inode->i_generation = ip->i_d.di_gen; i_size_write(inode, ip->i_d.di_size); - inode->i_atime.tv_sec = ip->i_d.di_atime.t_sec; - inode->i_atime.tv_nsec = ip->i_d.di_atime.t_nsec; - inode->i_mtime.tv_sec = ip->i_d.di_mtime.t_sec; - inode->i_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec; - inode->i_ctime.tv_sec = ip->i_d.di_ctime.t_sec; - inode->i_ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; + inode->i_atime.tv_sec = xfs_inode_time_from_epoch( + ip->i_d.di_atime_epoch, + ip->i_d.di_atime.t_sec); + inode->i_atime.tv_nsec = ip->i_d.di_atime.t_nsec; + inode->i_mtime.tv_sec = xfs_inode_time_from_epoch( + ip->i_d.di_mtime_epoch, + ip->i_d.di_mtime.t_sec); + inode->i_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec; + inode->i_ctime.tv_sec = xfs_inode_time_from_epoch( + ip->i_d.di_ctime_epoch, + ip->i_d.di_ctime.t_sec); + inode->i_ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; xfs_diflags_to_iflags(inode, ip); ip->d_ops = ip->i_mount->m_nondir_inode_ops; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index cb64f22..e902418 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -97,12 +97,24 @@ xfs_bulkstat_one_int( buf->bs_uid = dic->di_uid; buf->bs_gid = dic->di_gid; buf->bs_size = dic->di_size; + + /* timestamp epochs are emitted only when configured */ buf->bs_atime.tv_sec = dic->di_atime.t_sec; buf->bs_atime.tv_nsec = dic->di_atime.t_nsec; buf->bs_mtime.tv_sec = dic->di_mtime.t_sec; buf->bs_mtime.tv_nsec = dic->di_mtime.t_nsec; buf->bs_ctime.tv_sec = dic->di_ctime.t_sec; buf->bs_ctime.tv_nsec = dic->di_ctime.t_nsec; + if (xfs_sb_version_hasepoch(&mp->m_sb)) { + buf->bs_atime_epoch = dic->di_atime_epoch; + buf->bs_mtime_epoch = dic->di_mtime_epoch; + buf->bs_ctime_epoch = dic->di_ctime_epoch; + } else { + buf->bs_atime_epoch = 0; + buf->bs_mtime_epoch = 0; + buf->bs_ctime_epoch = 0; + } + buf->bs_xflags = xfs_ip2xflags(ip); buf->bs_extsize = dic->di_extsize << mp->m_sb.sb_blocklog; buf->bs_extents = dic->di_nextents; diff --git a/fs/xfs/xfs_log_format.h b/fs/xfs/xfs_log_format.h index f0969c7..abac6ad 100644 --- a/fs/xfs/xfs_log_format.h +++ b/fs/xfs/xfs_log_format.h @@ -374,6 +374,10 @@ typedef struct xfs_icdinode { __uint32_t di_nlink; /* number of links to file */ __uint16_t di_projid_lo; /* lower part of owner's project id */ __uint16_t di_projid_hi; /* higher part of owner's project id */ + __uint8_t di_atime_epoch; /* access time epoch */ + __uint8_t di_mtime_epoch; /* modify time epoch */ + __uint8_t di_ctime_epoch; /* change time epoch */ + __uint8_t di_crtime_epoch;/* create time epoch */ __uint8_t di_pad[6]; /* unused, zeroed space */ __uint16_t di_flushiter; /* incremented on flush */ xfs_ictimestamp_t di_atime; /* time last accessed */ diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h index c43c2d6..1b3ccd8 100644 --- a/fs/xfs/xfs_sb.h +++ b/fs/xfs/xfs_sb.h @@ -509,8 +509,11 @@ xfs_sb_has_ro_compat_feature( } #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ +#define XFS_SB_FEAT_INCOMPAT_EPOCH (1 << 1) /* Time beyond 2038 */ #define XFS_SB_FEAT_INCOMPAT_ALL \ - (XFS_SB_FEAT_INCOMPAT_FTYPE) + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ + XFS_SB_FEAT_INCOMPAT_EPOCH | \ + 0) #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL static inline bool @@ -558,6 +561,13 @@ static inline int xfs_sb_version_hasfinobt(xfs_sb_t *sbp) (sbp->sb_features_ro_compat & XFS_SB_FEAT_RO_COMPAT_FINOBT); } +static inline int xfs_sb_version_hasepoch(xfs_sb_t *sbp) +{ + return (XFS_SB_VERSION_NUM(sbp) == XFS_SB_VERSION_5) && + (sbp->sb_features_incompat & XFS_SB_FEAT_INCOMPAT_EPOCH); +} + + /* * end of superblock version macros */ diff --git a/fs/xfs/xfs_trans_inode.c b/fs/xfs/xfs_trans_inode.c index 50c3f56..cdb4d86 100644 --- a/fs/xfs/xfs_trans_inode.c +++ b/fs/xfs/xfs_trans_inode.c @@ -70,7 +70,7 @@ xfs_trans_ichgtime( int flags) { struct inode *inode = VFS_I(ip); - timespec_t tv; + struct timespec tv; ASSERT(tp); ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); From climmural@gmail.com Sun Jun 1 20:10:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 72B9B7F54 for ; Sun, 1 Jun 2014 20:10:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0573EAC002 for ; Sun, 1 Jun 2014 18:10:05 -0700 (PDT) X-ASG-Debug-ID: 1401671398-04cb6c1009b2fe0001-NocioJ Received: from [175.184.136.46] ([175.184.136.46]) by cuda.sgi.com with SMTP id FqOtiJZShniJcqNY for ; Sun, 01 Jun 2014 18:09:59 -0700 (PDT) X-Barracuda-Envelope-From: climmural@gmail.com X-Barracuda-Apparent-Source-IP: 175.184.136.46 Reply-To: climmural@gmail.com From: climmural@gmail.com To: xfs@oss.sgi.com Subject: Climatiseur Mural promo Sender: climmural@gmail.com X-ASG-Orig-Subj: Climatiseur Mural promo Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Date: Mon, 2 Jun 2014 08:59:40 +0800 X-Barracuda-Connect: UNKNOWN[175.184.136.46] X-Barracuda-Start-Time: 1401671399 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.74 X-Barracuda-Spam-Status: No, SCORE=0.74 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, MISSING_MID, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6302 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 NO_REAL_NAME From: does not include a real name 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Message-Id: <20140602011005.87C521296194@cuda.sgi.com> Climatisation Murale N’attendez pas la prochaine canicule. Climatiseurs muraux 9000 à 18000 BTU muni de compresseur Toshiba garanti de 5 ans À partir de 1295$ installation comprise. Prix imbattables sur nos produits de marque Napoléon Climatisation Déshumidification Chauffage jusqu'à - 15 Celsius (avec arrêt automatique) DC Inverter Compresseur Toshiba garantie 6 ans complète Appareil certifié Energy Star Éligible à une subvention de 650$ Appareil haut de gamme à prix imbattables 12 000 BTU à partir de 2195$ installation comprise Contactez-nous: Frigor - Groupe Senick RBQ: 8355-1929-45 Service rapide et professionnel Réservez maintenant 514 792- 6461 450 441- 1235 Sans frais: 1 800 678- 1673 From "info..."@financier.com Sun Jun 1 20:21:34 2014 Return-Path: <"info..."@financier.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.5 required=5.0 tests=FREEMAIL_FROM,FREEMAIL_REPLY, SUBJ_ALL_CAPS autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 55AA229DF8 for ; Sun, 1 Jun 2014 20:21:34 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 236BC8F8040 for ; Sun, 1 Jun 2014 18:21:31 -0700 (PDT) X-ASG-Debug-ID: 1401672085-04bdf059a03dd010001-NocioJ Received: from mail.vps.com ([168.62.9.222]) by cuda.sgi.com with ESMTP id KB3n4OdtOqjArUAY; Sun, 01 Jun 2014 18:21:26 -0700 (PDT) X-Barracuda-Envelope-From: info...@financier.com X-Barracuda-Apparent-Source-IP: 168.62.9.222 Received: from [168.62.9.222] (localhost [IPv6:::1]) by mail.vps.com (Postfix) with ESMTP id 60C1221F16; Sun, 1 Jun 2014 19:41:27 +0000 (UTC) Received: from 64.237.38.43 (SquirrelMail authenticated user admin) by 168.62.9.222 with HTTP; Sun, 1 Jun 2014 19:41:27 -0000 Message-ID: <1b4233ea427ac9fd033273fc6fbb533e.squirrel@168.62.9.222> Date: Sun, 1 Jun 2014 19:41:27 -0000 Subject: QUALITY LOAN CHANCE/TRUSTEE!!! From: "PINNACLE INVESTMENT" <"info..."@financier.com> X-ASG-Orig-Subj: QUALITY LOAN CHANCE/TRUSTEE!!! User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: UNKNOWN[168.62.9.222] X-Barracuda-Start-Time: 1401672086 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.20 X-Barracuda-Spam-Status: No, SCORE=2.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MAILTO_TO_SPAM_ADDR, PLING_PLING, RDNS_NONE, SUBJ_ALL_CAPS, SUBJ_ALL_CAPS_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6302 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email 0.46 PLING_PLING Subject has lots of exclamation marks 0.01 SUBJ_ALL_CAPS Subject is all capitals 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 1.62 SUBJ_ALL_CAPS_2 SUBJ_ALL_CAPS_2 I’m an investor and Lender, I am interested in funding good business plans, we render Construction funds, 100% JV Equity, Low Income Housing, Large-Scale Debt, Small Balance, DIP(Debtor in Possession), Apt. Equity Participation, Non Recourse for Multi Family & Assisted Living, Commercial Bridge/Hard Money, Mezzanine Programs, Income Producing Property, Commercial Land Development, Stock Loans, beneficiary trust fund as well as seed capital. Our interest rate is 4% per annum. Interested in getting your project funding, Feel free to contact me on email: pinnacleinvestment12@gmail.com Regards, Mrs Rose Normand From nicolas.pitre@linaro.org Sun Jun 1 20:36:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 59D7F29DF8 for ; Sun, 1 Jun 2014 20:36:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 323B1304032 for ; Sun, 1 Jun 2014 18:36:30 -0700 (PDT) X-ASG-Debug-ID: 1401672988-04cb6c1006b4110001-NocioJ Received: from mail-qa0-f50.google.com (mail-qa0-f50.google.com [209.85.216.50]) by cuda.sgi.com with ESMTP id GfWKUm6dN3jx97Bz (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 01 Jun 2014 18:36:28 -0700 (PDT) X-Barracuda-Envelope-From: nicolas.pitre@linaro.org X-Barracuda-Apparent-Source-IP: 209.85.216.50 Received: by mail-qa0-f50.google.com with SMTP id j15so1831444qaq.23 for ; Sun, 01 Jun 2014 18:36:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; bh=WUXjXLxeS/njWujENUJoaf6O/MmNgZcBLK8tBngqma0=; b=WLilNzCgfpTqaOmh2ejr7NZ/Bo8h8o/TiGmujduJPfrQSxSPSBWc9TnuLpMHFihbgX T+t/a5lkte24fWNnzZ8+qtFxvQbCay8uKDwCll/YRMeUoeojxWu+2dxXz4dmJ3ahoYWH FJghCT4J2Fx7mOqiMqUQfw5klzjgbpdSAgbAKnvJx6ZdZNZBnMO9PYT3zD8t+fRq4lT0 CKKPgDqvdtrm8N2r7uBIf4l4S1LKU5FBkr7TnQpwGWZ2WICopqXmeQJ7bTwt90EUGy9e jHOGCanxisvh+vwCCU+9EhnbgRaOjy038N+Kd+59dW9PXVC6qtRBi3zyXivq1sfIEqGM E6jw== X-Gm-Message-State: ALoCoQm6ru+GdOC1r+SKXN6CKsM3ymXmV0zsaGmNz0B3u0rK/86TIAKlA/8zRXuifZ9lYPGzPdLc X-Received: by 10.224.25.133 with SMTP id z5mr44869637qab.97.1401672988159; Sun, 01 Jun 2014 18:36:28 -0700 (PDT) Received: from xanadu.home (modemcable177.143-130-66.mc.videotron.ca. [66.130.143.177]) by mx.google.com with ESMTPSA id 73sm7420237qgw.5.2014.06.01.18.36.26 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 01 Jun 2014 18:36:27 -0700 (PDT) Date: Sun, 1 Jun 2014 21:36:26 -0400 (EDT) From: Nicolas Pitre To: Arnd Bergmann cc: "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <8618458.1EVJCoVbkH@wuerfel> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <538995D4.9050702@zytor.com> <8618458.1EVJCoVbkH@wuerfel> User-Agent: Alpine 2.11 (LFD 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: mail-qa0-f50.google.com[209.85.216.50] X-Barracuda-Start-Time: 1401672988 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6302 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, 1 Jun 2014, Arnd Bergmann wrote: > On Saturday 31 May 2014 11:46:16 Nicolas Pitre wrote: > > > readonly if not in reality than in practice. > > > > For those (legacy) filesystems with a signed 32-bit timestamps, any > > attempt to create a timestamp past Jan 19 03:14:06 2038 UTC should be > > (silently) clamped to 0x7fffffff and that value (the last representable > > time) used as an overflow indicator. The filesystem driver should > > convert that value into a corresponding overflow value for whatever > > kernel internal time representation being used when read back, and this > > should be propagated up to user space. It should not be a hard error > > otherwise, as you rightfully stated, everything non read-only would come > > to a halt on that day. > > I don't think there is much of a difference between not being able to > write at all and all newly written files having the same timestamp, > causing random things to break differently. Well, in one case you have a crash certitude. In the other case you have some probability that your system might still be usable. > The clamp to the maximum supported time stamp sounds like a reasonable > choice for 'utimens' and related syscalls for the case of someone > setting an arbitrary future date beyond what the file system can > represent. Then again, I don't see a reason why that shouldn't just > cause an error to be returned. Resiliance is better than outright failure. > For actually running kernels beyond 2038, the best idea I've seen so > far is to disallow all broken code at compile time. I don't see > a choice but to audit the entire kernel for invalid uses on both > 32 and 64 bit in the next few years. A lot of code will get changed > in the process so we can actually keep running 32-bit kernels and > file systems, but other code will likely go away: > > * any system calls that pass a time_t, timeval or timespec on > 32-bit systems return -ENOSYS, to ensure all user land uses > the replacements we will put into place > * The definition of 'time_t', 'timval' and 'timespec' can be hidden > from the kernel, and all code using it left out. > * ext2 and ext3 file system code will have to be disabled, but that's > file since ext4 can mount old file systems. Syscalls and libs can be "fixed". Existing filesystem content might not. So if you need to mount some old media in read-write mode after 2038 and that happens to content an ext2 or similarly limited filesystem then it'd better just "work". Having the kernel refuse to modify the filesystem would be unacceptable. Nicolas From david@fromorbit.com Sun Jun 1 21:22:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A28CD29DF8 for ; Sun, 1 Jun 2014 21:22:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5136A8F8040 for ; Sun, 1 Jun 2014 19:22:40 -0700 (PDT) X-ASG-Debug-ID: 1401675753-04cbb050fd1b29b0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id tsOSQWjMy33gLc0e for ; Sun, 01 Jun 2014 19:22:34 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al53AF/fi1N5LL1sPGdsb2JhbABZgweDRagRAQEBAQEBBpgbAYEOFwMBAQEBODWCJQEBBScTHCMQCAMYCSUPBSUDBxoTiEHUEBcWhT+DXoRHAQ5JB4RABJl/ixyLXCuBMAEf Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail06.adl6.internode.on.net with ESMTP; 02 Jun 2014 11:52:13 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrHt5-00048M-2J; Mon, 02 Jun 2014 12:22:11 +1000 Date: Mon, 2 Jun 2014 12:22:11 +1000 From: Dave Chinner To: Nicolas Pitre Cc: Arnd Bergmann , "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602022211.GN6677@dastard> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <538995D4.9050702@zytor.com> <8618458.1EVJCoVbkH@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1401675753 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6303 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Jun 01, 2014 at 09:36:26PM -0400, Nicolas Pitre wrote: > On Sun, 1 Jun 2014, Arnd Bergmann wrote: > > On Saturday 31 May 2014 11:46:16 Nicolas Pitre wrote: > > For actually running kernels beyond 2038, the best idea I've seen so > > far is to disallow all broken code at compile time. I don't see > > a choice but to audit the entire kernel for invalid uses on both > > 32 and 64 bit in the next few years. A lot of code will get changed > > in the process so we can actually keep running 32-bit kernels and > > file systems, but other code will likely go away: > > > > * any system calls that pass a time_t, timeval or timespec on > > 32-bit systems return -ENOSYS, to ensure all user land uses > > the replacements we will put into place > > * The definition of 'time_t', 'timval' and 'timespec' can be hidden > > from the kernel, and all code using it left out. > > * ext2 and ext3 file system code will have to be disabled, but that's > > file since ext4 can mount old file systems. > > Syscalls and libs can be "fixed". Existing filesystem content might > not. So if you need to mount some old media in read-write mode after > 2038 and that happens to content an ext2 or similarly limited filesystem > then it'd better just "work". Having the kernel refuse to modify the > filesystem would be unacceptable. We can already tell the VFS/filesystems not to update timestamps: inode->i_flags |= S_NOATIME | S_NOCMTIME; Just enforce that everywhere (i.e. notify_change()) rather than just on the IO path and the "legacy filesystem timestamp" problem is "solved". New interfaces need to return errors when an out-of-range parameter is set. And right now, >epoch dates are out of range for most filesystems, and so we need to handle that condition appropriately. Silent date overflow == filesystem corruption, and as such I'm going to error out such conditions in the filesystem regardless of what the userspace API says. Filesystems place all sorts of userspace visible limits on storage - ever tried to create a file >16TB on ext4? The on-disk format doesn't support it, so it returns an out of range error (E2BIG, I think) if you try. XFS, OTOH, handles this just fine and so it continues to work. It's exactly the same with timestamps - there's a physical limit to what can sanely be stored in any given filesystem and it's an *error condition* to go beyond that limit.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From geert.uytterhoeven@gmail.com Mon Jun 2 02:09:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2E15A7F54 for ; Mon, 2 Jun 2014 02:09:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id CDF2FAC001 for ; Mon, 2 Jun 2014 00:09:28 -0700 (PDT) X-ASG-Debug-ID: 1401692963-04bdf0599e3eb610001-NocioJ Received: from mail-ig0-f178.google.com (mail-ig0-f178.google.com [209.85.213.178]) by cuda.sgi.com with ESMTP id K25V2ZmFHPlpQuW5 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 00:09:24 -0700 (PDT) X-Barracuda-Envelope-From: geert.uytterhoeven@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.213.178 X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.178] Received: by mail-ig0-f178.google.com with SMTP id hl10so3050770igb.17 for ; Mon, 02 Jun 2014 00:09:23 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.178] X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.178] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=/2hw/2jKf7vgl31+I5DSvbTjvhNBtD1+rBnYM+4otw8=; b=dwZRbgD1TheRGKEn1WXJP4GfBFE5WC0gMPtXKVEHit0UrBQ+cmcJf8p9HZUfJXsNYQ HxPbE9Y0RwMQKK1gv7uPXzN1FoV8osdnW3GgNP9BZoPYxtGet+TgTvxI7tkXN3gHyTFV JsGzS66VEXT7UtKhSgoaXCnEmFoQ2K5NL9fv9pmAsKCMtUckzJCNq+If30dRbaxQaBmO B4daQZV+WxryejX4ue44H5KvxNT1ABg7riRIzOTidHf2ZAfM0EIqq4xSlUtLTfirDCwe 8jI1oIwbIJDCDvO8stSF73DXNl0wCW4UTbh7Kyae1wfx3yVAqlg+KnluuFwtgN1ZL19a a35w== MIME-Version: 1.0 X-Received: by 10.42.162.71 with SMTP id w7mr31967456icx.50.1401692963868; Mon, 02 Jun 2014 00:09:23 -0700 (PDT) Sender: geert.uytterhoeven@gmail.com Received: by 10.64.17.199 with HTTP; Mon, 2 Jun 2014 00:09:23 -0700 (PDT) In-Reply-To: <20140602022211.GN6677@dastard> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <538995D4.9050702@zytor.com> <8618458.1EVJCoVbkH@wuerfel> <20140602022211.GN6677@dastard> Date: Mon, 2 Jun 2014 09:09:23 +0200 X-Google-Sender-Auth: ucJLYpLDnEBNYh8KUivO1xla42g Message-ID: Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Geert Uytterhoeven X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time To: Dave Chinner Cc: Nicolas Pitre , Arnd Bergmann , "H. Peter Anvin" , "linux-kernel@vger.kernel.org" , Linux-Arch , "Joseph S. Myers" , John Stultz , Christoph Hellwig , Thomas Gleixner , Ley Foon Tan , Linux FS Devel , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-ig0-f178.google.com[209.85.213.178] X-Barracuda-Start-Time: 1401692964 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6308 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 2, 2014 at 4:22 AM, Dave Chinner wrote: > Filesystems place all sorts of userspace visible limits on storage - > ever tried to create a file >16TB on ext4? The on-disk format > doesn't support it, so it returns an out of range error (E2BIG, I > think) if you try. XFS, OTOH, handles this just fine and so it > continues to work. It's exactly the same with timestamps - there's a > physical limit to what can sanely be stored in any given filesystem > and it's an *error condition* to go beyond that limit.... This comparison doesn't fly. File sizes do not depend on the current time (except for the increase of megapixels in your new camera ;-). Writing a 15 GiB file to ext4 is not something that magically stops working tomorrow. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds From bounce@itarget.vn Mon Jun 2 03:35:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=HTML_MESSAGE,MIME_HTML_ONLY, T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2B5407F55 for ; Mon, 2 Jun 2014 03:35:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8D71CAC007 for ; Mon, 2 Jun 2014 01:35:14 -0700 (PDT) X-ASG-Debug-ID: 1401698111-04cbb050fb1c1270001-NocioJ Received: from server.itarget.vn (itarget.vn [162.243.116.224]) by cuda.sgi.com with ESMTP id Tm3hRzSc2DwGzV5B (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 01:35:11 -0700 (PDT) X-Barracuda-Envelope-From: bounce@itarget.vn X-Barracuda-Apparent-Source-IP: 162.243.116.224 Received: by server.itarget.vn (Postfix, from userid 0) id 976D0BD44A; Mon, 2 Jun 2014 04:31:38 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itarget.vn; s=default; t=1401697898; bh=ajH3NwdKl7UYm3ET7sZUqr2tZAUWYeQ5OoSkAcfbrdE=; h=To:Subject:Date:From:Reply-To:List-Unsubscribe; b=b23K3XzDKlkVPWR2SdiZ7S0Q5HeXYJ53cebhGbE23BQOQDAjx7uUF0CUZ8ZeWvjNi BomJq9nYI9//ivERhGl14CcMyoKCKXC/E/lfQMsfP8L7v3le+ULc3T33DqHJn67Ndx KwrfTRnOBowb7ZunTlIKPn4pf70BTqkVxzz+j7/k= To: xfs@oss.sgi.com Subject: =?UTF-8?B?Q8O0bmcgdHkgbsOgbyBz4bq9IGPDsyBt4bq3dCB0cm9uZyBkYW5oIHPDoWNoIDUwIEPDtG5nIHR5IG5pw6ptIHnhur90IHThu5F0IG5o4bqldCBWaeG7h3QgTmFtIDIwMTQ/?= X-PHP-Originating-Script: 0:email.php X-ASG-Orig-Subj: =?UTF-8?B?Q8O0bmcgdHkgbsOgbyBz4bq9IGPDsyBt4bq3dCB0cm9uZyBkYW5oIHPDoWNoIDUwIEPDtG5nIHR5IG5pw6ptIHnhur90IHThu5F0IG5o4bqldCBWaeG7h3QgTmFtIDIwMTQ/?= Message-ID: <26e3330f27d24471b17c6f494531b1cd@app9.icontact.vn> Date: Mon, 02 Jun 2014 04:15:47 -0400 From: "Forbes Vietnam" Reply-To: newsletter@forbesvietnam.com MIME-Version: 1.0 X-Mailer-LID: 1401,1400 List-Unsubscribe: X-Mailer-RecptId: 5003309 X-Mailer-SID: 3398 X-Mailer-Sent-By: 51 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Barracuda-Connect: itarget.vn[162.243.116.224] X-Barracuda-Start-Time: 1401698111 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.00 X-Barracuda-Spam-Status: No, SCORE=2.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC3_MV0164, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6309 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 2.00 BSF_SC3_MV0164 Custom rule MV0164
Trang chá»§ | Äặt báo dài hạn |  
Äầu tư thông minh cùng Forbes Việt
Nam
Äón Ä‘á»c Forbes Việt Nam (số 12)
tháng 05.2014

Forbes Việt Nam giá»›i thiệu số tháng 06.2014 (phát hành ngày 02.06.2014), vá»›i chá»§ đỠ“Danh sách 50 công ty niêm yết tốt nhất Việt Nam”

Ná»™i dung đặc biệt trong số 13 là Danh sách 50 công ty niêm yết tốt nhất trên thị trưá»ng chứng khoán Việt Nam năm 2014 do Forbes Việt Nam xếp hạng. Äây là danh sách những công ty niêm yết đứng đầu các ngành, có các chỉ số tăng trưởng doanh thu và lợi nhuận ổn định trong các năm qua và triển vá»ng phát triển tốt trong tương lai.

Ngoài ra còn có Danh sách 2000 công ty niêm yết lá»›n nhất thế giá»›i và Danh sách giàu nhất Hàn Quốc.

 
 
 
 
Diá»…n Ä‘àn kinh doanh Việt Nam và Ká»· niệm 1 năm xuất bản Forbes Việt Nam (tháng 06.2014)
 

Forbes Việt Nam lần đầu tiên tổ chức sá»± kiện “Forbes Việt Nam – Diá»…n Ä‘àn kinh doanh” năm 2014 vá»›i chá»§ đỠ“Việt Nam – CÆ¡ há»™i má»›i” tại khách sạn Intercontinental Asiana Saigon vào ngày 3 tháng 7 năm 2014 vá»›i sá»± tham gia cá»§a những diá»…n giả và lãnh đạo doanh nghiệp hàng đầu Việt Nam và quốc tế.

 
 
Diá»…n Äàn Kinh Doanh Việt Nam
2014
 

Phí tham dá»±: US$500.

Tìm hiểu thêm thông tin sá»± kiện “Forbes Việt Nam – Diá»…n Ä‘àn kinh doanh” năm 2014 tại Ä‘ây.

Äể tham gia sá»± kiện, vui lòng đăng ký tại Ä‘ây.

Tìm hiểu thêm vá» những sá»± kiện cá»§a Forbes Việt Nam tại Ä‘ây.

 
Nhân ká»· niệm 1 năm Forbes Việt Nam ra mắt (06/2013 – 06/2014), chúng tôi xin trân trá»ng gá»­i đến khách hàng chương trình ưu Ä‘ãi đặc biệt, GIẢM ÄẾN 40% cho những khách hàng tham gia đặt quảng cáo trước ngày 16/05/2014.
 
Äể biết thêm chi tiết, vui lòng liên hệ
Phòng Kinh Doanh | Tel: +84 8 3936 9499
 

Forbes Việt Nam Pass – thẻ ưu Ä‘ãi dành cho độc giả thân thiết cá»§a Forbes Việt Nam phát hành tháng 6.2014. Ngoài những quyá»n lợi từ Forbes Việt Nam, khi sở hữu thẻ bạn Ä‘á»c có thể tận hưởng nhiá»u tiện ích trong dịch vụ vá»›i những đối tác tham gia khác.

Xin vui lòng xem thêm chi tiết tại: www.forbesvietnam/forbespass

 

Tạp chí Forbes Việt Nam số tháng 05.2014
Chiếm hÆ¡n 18% trong cÆ¡ cấu GDP cá»§a Việt Nam trong năm 2013, nông nghiệp là ngành sá»­ dụng tá»›i 47% tổng số lao động trên cả nước. Forbes Việt Nam ghi nhận xu hướng này, cùng những câu chuyện thể hiện bản lÄ©nh biết chấp nhận thá»­ thách cá»§a doanh nhân Việt Nam trong má»™t lÄ©nh vá»±c truyá»n thống cá»§a Việt Nam nhưng Ä‘ang gặp rất nhiá»u áp lá»±c phải đổi má»›i.
Tạp chí Forbes Việt Nam số tháng 04.2014
Äá»c những câu chuyện Ä‘iển hình, những bình luận và quan Ä‘iểm sắc bén cá»§a Forbes Việt Nam trong lÄ©nh vá»±c này. Ngoài ra còn có danh sách những tỉ phú thế giá»›i năm 2014.
Tạp chí Forbes Việt Nam tháng 03.2014
Tạp chí Forbes Việt Nam số tháng 03.2014
Forbes Việt Nam tôn vinh vai trò cá»§a nữ doanh nhân trong môi trưá»ng phát triển và há»™i nhập. Äặc biệt chúc mừng 3 nữ doanh nhân Việt Nam có tên trong top 10 nữ doanh nhân xuất sắc Châu Á do Forbes Asia bình chá»n…
Forbes Việt Nam
Äịa chỉ: Vincom B, 72 Lê Thánh Tôn, Quận 1, Tp. Hồ Chí Minh, Việt Nam
Tel: +84 8 3936 9499  |  Fax: +84 8 3936 9495  |  Email us
Copyright © 2014 Forbes Vietnam | All Rights Reserved.
You are receiving this email because you have a business relationship with Forbes Vietnam.
To unsubscribe, please click here.
From lczerner@redhat.com Mon Jun 2 05:13:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7B4D47F54 for ; Mon, 2 Jun 2014 05:13:50 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 57E2A8F804C for ; Mon, 2 Jun 2014 03:13:50 -0700 (PDT) X-ASG-Debug-ID: 1401704026-04cbb050fa1c4b90001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id cI9NeFYnEWOcBJo5 for ; Mon, 02 Jun 2014 03:13:46 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s52ADaZb003614 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 2 Jun 2014 06:13:36 -0400 Received: from vpn1-6-254.ams2.redhat.com (vpn1-6-254.ams2.redhat.com [10.36.6.254]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s52ADV2O005993 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Jun 2014 06:13:33 -0400 Date: Mon, 2 Jun 2014 12:13:31 +0200 (CEST) From: =?ISO-8859-15?Q?Luk=E1=A8_Czerner?= X-X-Sender: lczerner@localhost.localdomain To: Namjae Jeon cc: "'Dave Chinner'" , "'Theodore Ts'o'" , "'linux-ext4'" , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, "'Ashish Sangwan'" Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate In-Reply-To: <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> X-ASG-Orig-Subj: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Message-ID: References: <003601cf6aa7$883103b0$98930b10$@samsung.com> <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-2027863592-1401704015=:2231" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401704026 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-2027863592-1401704015=:2231 Content-Type: TEXT/PLAIN; charset=iso-8859-2 Content-Transfer-Encoding: 8BIT On Sat, 31 May 2014, Namjae Jeon wrote: > Date: Sat, 31 May 2014 16:40:29 +0900 > From: Namjae Jeon > To: 'Luká¹ Czerner' > Cc: 'Dave Chinner' , 'Theodore Ts'o' , > 'linux-ext4' , xfs@oss.sgi.com, > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > 'Ashish Sangwan' > Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for > fallocate > > > > > Date: Thu, 08 May 2014 19:23:19 +0900 > > > From: Namjae Jeon > > > To: Dave Chinner , Theodore Ts'o > > > Cc: linux-ext4 , xfs@oss.sgi.com, > > > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > > > Ashish Sangwan > > > Subject: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate > > > > > > In continuation of the work of making the process of non linear editing of > > > media files faster, we introduce here the new flag FALLOC_FL_INSERT_RANGE > > > for fallocate. > > > > > > This flag will work opposite to the newly added FALLOC_FL_COLLAPSE_RANGE flag. > > > As such, specifying FALLOC_FL_INSERT_RANGE flag will insert zeroed-out space > > > in between the file within the range specified by offset and len. User can > > > write new data in this space. e.g. ads. > > > Like collapse range, currently we have the limitation that offset and len should > > > be block size aligned for both XFS and Ext4. > > > > > > The semantics of the flag are : > > > 1) It allocates new zeroed out on disk space of len bytes starting > > > at offset byte without overwriting any existing data. All the data blocks > > > from offset to EOF are shifted towards right to make space for inserting > > > new blocks > > > > Hi, > > > > this sounds a little bit weird to me. I understand the reason for > > this, but this is effectively two operations masking as one. We > > shift the existing data and then we allocate unwritten extents for > > the hole we've created. > > > > What would make more sense to me is to implement only the first > > operation - the shift. And then let the user to allocate unwritten > > extents for the hole using simple fallocate. > > > > The reason is that if you succeed the first part and then fail the > > second due to ENOSPC or any other reason the file will end up in > > undefined state unnecessarily. Yes in your current implementation > > it seems that you'll always end up with the hole in the file and the > > rest is properly shifted, but that may vary from file system to file > > system. Some might choose to roll back the shift, some might not. > > > > If FALLOC_FL_INSERT_RANGE (or any name you wish to choose) would > > just simply shift the extents then you'll get rid of this and the > > only thing that user needs to do (if he chooses to) is to use > > fallocate for the hole created by the shift. If it fails, then > > well, he can try again without any consequences. As a bonus you get > > the possibility to leave the hole in the file which might be useful > > as well. > > > > With current behaviour this might get very confusing very quickly. > > > > What do you and others think ? > Hi Lukas. > Insert range inherently means inserting a real range of space into > the file to provide guaranteed space with user in the inserted area > so that further writes should not fail with an -ENOSPC at least. > If insert range cannot gurantees the above semantics, It should > return error to user space. So what will happen when there is not enough space when "inserting a range" ? And how should user proceed from there ? > > If insert range has been performed on a file, It will reserve space > that write never fail in the inserted area, > In case of full partition or small available size than the range > user want, It seems odd just only left inserting a hole in the middle > of file and return success to user when no one can really write to > this hole. There is a fallocate for allocation, so as I already said you can shift the extents to make a hole in the file and then use fallocate to allocate space for it and you'll get the same result. You are basically doing that now as well, but when the allocation fails the whole "insert range" ioct fails, however the extents are already shifter and there is already a holi in the file so freeing some space and running this ioctl again will not help you at all. While if you fail a fallocate, you can free some space and run it again without any problems. The result will be as expected. What I am arguing about is basically that your insert range ioct is masking two operations as one. Why not to make it transparent and split it into "shift extents" and fallocate ? Then there is a question about the name because it's no longer "insert range" but rather "insert hole" which I think is better and arguably more useful semantic. Thanks! -Lukas > > Thanks! > > > > Thanks! > > -LUkas > > > > > > > 2) It should be used exclusively. No other fallocate flag in combination. > > > 3) Offset and length supplied to fallocate should be fs block size aligned > > > in case of xfs and ext4. > > > 4) Insert range does not work for the case when offset is overlapping/beyond > > > i_size. If the user wants to allocate space at the end of file they are > > > advised to use either ftruncate(2) or fallocate(2) with mode 0. > > > 5) It increses the size of file by len bytes. > > > > > > > > > Namjae Jeon (10): > > > fs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > xfsprogs: xfs_io: add finsert command for insert range via fallocate > > > xfstests: generic/027: Standard insert range tests > > > xfstests: generic/028: Delayed allocation insert range > > > xfstests: generic/029: Multi insert range tests > > > xfstests: generic/030: Delayed allocation multi insert > > > xfstests: fsstress: Add fallocate insert range operation > > > xfstests: fsx: Add fallocate insert range operation > > > > > > > > --8323328-2027863592-1401704015=:2231-- From uspesnitim@gmail.com Mon Jun 2 05:39:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=FREEMAIL_FROM,FREEMAIL_REPLY, HTML_MESSAGE,HTML_OBFUSCATE_05_10,SUBJ_ALL_CAPS,T_DKIM_INVALID,T_FRT_CONTACT autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D64087F55 for ; Mon, 2 Jun 2014 05:39:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 853CB8F8037 for ; Mon, 2 Jun 2014 03:39:27 -0700 (PDT) X-ASG-Debug-ID: 1401705565-04bdf059a03f3ee0001-NocioJ Received: from mail-pb0-f68.google.com (mail-pb0-f68.google.com [209.85.160.68]) by cuda.sgi.com with ESMTP id NhmAnEzGYQsHfb9S (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 03:39:25 -0700 (PDT) X-Barracuda-Envelope-From: uspesnitim@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.68 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.68] Received: by mail-pb0-f68.google.com with SMTP id uo5so2160387pbc.7 for ; Mon, 02 Jun 2014 03:39:24 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.68] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.68] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=Rj6gxy2hd3mqmornF2BVQAT2jKkQj4S/ICEA8kLD1pI=; b=i2lMI/ZiFq6PowtZp0FqWtyWT7IBgN5ejh1LLQS1IEtR5gvT7dpW8Wve2JuoPdRAx+ lo3E/f7pNL9uB6WXOGBABlN69/TQGHDYg6ni40bVXRirRvig/bxa7ufC5xqdoHYqU6+3 7BMLEWkYsiJq0Ru8MTXscZ8a8FzsnSKyNLXcN758/PEyq9Qr3amE/OZG31/NeJIHc8SP c5ofwRHRCr9IitgOhLIVdgcQ5UUMRPuDJ9BmGSAYpQZ0Xqid+6kGNb07Y2ykePqdlmyu SohZRWXtheiHRCVzBEVt7nxctQurAMlQZXfuW8Pp1FsDehpMyA7FIA7jIbVe8GinZTuD STqw== MIME-Version: 1.0 X-Received: by 10.68.132.68 with SMTP id os4mr39075052pbb.129.1401705564808; Mon, 02 Jun 2014 03:39:24 -0700 (PDT) Received: by 10.70.68.135 with HTTP; Mon, 2 Jun 2014 03:39:24 -0700 (PDT) Date: Mon, 2 Jun 2014 12:39:24 +0200 Message-ID: Subject: VAZI DOK IMA NA ZALIHAMA From: "uspesni tim ." X-ASG-Orig-Subj: VAZI DOK IMA NA ZALIHAMA To: velikosnizenje@stranijezici.promo.net Content-Type: multipart/alternative; boundary=047d7b10ca9d45340304fad8022a X-Barracuda-Connect: mail-pb0-f68.google.com[209.85.160.68] X-Barracuda-Start-Time: 1401705565 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.21 X-Barracuda-Spam-Status: No, SCORE=2.21 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, HTML_OBFUSCATE_05_10, HTML_OBFUSCATE_05_10_2, SUBJ_ALL_CAPS, SUBJ_ALL_CAPS_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6311 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_OBFUSCATE_05_10 BODY: Message is 5% to 10% HTML obfuscation 0.00 HTML_MESSAGE BODY: HTML included in message 0.01 SUBJ_ALL_CAPS Subject is all capitals 0.57 HTML_OBFUSCATE_05_10_2 Message is 05% to 10% HTML obfuscation 1.62 SUBJ_ALL_CAPS_2 SUBJ_ALL_CAPS_2 --047d7b10ca9d45340304fad8022a Content-Type: text/plain; charset=UTF-8 *Engleski, nemacki, spanski, italijanski i francuski za slusanje u pokretu* *srpska verzija* Kurs je u formatu MP3 na 5 diskova i omogucava ljudima koji su stalno u pokretu i nemaju mnogo vremena da budu kod kuce pored svog racunara da uz pomoc najnovijih metoda nauce strani jezik. Na ovaj nacin strani jezik mozete uciti u kolima, na putu od kuce do posla i obrnuto, dok trcite ili setate, dok putujete ili se odmarate u prirodi, dakle na svom auto radiu ili mobilnom telefonu, MP3 plejeru i sl. strani jezik cete moci uciti na bilo kom mestu. Vreme u toku dana predvidjeno za ucenje jezika nije standardno, dakle mozete sami planirati koliko cete i gde preslusavati materijal. Rezultati ce biti bolji ukoliko imate kontinuitet u preslusavanju nasih diskova, sto znaci ukoliko cesce budete preslusavali brze cete savladati strani jezik. Materijal na diskovima obuhvata 4 nivoa datog jezika: pocetni nivo, produzeni kurs, visi tecaj i poslovni kurs, svaka rec ili recenica izgovorena na stranom jeziku posle nje sledi prevod na srpski (ovo se odnosi na pocetni i srednji nivo, visi i poslovni kurs podrazumeva da Vi vec imate odredjeno znanje datog jezika pa je i prevod suvisan) Na POKLON dobijate* i knjigu, recnik i gramatiku u elektronskoj formi na posebnom disku*, gde cete moci da proverite sve ono sto ste naucili ili da naucite nesto novo. Uz svaki kupljeni komplet-kurs dobijate i MULTIMEDIJALNI INTERAKTIVNI DVD KURS KOJI SADRZI 10 NIVOA UCENJA za dati jezik (engleski, nemacki, spanski, italijanski ili francuski jezik). Ova NOVA verzija kursa razvijena od strane najboljih strucnjaka u ovoj oblasti koristi se u najpoznatijim skolama i univerzitetima sirom sveta. Sigurno najkompletniji i najobimniki kurs omogucice Vam da na jednsostavan i zabavan nacin savladate dati jezik (citanje, pisanje, govor, gramatika itd) *PROMO PONUDA:* Kurs engleskog za slusanje u pokretu ukljucujuci i dodatne diskove : *3599,00* 1599.oo din. Kurs nemackog za slusanje u pokretu ukljucujuci i dodatne diskove : *3599,00* 1599.oo din. Kurs spanskog za slusanje u pokretu ukljucujuci i dodatne diskove : *3599,00* 1599.oo din. Kurs italijanskog za slusanje u pokretu ukljucujuci i dodatne diskove : *3599,00* 1599.oo din. Kurs francuskog za slusanje u pokretu ukljucujuci i dodatne diskove : *3599,00* 1599.oo din. * SPECIJALNA PONUDA: Za kupljena dva ili vise kursa dobijate dadatni POPUST od 10% na celokupan iznos. *U cenu jesu uracunati troskovi slanja paketa, sto znaci da Vi placate samo cenu koja je iznad navedena, tj. 1599,oo dinara.* Placanje je pouzecem, dakle po preuzimanju paketa, kao potvrdu placanja dobijate nalog kojim mozete vrsiti administrativno pravdanje gotovinskog placanja. Ukoliko zelite da porucite ovu nasu specijalnu ponudu potrebno je da dostavite Vase ime i prezime, adresu, mesto, postanski broj i broj telefona (obavezno je navesti sve podatke) i paket ce biti kod Vas u roku od 48 sati. Porudzbine slati iskljucivo na e-mail adresu: kursjezikazausput@gmail.com ** Dodatni diskovi obuhvataju knjigu, recnik i gramatiku u elektronskoj formi na posebnom disku kao i multimedijalni dvd kurs za dati jezik - 10 NIVOA ucenja i oni ulaze u PROMO cenu i ne naplacuju se dodatno. PROMO cena vazi do isteka zaliha, zato pozurite.* *U ponudi imamo i kurseve drugih jezika, ukoliko Vas interesuje neki jezik koji nije naveden u ponudi kontaktirajte nas na mail: kursjezikazausput@gmail.com * Izvinjavamo se ukoliko smo Vas slanjem ovog mail-a na bilo koj nacin uznemirili, ako niste zeleli da primite isti molimo Vas da posaljete prazan mail na mail.odjava@gmail.com --047d7b10ca9d45340304fad8022a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Engleski, nemacki, spanski, italijanski i francuski za slusanje u pokretu

srpska verzija

=C2=A0

=C2=A0=C2=A0=C2=A0 Kurs je u forma= tu MP3 na 5 diskova i omogucava ljudima koji su stalno u pokretu i nemaju mnogo vremena da budu= kod kuce pored svog racunara da uz pomoc najnovijih metoda nauce strani =C2=A0jezik. Na ovaj nacin strani = jezik mozete uciti u kolima, na putu od kuce do posla i obrnuto, dok trcite ili setate, dok putu= jete ili se odmarate u prirodi, dakle =C2=A0na svom auto radiu ili mobilnom telefonu, MP3 plejeru i sl. strani jezik cete moci = uciti na bilo kom mestu. Vreme u toku dana =C2=A0predvidjeno za=C2=A0ucenje jezika=C2=A0nije standardno, dak= le mozete sami planirati koliko cete i gde preslusavati materijal. Rezultati c= e biti bolji ukoliko imate kontinuitet u preslusavanju nasih diskova, sto zna= ci ukoliko cesce budete preslusavali brze cete savladati stra= ni jezik. Materijal na diskovima obuhvata 4 nivoa datog jezika: pocetni nivo, produzeni kurs, visi tecaj i poslovni kurs, =C2=A0svaka rec ili recenica izgovorena=C2=A0na=C2=A0stranom jeziku posle nje sledi pr= evod=C2=A0na=C2=A0srpski (ovo se odnosi=C2=A0na=C2=A0pocetni i srednji = nivo, visi i poslovni kurs podrazumeva da Vi vec imate odredjeno znanje datog jezika pa je i prevod suvisan)

=C2=A0

Na POKLON dobijate i knjigu, re= cnik i gramatiku u elektronskoj formi =C2=A0na posebnom disku, gde cete= moci da proverite sve ono sto ste naucili ili da naucite nesto novo.

Uz svaki kupljeni komplet-kurs dob= ijate i MULTIMEDIJALNI INTERAKTIVNI DVD KURS KOJI SADRZI 10 NIVOA UCENJA za dati je= zik (engleski, nemacki, spanski, italijanski ili francuski jezik). Ova NOVA ver= zija kursa=C2=A0 razvijena od strane najboljih strucnjaka u ovoj oblasti koristi se u najpoznatijim skolama i univerziteti= ma sirom sveta. Sigurno najkompletniji i najobimniki kurs omogucice Vam da na jednsostavan i zabavan nacin savladate dati jezik (citanje, pisanje, govor, gramatika itd)

=C2=A0

PROMO PONUDA:

Kurs engleskog=C2=A0 za slusanje u pokretu=C2=A0ukljucujuci i dodatne diskove : 3599,00=C2=A0=C2=A0=C2=A0 1599.oo din.<= /span>

Kurs nemackog=C2=A0 za slusanje u pokretu=C2=A0ukljucujuci i dodatne diskove : 3599,00=C2=A0=C2=A0=C2=A0 1599.oo din.<= /span>

Kurs spanskog=C2=A0 za slusanje u pokretu=C2=A0ukljucujuci i dodatne diskove : 3599,00=C2=A0=C2=A0=C2=A0 1599.oo din.<= /span>

Kurs italijanskog=C2=A0 za slusanje u pokretu=C2=A0ukljucujuc= i i dodatne diskove : 3599,00=C2=A0=C2=A0=C2=A0 1599.oo din= .

Kurs francuskog=C2=A0 za slusanje u pokretu=C2=A0ukljucujuci= i dodatne diskove : 3599,00=C2=A0=C2=A0=C2=A0 1599.oo din.= *

=C2=A0

=C2=A0

SPECIJALNA PONUDA:

Za kupljena dva ili vise kursa dob= ijate dadatni POPUST od 10% =C2=A0na celokupan iznos.

=C2=A0

U cenu jesu uracunati troskovi slanja paketa, sto znaci da Vi placate samo cenu koja je iznad navedena, tj. 1599,oo dinara.

Placanje je pouzecem, dakle po pre= uzimanju paketa, kao=C2=A0potvrdu=C2= =A0placanja dobijate nalog kojim mozete vrsiti administrativno pravdanje gotovinskog placanja.

=C2=A0

Ukoliko zelite da porucite=C2=A0ov= u nasu specijalnu ponudu=C2=A0potrebno je da dostavite Vase ime i prezime, adresu, mesto, postanski broj=C2=A0i broj telefona (obavezno je navesti sve podatke)=C2=A0i paket ce biti kod Vas u roku od 48 sati.

Porudzbine slati iskljucivo na e-m= ail adresu:

=C2=A0

kursjezikazausput@gmail.com

=C2=A0

* Dodatni diskovi obuhvataju knjigu, recnik i gramatiku u elektronskoj formi=C2=A0 na posebnom disku kao i multimedijalni dvd kurs za dati jezik - 10 NIVOA=C2=A0 ucenja i oni ulaze u PROMO =C2=A0cenu=C2=A0 i ne naplacuju se dodatno. PROMO cena vazi do isteka zaliha, zato pozurite.

U ponudi imamo i kurseve drugih= jezika, ukoliko Vas interesuje neki jezik koji nije naveden u ponudi kontaktirajte = nas na=C2=A0 mail: =C2=A0kursjez= ikazausput@gmail.com

=C2=A0

=C2=A0

Izvinjavam= o se ukoliko smo Vas slanjem ovog mail-a na bilo koj nacin uznemirili, ako niste zeleli da primite isti=C2=A0 molimo Vas da posaljete prazan mail na mail.odjava@gmail.com

=C2=A0

=C2=A0

=C2=A0=

=C2=A0

--047d7b10ca9d45340304fad8022a-- From arnd@arndb.de Mon Jun 2 05:58:51 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 41CAC7F55 for ; Mon, 2 Jun 2014 05:58:51 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id AE706AC002 for ; Mon, 2 Jun 2014 03:58:47 -0700 (PDT) X-ASG-Debug-ID: 1401706724-04cbb050fd1c6540001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.24]) by cuda.sgi.com with ESMTP id ewGtbK39YG1xu7BM (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 03:58:45 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.24 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue103) with ESMTP (Nemesis) id 0MRB2F-1XFIwu0ILH-00UWtl; Mon, 02 Jun 2014 12:56:43 +0200 From: Arnd Bergmann To: Nicolas Pitre Cc: "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 12:56:42 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <4178301.j9kWdGCRLC@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:rc5WLQ/9j2qpMfwTsA0d0sLxGYtDN5Q90L7frf+Bkjc z7o7Ihk6Zig4bOCe3nDbDr8m1/GKHG9dL4ig8bggV4tUvPsW2n Wk1oolEllkgTXtYCEe9Iqj78J4EyLAdHt07DJKHkD4Gbqn8Ov6 SF4zQ2pA4F7poZBUHQuPhuuefpWtjJZ+mGUjUb7erpRcRLf/E9 uU5WD09126Dm3iPlY+1IrJL/2rM1HU77Vu0MDmNwy2MZ+mv6kH q7+TnOAWSFHDuGTWHswv6GoEDEtPRhThbh0gzGvin06XigZbnP ZYkjpKorAHKj1A+88kfEHLibIWL/CPvfQFqLFBm5b57zT2mpMK kboML90cXK+9Of5S7Ih8= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.24] X-Barracuda-Start-Time: 1401706725 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6312 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sunday 01 June 2014 21:36:26 Nicolas Pitre wrote: > > > For actually running kernels beyond 2038, the best idea I've seen so > > far is to disallow all broken code at compile time. I don't see > > a choice but to audit the entire kernel for invalid uses on both > > 32 and 64 bit in the next few years. A lot of code will get changed > > in the process so we can actually keep running 32-bit kernels and > > file systems, but other code will likely go away: > > > > * any system calls that pass a time_t, timeval or timespec on > > 32-bit systems return -ENOSYS, to ensure all user land uses > > the replacements we will put into place > > * The definition of 'time_t', 'timval' and 'timespec' can be hidden > > from the kernel, and all code using it left out. > > * ext2 and ext3 file system code will have to be disabled, but that's > > file since ext4 can mount old file systems. > > Syscalls and libs can be "fixed". Existing filesystem content might > not. So if you need to mount some old media in read-write mode after > 2038 and that happens to content an ext2 or similarly limited filesystem > then it'd better just "work". Having the kernel refuse to modify the > filesystem would be unacceptable. I think you misunderstood what I suggested: the intent is to avoid seeing things break in 2038 by making them break much earlier. We have a solution for ext2 file systems, it's called ext4, and we just need to ensure that everybody knows they have to migrate eventually. At some point before the mid 2030ies, you should no longer be able to build a kernel that has support for ext2 or any other module that will run into bugs later. Until then (rather sooner than later), I'd like to get to the point where you can choose whether to include those modules at build time or not, and then get everybody to turn off that option and fix the bugs they run into. You wouldn't need that for a 2014-generation long-term support disto (rhel 7, sles 12, debian 7, ubuntu 14.04, ...), but perhaps for the next generation, or the one after that. Arnd From arnd@arndb.de Mon Jun 2 06:02:33 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id A728E7F56 for ; Mon, 2 Jun 2014 06:02:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 88B06304059 for ; Mon, 2 Jun 2014 04:02:33 -0700 (PDT) X-ASG-Debug-ID: 1401706948-04cb6c100cc9b20001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by cuda.sgi.com with ESMTP id kvt67eZdfV5VweLH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 04:02:29 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.130 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue003) with ESMTP (Nemesis) id 0M4VfU-1Waxz13MAm-00yg4G; Mon, 02 Jun 2014 13:02:08 +0200 From: Arnd Bergmann To: "H. Peter Anvin" Cc: Nicolas Pitre , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 13:02:07 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <142924495.p3tVTERnnG@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <0ab4392c-d89d-4277-914d-1696f455daab@email.android.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <0ab4392c-d89d-4277-914d-1696f455daab@email.android.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:QhJnBhSvwSkofJdPVaDBMUwdbdcwYruw/hF6s9q5pnS vE84rvg93Tc0p4uFQKLxebzhy29CZHzmuY78XhZog9NyzGEuty 8IlsLMlsL+OiS+Gj/lfMe8AB96cD5U2cEWLxfj/U55SE4gKimN EhzygnJ4kPqMvHYuRObFgU99l+uqLHJD7KS8B6xwuRBUYoofnv Fys59Omtzf/FUXIQdRBdAftmI+/uDgjpqjrZ+1zEY3SzBZ/BAY G0WejfapIYM1VCj7/FWaDBxXaoWp/v7LhoNdjVxAZF8NuSSCyR C9yDykgpxmPjHcB1T5bE77vscv51MUGwy/c1OmF69QEeeACVMs 8D96IJ8ImOqNOdh5u0iM= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.130] X-Barracuda-Start-Time: 1401706948 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6312 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Sunday 01 June 2014 13:26:03 H. Peter Anvin wrote: > Perhaps we should make this a kernel command line option instead, with the > settings: error out on outside the standard window, or a date indicating the > earliest date that should be recognized and do windowing (0 for no windowing, > 1970 for retconning the Unix epoch as unsigned...) What's wrong with compile-time errors? We have a pretty good understanding of how time values are passed in the kernel, and we know they will all break in 2038 for 32-bit kernels unless we do something about it. > But again, the kernel is probably the least problem here... I agree the glibc side is harder than this, but we have to get the kernel into shape first (at the minimum we have to do the APIs), and there is enough work to do here. Arnd From mp6058@gmail.com Mon Jun 2 06:22:26 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DFEF27F5D for ; Mon, 2 Jun 2014 06:22:25 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id F3A04AC002 for ; Mon, 2 Jun 2014 04:22:20 -0700 (PDT) X-ASG-Debug-ID: 1401708138-04cb6c1009ca680001-NocioJ Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by cuda.sgi.com with ESMTP id ITmNtj56A765SqCg (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 04:22:18 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.52 Received: by mail-wg0-f52.google.com with SMTP id l18so4874803wgh.23 for ; Mon, 02 Jun 2014 04:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=fW8bCTCWhc0zPLMzcMoS0/M61XAsyYgsHh3kuZS2+RI=; b=alfQEx7gdwG44ilG06NbGD1K27sZKcjhITvMG5L3eblc4ZyMnekNAOHy7p+c+l/NZW JNaGG9X3cUnmsImH4iJ3CGdTygWOHzbQhCuInbDEeGQVKD9NJtGkPGYDzaNRg17ZyeX2 +uTQE2kieuWYYUhBufc9NjhAY4qqTpIl9e1f7Lra1b5i9x3KKtTWqtJHcstURmkS2Wrl nI6HPwUcSm9u2b7YzNZkov7bNaMnUzSAn/LsYYiI6ZhvndDDOuFz1NO0szt9fKaFgr0o ONHAr3PHAVmKXOSiiEE+1GjteHvn+irtCscvO4uSGSjlWxX2EMganuAmpeL6feXpSGxN Ry2g== X-Received: by 10.180.183.131 with SMTP id em3mr21152765wic.56.1401708137961; Mon, 02 Jun 2014 04:22:17 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.23]) by mx.google.com with ESMTPSA id fh5sm31753986wic.9.2014.06.02.04.22.16 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 02 Jun 2014 04:22:17 -0700 (PDT) Message-ID: <538C5E67.6090005@gmail.com> Date: Mon, 02 Jun 2014 14:22:15 +0300 From: Martin Papik User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <5363A1D8.2020402@gmail.com> <5363B4C9.4000900@sandeen.net> <5363CB5E.3090008@gmail.com> <5363CD70.3000006@sandeen.net> <5363DBD7.4060002@gmail.com> <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140503030221.GJ26353@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wg0-f52.google.com[74.125.82.52] X-Barracuda-Start-Time: 1401708138 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6312 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 >> How can I detect this situation? I mean I didn't see anything in >> /proc/mounts or references to the mount point from /proc//*, >> so I only managed to correct it (chdir elsewhere) by chance on a >> hunch. Would it not be desirable to know that there's a phantom >> FS referenced by a number of processes? > > lsof. No good. It happened again and the only thing showing up in lsof that's even remotely a match is the kernel process associated with the filesystem instance. "[xfs-data/sde103]". The mountpoint has been removed by the automatic mounting facility (udev? systemd?). The device is no longer id /dev (udev?). There's nothing useful in the output of "find /proc -ls" either. Any other suggestions to locate the processes that are holding up XFS? Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTjF5dAAoJELsEaSRwbVYrO7IP/016AVgVrdCQ2Vm95hFT5rdu LH6Sz0mpnZn6mAliNLAa+wFpXArDb6VPyssmomzNLgnpA95qLcfJeBqs1wF88tiA GO+aFSX3o3npAokbaq1N5c1dKz/g9lpsUPBkmiUEqcPLJMOKdJdSSd4T2nnnKrkD uDGRmEPZGKXLt75Z0SajnG8oX22bSQdzREn2o4DXZy+RJF9G8wsc490b8TzijDul AtL/2zlRL45LqbcaNNAOARUiTN4IAxy3xwYRU+xXKhqojPRc0x8K4wrjnGcsiw4x Cz5HjJ6CdBLmjn69TRf+S5Y/UXtUcyFOIS0XIUwYg6KtwrI1BY+N+GpkSJNG/DcH 0lAN6n7UBTAADw54ZJdYhyw5aUt9OEXdDx2nIuTxq+X/6u4ydEDchJWPvyLG2nv9 Z2vObyh07X9n7h+zknK3yBxlHHNcpi1/d3njxRSa3GKQIPKNbrLNkrFqB4U4+isr qrcldbcke5d6sUP/VdvjeOGTYWtymx8KqL1MDGPRXruOO1Y6N8DWTbseQCbeoQlS k0L9md5FsZOPG/aUgXHvD4350sKqYpQk2pgoGW7Ia6F+5nwi1TdSd8R6mlGJ0GyW hMymVeykhb19mVJzdc7UlmxyAUBUEd2zGEeO0uSenHt19yWc93vfEHG6GCtxFpu6 sxblWr9nRfPi6sOw7oUF =xn+2 -----END PGP SIGNATURE----- From roger@filmlight.ltd.uk Mon Jun 2 06:35:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id CAF097F63 for ; Mon, 2 Jun 2014 06:35:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id AF99C304032 for ; Mon, 2 Jun 2014 04:35:44 -0700 (PDT) X-ASG-Debug-ID: 1401708942-04cbb050fc1c80d0001-NocioJ Received: from b.mx.filmlight.ltd.uk (b.mx.filmlight.ltd.uk [77.107.81.251]) by cuda.sgi.com with SMTP id 5GTKO5dskDJIPMKA for ; Mon, 02 Jun 2014 04:35:42 -0700 (PDT) X-Barracuda-Envelope-From: roger@filmlight.ltd.uk X-Barracuda-Apparent-Source-IP: 77.107.81.251 Received: (dqd 8025 invoked from network); 2 Jun 2014 11:35:41 -0000 Received: from montana.filmlight.ltd.uk (HELO ?10.44.0.132?) (roger@10.44.0.132) by b.mx.filmlight.ltd.uk with SMTP; 2 Jun 2014 11:35:41 -0000 Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Roger Willcocks X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time To: Dave Chinner Cc: Arnd Bergmann , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, lftan@altera.com, hch@infradead.org, john.stultz@linaro.org, "H. Peter Anvin" , linux-fsdevel@vger.kernel.org, geert@linux-m68k.org, tglx@linutronix.de, xfs@oss.sgi.com, joseph@codesourcery.com In-Reply-To: <20140602002822.GQ14410@dastard> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5389252A.5050503@zytor.com> <20140531011450.GJ14410@dastard> <5507340.nVBP5LFtqn@wuerfel> <20140601002437.GL14410@dastard> <20140602002822.GQ14410@dastard> Content-Type: text/plain Date: Mon, 02 Jun 2014 12:35:41 +0100 Message-Id: <1401708941.6065.51.camel@montana.filmlight.ltd.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-19.el5) Content-Transfer-Encoding: 7bit X-Barracuda-Connect: b.mx.filmlight.ltd.uk[77.107.81.251] X-Barracuda-Start-Time: 1401708942 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6312 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, 2014-06-02 at 10:28 +1000, Dave Chinner wrote: > > The 32 bit second counters in timestamps are too small to represent > time beyond the unix epoch (jan 2038) correctly. Extend the on-disk > format for a timestamp to include an 8-bit epoch counter so that we > can extend time for up to 255 Unix epochs. This should be good for > representing timestamps from 1970 to somewhere around 19,000 A.D.... > I assume you're using an 'epoch' variable and not simply using the padding byte as an eight-bit prefix to the existing 32-bit counter because the existing counter is signed ? For long term sanity it might make more sense for the eight-bit value to be a simple (sign-extended) prefix from 1970. So if the feature bit is set it's a 40-bit signed time, which is good for 1970 +/- 17400 years or so. -- Roger From arnd@arndb.de Mon Jun 2 06:45:51 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 078657F6B for ; Mon, 2 Jun 2014 06:45:51 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id CF785304032 for ; Mon, 2 Jun 2014 04:45:50 -0700 (PDT) X-ASG-Debug-ID: 1401709548-04cb6c1009cbfa0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) by cuda.sgi.com with ESMTP id ykqBmIB3ZIorCObz (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 04:45:48 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.10 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue101) with ESMTP (Nemesis) id 0M3jlp-1WaAme2FRB-00rLBd; Mon, 02 Jun 2014 13:43:45 +0200 From: Arnd Bergmann To: Dave Chinner Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 13:43:44 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <7106937.MLk03lftzD@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140602002822.GQ14410@dastard> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <20140601002437.GL14410@dastard> <20140602002822.GQ14410@dastard> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:fRAV9wDDOcEBbFybEsLcMyqv/ZBAftOBgtS3iQf+ECG rrUdoe9Xm0FA2ZhUDN+zhYmwGmXMe1BSZich9WINlfbDsp5EBl NhfdoELzAFf2QMS0K6aArK2IdXk3swnxvvFKVzxDiUI3aVrK9J 6fLp+y6ZjM/IfZuA4S1KHYZlHntSgMyBRwWjBW1kpqgfgGsZvQ 2FWszLtnoiWw/BFId+GbBkF0ckpRh/AKGhf6cVXMJcxb4PpJAU NnjLF/rH1NLjVuI+fa2hZHMR5MpuiplkabmgT7xtN2UeLed+a4 miWtJOsyCLhnWig3Jt2YFHcYaMz/EiYhA7Gg2DcE+MctqLvsVq wDY5pc+y3j3JloKLGyWI= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.10] X-Barracuda-Start-Time: 1401709548 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6312 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 10:28:22 Dave Chinner wrote: > On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > > In my list at http://kernelnewbies.org/y2038, I found that almost > > > all file systems at least times until 2106, because they treat > > > the on-disk value as unsigned on 64-bit systems, or they use > > > a completely different representation. My guess is that somebody > > > earlier spent a lot of work on making that happen. > > > > > > The exceptions are: > > > > > > * exofs uses signed values, which can probably be changed to be > > > consistent with the others. > > > * isofs has a bug that limits it until 2027 on architectures with > > > a signed 'char' type (otherwise it's 2155). > > > * udf can represent times for many thousands of years through a > > > 16-bit year representation, but the code to convert to epoch > > > uses a const array that ends at 2038. > > > * afs uses signed seconds and can probably be fixed > > > * coda relies on user space time representation getting passed > > > through an ioctl. > > > * I miscategorized xfs/ext2/ext3 as having unsigned 32-bit seconds, > > > where they really use signed. > > > > > > I was confused about XFS since I didn't noticed that there are > > > separate xfs_ictimestamp_t and xfs_timestamp_t types, so I expected > > > XFS to also use the 1970-2106 time range on 64-bit systems today. > > > > You've missed an awful lot more than just the implications for the > > core kernel code. > > > > There's a good chance such changes propagate to APIs elsewhere in > > the filesystems, because something you haven't realised is that XFS > > effectively exposes the on-disk timestamp format directly to > > userspace via the bulkstat interface (see struct xfs_bstat). It also > > affects the XFS open-by-handle ioctl and the swap extent ioctl used > > by the online defragmenter. I really didn't look at them at all, as ioctl is very late on my mental list of things to change. I do realize that a lot of drivers and file systems do have ioctls that pass time values and we need to address them one by one. I just looked at the ioctls you mentioned but don't see how open-by-handle is affected by this. Can you point me to what you mean? > Just to put that in context, here's the kernel patch to add extended > epoch support to XFS. It's completely untested as I haven't done any > userspace code changes to enable the feature. However, it should > give you an indication of how far the simple act of changing the > kernel time representation spread through the filesystem. This does > not include any of the VFS infrastructure to specifying the range of > supported timestamps. It survives some smoke testing, but dies when > the online defragmenter starts using the bulkstat and swap extent > ioctls (the assert in xfs_inode_time_from_epoch() fires), so I > probably don't have that all sorted correctly yet... > > To test extended epoch support, however, I need to some fstests that > define and validate the behaviour of the new syscalls - until we get > those we can't validate that the filesystem follows the spec > properly. I also suspect we are going to need an interface to query > the supported range of timestamps from a filesystem so that we can > test boundary conditions in an automated fashion.... Thanks a lot for having an initial look at this yourself! I'd still consider the two problems largely orthogonal. My patch set (at least with the 64-bit tv_sec) just gets 32-bit kernels to behave more like 64-bit kernels regarding inode time stamps, which does impact all the file systems that the a 64-bit time or the NFS unsigned epoch (1970-2106), while your patch extends the file system internal epoch (1901-2038 for XFS) so it can be used by anything that knows how to handle larger than 32-bit second values (either 64-bit kernel or 32-bit with inode_time patch). > diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h > index 623bbe8..79f94722 100644 > --- a/fs/xfs/xfs_dinode.h > +++ b/fs/xfs/xfs_dinode.h > @@ -21,11 +21,53 @@ > #define XFS_DINODE_MAGIC 0x494e /* 'IN' */ > #define XFS_DINODE_GOOD_VERSION(v) ((v) >= 1 && (v) <= 3) > > +/* > + * Inode timestamps get more complex when we consider supporting times beyond > + * the standard unix epoch of Jan 2038. The struct xfs_timestamp cannot support > + * more than a single extension by playing sign games, and that is still not > + * reliable. We also can't extend the timestamp structure because there is no > + * free space around them in the on-disk inode. > + * > + * Hence the simplest thing to do is to add an epoch counter for each timestamp > + * in the inode. This can be a single byte for each timestamp and make use of > + * a hole we currently pad. This gives us another 255 epochs range for the > + * timestamps, but requires a superblock feature bit to indicate that these > + * fields have meaning and can be non-zero. Nice trick! > +static inline __uint8_t > +xfs_timestamp_epoch( > + struct timespec *time) > +{ > + /* will be zero until the extended struct inode_time is introduced */ > + return 0; > +} > + > +static inline __int32_t > +xfs_timestamp_sec( > + struct timespec *time) > +{ > + return time->tv_sec; > +} > + > +static inline __kernel_time_t > +xfs_inode_time_from_epoch( > + __uint8_t epoch, > + __int32_t seconds) > +{ > + /* need to handle non-zero epoch when struct inode_time is introduced */ > + ASSERT(epoch == 0); > + return seconds; > +} Why don't you already implement epoch conversion for 64-bit kernels that are able to represent the time today? This is how ext4 does it (I mean the sizeof() trick, not the bit stuffing they do): static inline __le32 ext4_encode_extra_time(struct inode_time *time) { return cpu_to_le32((sizeof(time->tv_sec) > 4 ? (time->tv_sec >> 32) & EXT4_EPOCH_MASK : 0) | ((time->tv_nsec << EXT4_EPOCH_BITS) & EXT4_NSEC_MASK)); } static inline void ext4_decode_extra_time(struct inode_time *time, __le32 extra) { if (sizeof(time->tv_sec) > 4) time->tv_sec |= (__u64)(le32_to_cpu(extra) & EXT4_EPOCH_MASK) << 32; time->tv_nsec = (le32_to_cpu(extra) & EXT4_NSEC_MASK) >> EXT4_EPOCH_BITS; } I guess if there is general agreement on introducing 'struct inode_time', we can skip that intermediate step. > @@ -509,8 +509,11 @@ xfs_sb_has_ro_compat_feature( > } > > #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ > +#define XFS_SB_FEAT_INCOMPAT_EPOCH (1 << 1) /* Time beyond 2038 */ > #define XFS_SB_FEAT_INCOMPAT_ALL \ > - (XFS_SB_FEAT_INCOMPAT_FTYPE) > + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ > + XFS_SB_FEAT_INCOMPAT_EPOCH | \ > + 0) > > #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL How does this flag get set? Do you have to manually change it in the superblock? Since most of the time I'd suspect you wouldn't actually use it for the foreseeable future, would it make sense to have a mount option that allows it to be set, but doesn't actually change the superblock until the first inode gets written with a nonzero epoch? That way, you'd still be able to mount it with an older kernel but also be forward compatible with time moving on. Arnd From namjae.jeon@samsung.com Mon Jun 2 06:52:56 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 72D667F5A for ; Mon, 2 Jun 2014 06:52:56 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id CED4DAC003 for ; Mon, 2 Jun 2014 04:52:55 -0700 (PDT) X-ASG-Debug-ID: 1401709972-04cbb050fb1c94e0001-NocioJ Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by cuda.sgi.com with ESMTP id AJUGoO3DZhUQPEaK (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Mon, 02 Jun 2014 04:52:53 -0700 (PDT) X-Barracuda-Envelope-From: namjae.jeon@samsung.com X-Barracuda-Apparent-Source-IP: 203.254.224.34 X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N6J002RJIC39800@mailout4.samsung.com> for xfs@oss.sgi.com; Mon, 02 Jun 2014 20:52:51 +0900 (KST) X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.34] Received: from epcpsbgm1.samsung.com ( [172.20.52.112]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 66.D4.13369.3956C835; Mon, 02 Jun 2014 20:52:51 +0900 (KST) X-AuditID: cbfee690-b7fb56d000003439-db-538c65934f20 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 21.C0.08203.3956C835; Mon, 02 Jun 2014 20:52:51 +0900 (KST) Received: from DONAMJAEJEO06 ([10.88.104.63]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N6J00LAIIC2PE20@mmp1.samsung.com>; Mon, 02 Jun 2014 20:52:51 +0900 (KST) From: Namjae Jeon To: =?iso-8859-2?Q?'Luk=E1=B9_Czerner'?= Cc: 'Dave Chinner' , 'Theodore Ts'o' , 'linux-ext4' , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, 'Ashish Sangwan' References: <003601cf6aa7$883103b0$98930b10$@samsung.com> <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> In-reply-to: Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Date: Mon, 02 Jun 2014 20:52:51 +0900 X-ASG-Orig-Subj: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Message-id: <002201cf7e59$2e684c10$8b38e430$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-2 Content-transfer-encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-index: AQOcBKJD5lk5ojpc7FDcCMzPaSWP+QCjXdQQAXmE8b8CRXdbEJehkH8A Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFIsWRmVeSWpSXmKPExsWyRsSkQHdyak+wwe+JKhZLJ15itthy7B6j xbIHm1ksZs67w2axZ+9JFovLu+awWbT2/GS3WNR3i9GBw+PUIgmPpjNHmT1WX9jK6PF+31U2 j74tqxg9Pm+SC2CL4rJJSc3JLEst0rdL4Mo429PNWPDEtmLhzOVsDYy/9bsYOTkkBEwkPh/7 ygphi0lcuLeerYuRi0NIYCmjxPP7h1hhirYsameBSCxilHjwYh8rhPOXUeLw4hVALRwcbALa En+2iII0iAjYScyd08IEUsMs8IlR4nzfa6ixjxkles+fBhvLKeAuMfHLFCaQZmEBf4kd6/xA wiwCqhKrHn1jBLF5BSwlPhw8wQ5hC0r8mHyPBaScWUBH4uukCJAwM9DaJ+8uQB2qILHj7GtG iBvcJI5uecoKUSMise/FO0aQEyQE/rJLtE9pYYTYJSDxbfIhsJkSArISmw4wQ8yRlDi44gbL BEaJWUg2z0LYPAvJ5llINixgZFnFKJpakFxQnJReZKJXnJhbXJqXrpecn7uJERjPp/89m7CD 8d4B60OMyUDbJzJLiSbnA9NBXkm8obGZkYWpiamxkbmlGWnCSuK8ao+SgoQE0hNLUrNTUwtS i+KLSnNSiw8xMnFwSjUwpmiY7J8mo2Cy/Vn8RV6eXA7DRQ8Z1TbNZRAvP9oauTskX/vmA+XV ialBXjq2i24/uilYo6Z7VXXZ4pfpv6cdNmpf9r16UcydbZxfuzaKONj4ZGoqrVKu1Dyo4Cd4 kneybmrLZ8nPQT7chXON/WrO9Mg/np6gV/NHWXrXvPv9xh8VlfkzGYOVWIozEg21mIuKEwGJ xq6+/QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOKsWRmVeSWpSXmKPExsVy+t9jAd3JqT3BBk9OS1osnXiJ2WLLsXuM FssebGaxmDnvDpvFnr0nWSwu75rDZtHa85PdYlHfLUYHDo9TiyQ8ms4cZfZYfWEro8f7fVfZ PPq2rGL0+LxJLoAtqoHRJiM1MSW1SCE1Lzk/JTMv3VbJOzjeOd7UzMBQ19DSwlxJIS8xN9VW ycUnQNctMwfoICWFssScUqBQQGJxsZK+HaYJoSFuuhYwjRG6viFBcD1GBmggYQ1jxtmebsaC J7YVC2cuZ2tg/K3fxcjJISFgIrFlUTsLhC0mceHeerYuRi4OIYFFjBIPXuxjhXD+MkocXrwC KMPBwSagLfFniyhIg4iAncTcOS1MIDXMAp8YJc73vYbqfswo0Xv+NCtIFaeAu8TEL1OYQJqF BfwldqzzAwmzCKhKrHr0jRHE5hWwlPhw8AQ7hC0o8WPyPRaQcmYBHYmvkyJAwsxAa5+8u8AK caiCxI6zrxkhbnCTOLrlKStEjYjEvhfvGCcwCs1CMmkWwqRZSCbNQtKxgJFlFaNoakFyQXFS eq6hXnFibnFpXrpecn7uJkZwsngmtYNxZYPFIUYBDkYlHt6f6j3BQqyJZcWVuYcYJTiYlUR4 l1oAhXhTEiurUovy44tKc1KLDzEmA/05kVlKNDkfmMjySuINjU3MjCyNzA0tjIzNSRNWEuc9 0GodKCSQnliSmp2aWpBaBLOFiYNTqoGx4pLnv1czLVdxqL9Pafz+raXhcZ+BznfxoNYwTTfJ v5FPFW5PkmmZH+f0xehl7ab+iRv3efPX7dj6xJ5v79NHNt0moRpVy8P+suZ9L1stt2WG0rVz sl/v2TtWr3rgbn4/u7judvHqKoW9DAtyGFIsDUyWm37sYTx8Tu2Xzby5W3Mzr6i6uYgpsRRn JBpqMRcVJwIAo9SKYloDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Barracuda-Connect: mailout4.samsung.com[203.254.224.34] X-Barracuda-Start-Time: 1401709973 X-Barracuda-Encrypted: RC4-MD5 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 >=20 > > Date: Sat, 31 May 2014 16:40:29 +0900 > > From: Namjae Jeon > > To: 'Luk=E1=B9 Czerner' > > Cc: 'Dave Chinner' , 'Theodore Ts'o' = , > > 'linux-ext4' , xfs@oss.sgi.com, > > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > > 'Ashish Sangwan' > > Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE = for > > fallocate > > > > > > > > Date: Thu, 08 May 2014 19:23:19 +0900 > > > > From: Namjae Jeon > > > > To: Dave Chinner , Theodore Ts'o = > > > > Cc: linux-ext4 , xfs@oss.sgi.com, > > > > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > > > > Ashish Sangwan > > > > Subject: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE = for fallocate > > > > > > > > In continuation of the work of making the process of non linear = editing of > > > > media files faster, we introduce here the new flag = FALLOC_FL_INSERT_RANGE > > > > for fallocate. > > > > > > > > This flag will work opposite to the newly added = FALLOC_FL_COLLAPSE_RANGE flag. > > > > As such, specifying FALLOC_FL_INSERT_RANGE flag will insert = zeroed-out space > > > > in between the file within the range specified by offset and = len. User can > > > > write new data in this space. e.g. ads. > > > > Like collapse range, currently we have the limitation that = offset and len should > > > > be block size aligned for both XFS and Ext4. > > > > > > > > The semantics of the flag are : > > > > 1) It allocates new zeroed out on disk space of len bytes = starting > > > > at offset byte without overwriting any existing data. All the = data blocks > > > > from offset to EOF are shifted towards right to make space = for inserting > > > > new blocks > > > > > > Hi, > > > > > > this sounds a little bit weird to me. I understand the reason for > > > this, but this is effectively two operations masking as one. We > > > shift the existing data and then we allocate unwritten extents for > > > the hole we've created. > > > > > > What would make more sense to me is to implement only the first > > > operation - the shift. And then let the user to allocate unwritten > > > extents for the hole using simple fallocate. > > > > > > The reason is that if you succeed the first part and then fail the > > > second due to ENOSPC or any other reason the file will end up in > > > undefined state unnecessarily. Yes in your current implementation > > > it seems that you'll always end up with the hole in the file and = the > > > rest is properly shifted, but that may vary from file system to = file > > > system. Some might choose to roll back the shift, some might not. > > > > > > If FALLOC_FL_INSERT_RANGE (or any name you wish to choose) would > > > just simply shift the extents then you'll get rid of this and the > > > only thing that user needs to do (if he chooses to) is to use > > > fallocate for the hole created by the shift. If it fails, then > > > well, he can try again without any consequences. As a bonus you = get > > > the possibility to leave the hole in the file which might be = useful > > > as well. > > > > > > With current behaviour this might get very confusing very quickly. > > > > > > What do you and others think ? > > Hi Lukas. > > Insert range inherently means inserting a real range of space into > > the file to provide guaranteed space with user in the inserted area > > so that further writes should not fail with an -ENOSPC at least. > > If insert range cannot gurantees the above semantics, It should > > return error to user space. >=20 > So what will happen when there is not enough space when "inserting a > range" ? And how should user proceed from there ? If insert range fails with an ENOSPC error, user could use collapse range on the same range to remove the hole. And after freeing more space, he can again try inserting range. Ofcourse, this type of guidance should be properly documented in manpage. When updating fallocate(2) manpage, I will keep in mind to describe ENOSPC handling. >=20 > > > > If insert range has been performed on a file, It will reserve space > > that write never fail in the inserted area, > > In case of full partition or small available size than the range > > user want, It seems odd just only left inserting a hole in the = middle > > of file and return success to user when no one can really write to > > this hole. >=20 > There is a fallocate for allocation, so as I already said you can > shift the extents to make a hole in the file and then use fallocate > to allocate space for it and you'll get the same result. You are > basically doing that now as well, but when the allocation fails the > whole "insert range" ioct fails, however the extents are already > shifter and there is already a holi in the file so freeing some > space and running this ioctl again will not help you at all. While > if you fail a fallocate, you can free some space and run it again > without any problems. The result will be as expected. >=20 > What I am arguing about is basically that your insert range ioct is > masking two operations as one. Why not to make it transparent and > split it into "shift extents" and fallocate ? Then there is a > question about the name because it's no longer "insert range" but > rather "insert hole" which I think is better and arguably more > useful semantic. The same thoeory can be argued against collapse range semantics too. One can argue that collapse range should not remove any data blocks from the specified range as that can be done by punch hole, so user should first perform punch hole and then call collapse range to eliminate the hole. There are 2 reasons I make insert range to allocate space. One is to keep insert range behavior as exactly opposite of the collapse range and it is named as such so that it seems obvious that it is related with collapse range. Other one is that, there will always be need of allocating space for data after making hole. So doing this within insert range is saving user from making 1 extra sys call. That said, I agree with you that it is arguable and I am not biased to this behavior. Probably, need some more thoughts from other fs people. Thanks for your opinion! >=20 > Thanks! > -Lukas >=20 > > > > Thanks! > > > > > > Thanks! > > > -LUkas > > > > > > > > > > 2) It should be used exclusively. No other fallocate flag in = combination. > > > > 3) Offset and length supplied to fallocate should be fs block = size aligned > > > > in case of xfs and ext4. > > > > 4) Insert range does not work for the case when offset is = overlapping/beyond > > > > i_size. If the user wants to allocate space at the end of = file they are > > > > advised to use either ftruncate(2) or fallocate(2) with mode = 0. > > > > 5) It increses the size of file by len bytes. > > > > > > > > > > > > Namjae Jeon (10): > > > > fs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > xfsprogs: xfs_io: add finsert command for insert range via = fallocate > > > > xfstests: generic/027: Standard insert range tests > > > > xfstests: generic/028: Delayed allocation insert range > > > > xfstests: generic/029: Multi insert range tests > > > > xfstests: generic/030: Delayed allocation multi insert > > > > xfstests: fsstress: Add fallocate insert range operation > > > > xfstests: fsx: Add fallocate insert range operation > > > > > > > > > > > > From tytso@thunk.org Mon Jun 2 06:58:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 937B07F5D for ; Mon, 2 Jun 2014 06:58:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 26725AC002 for ; Mon, 2 Jun 2014 04:58:21 -0700 (PDT) X-ASG-Debug-ID: 1401710298-04bdf0599f3f9310001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id 5c4wFJuRQDHNCUbx (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 04:58:18 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=wG0mFEioOsWQ6shRxrFB1C17CIyr1KbDTpoJM6nhYJY=; b=d3Jm03pp/sQcpwMK5QNSdh1k9Mn0gwKc72vw+4rH/ONwsQJ1VkuNmmbb7olh2dhrE3YUlLfGc2EPKUy1rR9D4w0krHycPylz7SPBU70WhIqiLNYCepohDix9i21a11CJtH6MKOU77cyMR/7pxhddZgYgapf/1FY7qGcAqHPpqzI=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrQry-0000Ha-5q; Mon, 02 Jun 2014 11:57:38 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id 6A1F35802C1; Mon, 2 Jun 2014 07:57:37 -0400 (EDT) Date: Mon, 2 Jun 2014 07:57:37 -0400 From: Theodore Ts'o To: Arnd Bergmann Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602115737.GB14276@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4178301.j9kWdGCRLC@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401710298 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6313 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 12:56:42PM +0200, Arnd Bergmann wrote: > > I think you misunderstood what I suggested: the intent is to avoid > seeing things break in 2038 by making them break much earlier. We have > a solution for ext2 file systems, it's called ext4, and we just need > to ensure that everybody knows they have to migrate eventually. > > At some point before the mid 2030ies, you should no longer be able to > build a kernel that has support for ext2 or any other module that will > run into bugs later.... Even for ext4, it's not quite so simple as that. You only have support for times post 2038 if you are using an inode size > 128 bytes. There are a very, very large number of machines which even today, are using 128 byte inodes with ext4 for performance reasons. The vast majority of those machines which I know of can probably move to 256 byte inodes relatively easily, since hard drive replacement cycles are order 5-6 years tops, so I'm not that concerned, but it just goes to show this is a very complicated problem. And even if we're talking about flash and embedded devices, the good news is if you assume that 10 years is enough time for people to update their embedded OS builds, and that the vast majority of deployed devices will probably only be in service for 10-15 years, we do have enough time to make file system format changes, although admittedly we can't afford to dilly-dally. Regards, - Ted From arnd@arndb.de Mon Jun 2 07:40:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 597537F5F for ; Mon, 2 Jun 2014 07:40:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 40DFA304051 for ; Mon, 2 Jun 2014 05:40:01 -0700 (PDT) X-ASG-Debug-ID: 1401712799-04cb6c100cd1580001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id mCeKB6WC1xSO8xiH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 05:39:59 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue001) with ESMTP (Nemesis) id 0LeUuc-1WSnNs1YgI-00qUSI; Mon, 02 Jun 2014 14:38:10 +0200 From: Arnd Bergmann To: Theodore Ts'o Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 14:38:09 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <4910284.a72lauVLNV@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140602115737.GB14276@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4178301.j9kWdGCRLC@wuerfel> <20140602115737.GB14276@thunk.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:hyHxUAEYL2K/w3t7GxaXRbyCBjx/nTbUpXXBN/9TR/3 zyy3JU/06PnUmYxEEexsgPQEhAG6cL+sMrCMrjXu3jJVqeWdmB FDgeJzJUYad1c/8C8CDFHK+ndhd3VGvs+xNjk5j1LPSK4UhTTe xwJyF/Y8rP6djwK+mf5X/zX+WMlNn4yVvzX0Q5hBKF57Y2D2oS XNyoN69Z2YgulUHnLaP1/J9d3glXrSN8jqUeeW5EuSNIPm1khD Cj4YXutvaTIT8zvAzaOoZEnh5n0HnVV7UD1xYonl90yy9QdWY/ eNuUUwiqys/aIp0/Ivt8/fFNL3eltbKllKWHAKy0b1Zw4QMbtw /ZJc81fL8H6Fcu+AXJOc= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401712799 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6313 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 07:57:37 Theodore Ts'o wrote: > On Mon, Jun 02, 2014 at 12:56:42PM +0200, Arnd Bergmann wrote: > > > > I think you misunderstood what I suggested: the intent is to avoid > > seeing things break in 2038 by making them break much earlier. We have > > a solution for ext2 file systems, it's called ext4, and we just need > > to ensure that everybody knows they have to migrate eventually. > > > > At some point before the mid 2030ies, you should no longer be able to > > build a kernel that has support for ext2 or any other module that will > > run into bugs later.... > > Even for ext4, it's not quite so simple as that. You only have > support for times post 2038 if you are using an inode size > 128 > bytes. There are a very, very large number of machines which even > today, are using 128 byte inodes with ext4 for performance reasons. > > The vast majority of those machines which I know of can probably move > to 256 byte inodes relatively easily, since hard drive replacement > cycles are order 5-6 years tops, so I'm not that concerned, but it > just goes to show this is a very complicated problem. Ok, I see. I also now noticed this comment above EXT4_FITS_IN_INODE(): "For new inodes we always reserve enough space for the kernel's known extended fields, but for inodes created with an old kernel this might not have been the case. None of the extended inode fields is critical for correct filesystem operation." Do we have to worry about this for inodes that contain extended attributes and that get updated after 2038? Arnd From arnd@arndb.de Mon Jun 2 07:54:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 9A9AA7F66 for ; Mon, 2 Jun 2014 07:54:01 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2FD3AAC001 for ; Mon, 2 Jun 2014 05:53:58 -0700 (PDT) X-ASG-Debug-ID: 1401713635-04bdf059a13ffd50001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) by cuda.sgi.com with ESMTP id k6cDCUKVWAmU7l86 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 05:53:56 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.10 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue105) with ESMTP (Nemesis) id 0MSa8q-1XGe4H3jeO-00RdMk; Mon, 02 Jun 2014 14:52:14 +0200 From: Arnd Bergmann To: Theodore Ts'o Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 14:52:13 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <15496653.1vSv1RUCC0@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140602115737.GB14276@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4178301.j9kWdGCRLC@wuerfel> <20140602115737.GB14276@thunk.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:Og6uvkG7nhSQ3FBH+zzsRjY83ZWdKEvQC6Cgd1rzE79 LgH0wKzyn8AkTY/kJQQ2b1U/wW0ETUZgy/E0p2mJpAiy87I5mi OtgXeNND/vPcNTI8Oi4L4MzkfFa/yaPC38RiixMusSUJHSU6pT L9oW8z4Hf1R+in1vhlkdbaOQ2VLHVLlx3DRxhK7Wn9t86tdZkH L85M0RtSOv8exNH+ymxWV/C9Vwr9v0DjIOJXk0HEZGj7iX3ylL 6CYYstSCakFz/TIdH6CVCWp7uzWuPZ0u7vOSR4FEBI1PHx47e/ BgJq68NoNSnBm71/O1I7gchdMFtaY+59jRkD2WOdMDBhDJpXWZ tMlVXunpEkCUlDkvgu2g= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.10] X-Barracuda-Start-Time: 1401713636 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 07:57:37 Theodore Ts'o wrote: > On Mon, Jun 02, 2014 at 12:56:42PM +0200, Arnd Bergmann wrote: > > > > I think you misunderstood what I suggested: the intent is to avoid > > seeing things break in 2038 by making them break much earlier. We have > > a solution for ext2 file systems, it's called ext4, and we just need > > to ensure that everybody knows they have to migrate eventually. > > > > At some point before the mid 2030ies, you should no longer be able to > > build a kernel that has support for ext2 or any other module that will > > run into bugs later.... > > Even for ext4, it's not quite so simple as that. You only have > support for times post 2038 if you are using an inode size > 128 > bytes. There are a very, very large number of machines which even > today, are using 128 byte inodes with ext4 for performance reasons. > > The vast majority of those machines which I know of can probably move > to 256 byte inodes relatively easily, since hard drive replacement > cycles are order 5-6 years tops, so I'm not that concerned, but it > just goes to show this is a very complicated problem. One stupid question about the current code: static inline void ext4_decode_extra_time(struct inode_time *time, __le32 extra) { if (sizeof(time->tv_sec) > 4) time->tv_sec |= (__u64)(le32_to_cpu(extra) & EXT4_EPOCH_MASK) << 32; time->tv_nsec = (le32_to_cpu(extra) & EXT4_NSEC_MASK) >> EXT4_EPOCH_BITS; } #define EXT4_EINODE_GET_XTIME(xtime, einode, raw_inode) \ do { \ if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime)) \ (einode)->xtime.tv_sec = \ (signed)le32_to_cpu((raw_inode)->xtime); \ else \ (einode)->xtime.tv_sec = 0; \ if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra)) \ ext4_decode_extra_time(&(einode)->xtime, \ raw_inode->xtime ## _extra); \ else \ (einode)->xtime.tv_nsec = 0; \ } while (0) For a time between 2038 and 2106, this looks like xtime.tv_sec is negative when ext4_decode_extra_time gets called, so the '|=' operator doesn't actually do anything. Shouldn't that be '+='? Arnd From lczerner@redhat.com Mon Jun 2 08:06:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BB3107F67 for ; Mon, 2 Jun 2014 08:06:33 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 334FBAC002 for ; Mon, 2 Jun 2014 06:06:33 -0700 (PDT) X-ASG-Debug-ID: 1401714388-04cb6c100ad3be0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id SFg1CRQ7IgKryMMY for ; Mon, 02 Jun 2014 06:06:28 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s52D6IQG031027 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 2 Jun 2014 09:06:18 -0400 Received: from vpn1-6-254.ams2.redhat.com (vpn1-6-254.ams2.redhat.com [10.36.6.254]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s52D6ETP018303 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Jun 2014 09:06:15 -0400 Date: Mon, 2 Jun 2014 15:06:13 +0200 (CEST) From: =?ISO-8859-15?Q?Luk=E1=A8_Czerner?= X-X-Sender: lczerner@localhost.localdomain To: Namjae Jeon cc: "'Dave Chinner'" , "'Theodore Ts'o'" , "'linux-ext4'" , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, "'Ashish Sangwan'" Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate In-Reply-To: <002201cf7e59$2e684c10$8b38e430$@samsung.com> X-ASG-Orig-Subj: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Message-ID: References: <003601cf6aa7$883103b0$98930b10$@samsung.com> <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> <002201cf7e59$2e684c10$8b38e430$@samsung.com> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-307683217-1401714377=:2231" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401714388 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-307683217-1401714377=:2231 Content-Type: TEXT/PLAIN; charset=iso-8859-2 Content-Transfer-Encoding: 8BIT On Mon, 2 Jun 2014, Namjae Jeon wrote: > Date: Mon, 02 Jun 2014 20:52:51 +0900 > From: Namjae Jeon > To: 'Luká¹ Czerner' > Cc: 'Dave Chinner' , 'Theodore Ts'o' , > 'linux-ext4' , xfs@oss.sgi.com, > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > 'Ashish Sangwan' > Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for > fallocate > > > > > > Date: Sat, 31 May 2014 16:40:29 +0900 > > > From: Namjae Jeon > > > To: 'Luká¹ Czerner' > > > Cc: 'Dave Chinner' , 'Theodore Ts'o' , > > > 'linux-ext4' , xfs@oss.sgi.com, > > > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > > > 'Ashish Sangwan' > > > Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for > > > fallocate > > > > > > > > > > > Date: Thu, 08 May 2014 19:23:19 +0900 > > > > > From: Namjae Jeon > > > > > To: Dave Chinner , Theodore Ts'o > > > > > Cc: linux-ext4 , xfs@oss.sgi.com, > > > > > linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, > > > > > Ashish Sangwan > > > > > Subject: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate > > > > > > > > > > In continuation of the work of making the process of non linear editing of > > > > > media files faster, we introduce here the new flag FALLOC_FL_INSERT_RANGE > > > > > for fallocate. > > > > > > > > > > This flag will work opposite to the newly added FALLOC_FL_COLLAPSE_RANGE flag. > > > > > As such, specifying FALLOC_FL_INSERT_RANGE flag will insert zeroed-out space > > > > > in between the file within the range specified by offset and len. User can > > > > > write new data in this space. e.g. ads. > > > > > Like collapse range, currently we have the limitation that offset and len should > > > > > be block size aligned for both XFS and Ext4. > > > > > > > > > > The semantics of the flag are : > > > > > 1) It allocates new zeroed out on disk space of len bytes starting > > > > > at offset byte without overwriting any existing data. All the data blocks > > > > > from offset to EOF are shifted towards right to make space for inserting > > > > > new blocks > > > > > > > > Hi, > > > > > > > > this sounds a little bit weird to me. I understand the reason for > > > > this, but this is effectively two operations masking as one. We > > > > shift the existing data and then we allocate unwritten extents for > > > > the hole we've created. > > > > > > > > What would make more sense to me is to implement only the first > > > > operation - the shift. And then let the user to allocate unwritten > > > > extents for the hole using simple fallocate. > > > > > > > > The reason is that if you succeed the first part and then fail the > > > > second due to ENOSPC or any other reason the file will end up in > > > > undefined state unnecessarily. Yes in your current implementation > > > > it seems that you'll always end up with the hole in the file and the > > > > rest is properly shifted, but that may vary from file system to file > > > > system. Some might choose to roll back the shift, some might not. > > > > > > > > If FALLOC_FL_INSERT_RANGE (or any name you wish to choose) would > > > > just simply shift the extents then you'll get rid of this and the > > > > only thing that user needs to do (if he chooses to) is to use > > > > fallocate for the hole created by the shift. If it fails, then > > > > well, he can try again without any consequences. As a bonus you get > > > > the possibility to leave the hole in the file which might be useful > > > > as well. > > > > > > > > With current behaviour this might get very confusing very quickly. > > > > > > > > What do you and others think ? > > > Hi Lukas. > > > Insert range inherently means inserting a real range of space into > > > the file to provide guaranteed space with user in the inserted area > > > so that further writes should not fail with an -ENOSPC at least. > > > If insert range cannot gurantees the above semantics, It should > > > return error to user space. > > > > So what will happen when there is not enough space when "inserting a > > range" ? And how should user proceed from there ? > If insert range fails with an ENOSPC error, user could use collapse > range on the same range to remove the hole. > And after freeing more space, he can again try inserting range. > Ofcourse, this type of guidance should be properly documented in > manpage. When updating fallocate(2) manpage, I will keep in mind to > describe ENOSPC handling. Why collapse ? The hole is already there right ? Why not just use fallocate to allocate the space for the hole. And that's my point actually. Why not do it this way in the first place, because this is really counterintuitive. > > > > > > > > If insert range has been performed on a file, It will reserve space > > > that write never fail in the inserted area, > > > In case of full partition or small available size than the range > > > user want, It seems odd just only left inserting a hole in the middle > > > of file and return success to user when no one can really write to > > > this hole. > > > > There is a fallocate for allocation, so as I already said you can > > shift the extents to make a hole in the file and then use fallocate > > to allocate space for it and you'll get the same result. You are > > basically doing that now as well, but when the allocation fails the > > whole "insert range" ioct fails, however the extents are already > > shifter and there is already a holi in the file so freeing some > > space and running this ioctl again will not help you at all. While > > if you fail a fallocate, you can free some space and run it again > > without any problems. The result will be as expected. > > > > What I am arguing about is basically that your insert range ioct is > > masking two operations as one. Why not to make it transparent and > > split it into "shift extents" and fallocate ? Then there is a > > question about the name because it's no longer "insert range" but > > rather "insert hole" which I think is better and arguably more > > useful semantic. > The same thoeory can be argued against collapse range semantics too. > One can argue that collapse range should not remove any data blocks > from the specified range as that can be done by punch hole, so user > should first perform punch hole and then call collapse range to > eliminate the hole. That does not make any sense. The whole idea behind collapse range is, well collapse the range which means move the extents. And once you do that there is nothing to punch out. Puncing first and collapse later will not bring you anything at all. > There are 2 reasons I make insert range to allocate space. > One is to keep insert range behavior as exactly opposite of > the collapse range and it is named as such so that it seems obvious > that it is related with collapse range. > Other one is that, there will always be need of allocating space for > data after making hole. So doing this within insert range is saving > user from making 1 extra sys call. You're assuming that everyone will be using it the same way you intent to use it. That's not true however. There will be perfectly valid use cases for not allocating space for newly created hole. >From the top of my head, for example qemu could use it for volume management on top of image files - changing the size of the partitions without moving data around. And I bet there will be more use cases. With insert hole semantics it will give you more flexibility. -Lukas > That said, I agree with you that it is arguable and I am not biased > to this behavior. > Probably, need some more thoughts from other fs people. > > Thanks for your opinion! > > > > > Thanks! > > -Lukas > > > > > > > > Thanks! > > > > > > > > Thanks! > > > > -LUkas > > > > > > > > > > > > > 2) It should be used exclusively. No other fallocate flag in combination. > > > > > 3) Offset and length supplied to fallocate should be fs block size aligned > > > > > in case of xfs and ext4. > > > > > 4) Insert range does not work for the case when offset is overlapping/beyond > > > > > i_size. If the user wants to allocate space at the end of file they are > > > > > advised to use either ftruncate(2) or fallocate(2) with mode 0. > > > > > 5) It increses the size of file by len bytes. > > > > > > > > > > > > > > > Namjae Jeon (10): > > > > > fs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > > xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > > ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate > > > > > xfsprogs: xfs_io: add finsert command for insert range via fallocate > > > > > xfstests: generic/027: Standard insert range tests > > > > > xfstests: generic/028: Delayed allocation insert range > > > > > xfstests: generic/029: Multi insert range tests > > > > > xfstests: generic/030: Delayed allocation multi insert > > > > > xfstests: fsstress: Add fallocate insert range operation > > > > > xfstests: fsx: Add fallocate insert range operation > > > > > > > > > > > > > > > > > > --8323328-307683217-1401714377=:2231-- From tytso@thunk.org Mon Jun 2 08:07:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 4E6A57F74 for ; Mon, 2 Jun 2014 08:07:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 38763304043 for ; Mon, 2 Jun 2014 06:07:26 -0700 (PDT) X-ASG-Debug-ID: 1401714440-04cbb050fd1d1480001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id GOfU1kEOIL1pFPsA (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 06:07:21 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=DvRPK2VjiFvHp+UlPjtaYqtso1BxT636PbJgbvinHoc=; b=pJ++/3yoYPvIQpoiG11yc9KJuAPVAZV6iMhHbLypF/2dg4RnnA5iZF9n15NrTc9fUj4b+F1RrWAYPJrzrs+D7X5yyw6X2hlxdTEfiTDh7Pz7w/WHrnbiPJvPpCIJCihlVWZU8IJ2bvukP9scUbrYAs9LtWQOOzbxpywBG0J37wU=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrRx7-00010w-Fs; Mon, 02 Jun 2014 13:07:01 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id CE7405802C1; Mon, 2 Jun 2014 09:07:00 -0400 (EDT) Date: Mon, 2 Jun 2014 09:07:00 -0400 From: Theodore Ts'o To: Arnd Bergmann Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602130700.GC14276@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4178301.j9kWdGCRLC@wuerfel> <20140602115737.GB14276@thunk.org> <15496653.1vSv1RUCC0@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <15496653.1vSv1RUCC0@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401714440 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Yes, there are some ongoing dicussions about changing the post-2038 encoding of the timestamp in ext4, which is why this hasn't been fixed yet. The main thing that's been missing is time for me to review the patches, and a good way of writing regression tests that will work (or at least not fail) on build environments with a 32-bit time_t and 32-bit-only capable versions of functions such as gmtime(3). And given current discussions, I may want to think about some kind of superblock flag to allow the use of a 32-bit unsigned encoding for file systems using a 128-byte inode, with a way of setting that flag after scanning the file system to make sure there are no times that are previous to January 1, 1970. (Or more generally, allow any epoch to be defined using a 64-bit time_t offset stored in the superblock...) Cheers, - Ted From tytso@thunk.org Mon Jun 2 08:16:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 5501C7F72 for ; Mon, 2 Jun 2014 08:16:07 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 21DB8304039 for ; Mon, 2 Jun 2014 06:16:06 -0700 (PDT) X-ASG-Debug-ID: 1401714964-04bdf0599e402450001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id q9IyTgKGajm07ikR (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 06:16:04 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=1TtxTK+LMLweW6LeRm+yCZK7qhIvg8Ti1lCj0xP882Q=; b=ygsFxFAAvGdGpO+WVrOQ3ANgbEjnKUbBNDR+8jZsphH6YOcW764dQGcQT+21gSfd+u4bmNDW1FfOjFOrzzjROWRmNyvqMgFsbGwcIm+bDuXBI4n++40KbQV3VFzE7GN9ZJzSLkjL8qxxCFQ6l6zMopqNS1RE0k6zRwRa0BW5HAw=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrS5k-00012v-Ab; Mon, 02 Jun 2014 13:15:56 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id A4E465802C1; Mon, 2 Jun 2014 09:15:55 -0400 (EDT) Date: Mon, 2 Jun 2014 09:15:55 -0400 From: Theodore Ts'o To: Arnd Bergmann Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602131555.GD14276@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4178301.j9kWdGCRLC@wuerfel> <20140602115737.GB14276@thunk.org> <4910284.a72lauVLNV@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4910284.a72lauVLNV@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401714964 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6314 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 02:38:09PM +0200, Arnd Bergmann wrote: > > "For new inodes we always reserve enough space for the kernel's known > extended fields, but for inodes created with an old kernel this might > not have been the case. None of the extended inode fields is critical > for correct filesystem operation." > > Do we have to worry about this for inodes that contain extended > attributes and that get updated after 2038? In practice, the extended timestamps was one of the first things added to ext4, so the vast majority of ext4 file systems with inode sizes > 128 bytes will have room for the extended timestamps. There are some legacy ext3 file systems with 256-byte inodes (enabled for fast sotrage of SELinux xattrs) that in theory, could have been converted to ext4 and had enough xattrs so that the extended timestamps couldn't be added. That would be a vanishingly small use case, and in practice, it's not likely to be the case for the embedded market. I could imagine someone worrying about file systems originally formatted using RHEL 4 post-2038 (perhaps running in a VM), but I don't work for IBM any more, and hopefully even IBM would just tell such customers that they need to suck it up, and do a backup/reformat/restore pass. Cheers, - Ted From joseph_myers@mentor.com Mon Jun 2 08:52:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2FB8C7F55 for ; Mon, 2 Jun 2014 08:52:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1B6E38F8049 for ; Mon, 2 Jun 2014 06:52:36 -0700 (PDT) X-ASG-Debug-ID: 1401717154-04cbb050fc1d6050001-NocioJ Received: from relay1.mentorg.com (relay1.mentorg.com [192.94.38.131]) by cuda.sgi.com with ESMTP id 87g01MqOrm9NF29P (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 06:52:35 -0700 (PDT) X-Barracuda-Envelope-From: joseph_myers@mentor.com X-Barracuda-Apparent-Source-IP: 192.94.38.131 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1WrSf1-0001m3-Q5 from joseph_myers@mentor.com ; Mon, 02 Jun 2014 06:52:23 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Mon, 2 Jun 2014 06:52:23 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.2.247.3; Mon, 2 Jun 2014 14:52:20 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.76) (envelope-from ) id 1WrSex-00058L-3K; Mon, 02 Jun 2014 13:52:19 +0000 Date: Mon, 2 Jun 2014 13:52:19 +0000 From: "Joseph S. Myers" X-X-Sender: jsm28@digraph.polyomino.org.uk To: Arnd Bergmann CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <1401480116-1973111-1-git-send-email-arnd@arndb.de> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: Joseph Myers X-OriginalArrivalTime: 02 Jun 2014 13:52:23.0625 (UTC) FILETIME=[E1752390:01CF7E69] X-Barracuda-Connect: relay1.mentorg.com[192.94.38.131] X-Barracuda-Start-Time: 1401717155 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, 30 May 2014, Arnd Bergmann wrote: > a) is this the right approach in general? The previous discussion > pointed this way, but there may be other opinions. The syscall changes seem like the sort of thing I'd expect, although patches adding new syscalls or otherwise affecting the kernel/userspace interface (as opposed to those relating to an individual filesystem) should go to linux-api as well as other relevant lists. -- Joseph S. Myers joseph@codesourcery.com From jaegeuk@kernel.org Mon Jun 2 08:59:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id DEAE47F63 for ; Mon, 2 Jun 2014 08:59:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C9B548F8039 for ; Mon, 2 Jun 2014 06:59:45 -0700 (PDT) X-ASG-Debug-ID: 1401717583-04cbb050fc1d6c20001-NocioJ Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by cuda.sgi.com with ESMTP id iam8QBStJimu5tf9 for ; Mon, 02 Jun 2014 06:59:44 -0700 (PDT) X-Barracuda-Envelope-From: jaegeuk@kernel.org X-Barracuda-Apparent-Source-IP: 198.145.19.201 Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 179BC203C4; Mon, 2 Jun 2014 13:59:43 +0000 (UTC) Received: from localhost (unknown [223.62.178.107]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4A745203B0; Mon, 2 Jun 2014 13:59:40 +0000 (UTC) From: jaegeuk@kernel.org To: Dave Chinner Cc: xfs@oss.sgi.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforget.net, Jaegeuk Kim Subject: [PATCH] xfstests: f2fs support Date: Mon, 2 Jun 2014 22:59:32 +0900 X-ASG-Orig-Subj: [PATCH] xfstests: f2fs support Message-Id: <1401717572-21731-1-git-send-email-jaegeuk@kernel.org> X-Mailer: git-send-email 1.8.5.2 (Apple Git-48) X-Virus-Scanned: ClamAV using ClamSMTP X-Barracuda-Connect: mail.kernel.org[198.145.19.201] X-Barracuda-Start-Time: 1401717584 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.23 X-Barracuda-Spam-Status: No, SCORE=0.23 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=NO_REAL_NAME, RCVD_ILLEGAL_IP X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.23 RCVD_ILLEGAL_IP Received: contains illegal IP address From: Jaegeuk Kim This patch adds to support f2fs file system. Signed-off-by: Jaegeuk Kim --- common/config | 7 +++++++ common/rc | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/common/config b/common/config index 0dbf0b9..0607294 100644 --- a/common/config +++ b/common/config @@ -210,6 +210,7 @@ case "$HOSTOS" in export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`" export MKFS_UDF_PROG="`set_prog_path mkudffs`" export MKFS_BTRFS_PROG="`set_btrfs_mkfs_prog_path_with_opts`" + export MKFS_F2FS_PROG="`set_prog_path mkfs.f2fs`" export BTRFS_UTIL_PROG="`set_prog_path btrfs`" export BTRFS_SHOW_SUPER_PROG="`set_prog_path btrfs-show-super`" export XFS_FSR_PROG="`set_prog_path xfs_fsr`" @@ -241,6 +242,9 @@ _mount_opts() # acls & xattrs aren't turned on by default on ext$FOO export MOUNT_OPTIONS="-o acl,user_xattr $EXT_MOUNT_OPTIONS" ;; + f2fs) + export MOUNT_OPTIONS="-o acl,user_xattr $F2FS_MOUNT_OPTIONS" + ;; reiserfs) # acls & xattrs aren't turned on by default on reiserfs export MOUNT_OPTIONS="-o acl,user_xattr $REISERFS_MOUNT_OPTIONS" @@ -295,6 +299,9 @@ _fsck_opts() reiserfs) export FSCK_OPTIONS="--yes" ;; + f2fs) + export FSCK_OPTIONS="" + ;; *) export FSCK_OPTIONS="-n" ;; diff --git a/common/rc b/common/rc index f27ee53..fcdabfe 100644 --- a/common/rc +++ b/common/rc @@ -105,6 +105,9 @@ case "$FSTYP" in btrfs) [ "$MKFS_BTRFS_PROG" = "" ] && _fatal "mkfs.btrfs not found" ;; + f2fs) + [ "$MKFS_F2FS_PROG" = "" ] && _fatal "mkfs.f2fs not found" + ;; nfs) ;; esac @@ -511,6 +514,9 @@ _scratch_mkfs() tmpfs) # do nothing for tmpfs ;; + f2fs) + $MKFS_F2FS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV > /dev/null + ;; *) yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $SCRATCH_DEV ;; -- 1.8.5.2 (Apple Git-48) From joseph_myers@mentor.com Mon Jun 2 09:00:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6C4F27F63 for ; Mon, 2 Jun 2014 09:00:18 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 49D048F8049 for ; Mon, 2 Jun 2014 07:00:18 -0700 (PDT) X-ASG-Debug-ID: 1401717615-04cb6c100cd9040001-NocioJ Received: from relay1.mentorg.com (relay1.mentorg.com [192.94.38.131]) by cuda.sgi.com with ESMTP id 3hnGJSCLOD7oBWsm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 07:00:16 -0700 (PDT) X-Barracuda-Envelope-From: joseph_myers@mentor.com X-Barracuda-Apparent-Source-IP: 192.94.38.131 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1WrSmc-0002dG-9J from joseph_myers@mentor.com ; Mon, 02 Jun 2014 07:00:14 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 2 Jun 2014 07:00:13 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.2.247.3; Mon, 2 Jun 2014 15:00:12 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.76) (envelope-from ) id 1WrSmZ-0005Ai-3Y; Mon, 02 Jun 2014 14:00:11 +0000 Date: Mon, 2 Jun 2014 14:00:11 +0000 From: "Joseph S. Myers" X-X-Sender: jsm28@digraph.polyomino.org.uk To: Dave Chinner CC: "H. Peter Anvin" , Arnd Bergmann , , , , , , , , , Subject: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <20140531055457.GK14410@dastard> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <1401480116-1973111-12-git-send-email-arnd@arndb.de> <20140531003712.GH14410@dastard> <5389252A.5050503@zytor.com> <20140531011450.GJ14410@dastard> <20140531055457.GK14410@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: Joseph Myers X-OriginalArrivalTime: 02 Jun 2014 14:00:13.0855 (UTC) FILETIME=[F9BC8AF0:01CF7E6A] X-Barracuda-Connect: relay1.mentorg.com[192.94.38.131] X-Barracuda-Start-Time: 1401717616 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat, 31 May 2014, Dave Chinner wrote: > If we are changing the in-kernel timestamp to have a greater dynamic > range that anything we current support on disk, then we need support > for all filesystems for similar translation and constraint. The > filesystems need to be able to tell the kernel what they timestamp > range they support, and then the kernel needs to follow those > guidelines. And if the filesystem is mounted on a kernel that > doesn't support the current filesystem's timestamp format, then at > minimum that filesystem cannot do anything that writes a > timestamp.... > > Put simply: the filesystem defines the timestamp range that can be > used safely, not the userspace API. If the filesystem can't support > the date it is handed then that is an out-of-range error. Since > when have we accepted that it's OK to handle out-of-range data with > silent overflows or corruption of the data that we are attempting to > store? We're defining a new API to support a wider date range - > there is nothing that prevents us from saying ERANGE can be returned > to a timestamp that the file cannot store correctly.... I don't see anything new about this issue. All problems that could arise from the kernel being able to represent a timestamp some filesystems can't are problems that already apply with 64-bit kernels using 64-bit time_t internally. So while as part of Y2038-preparedness we do need a clear understanding of which filesystems have what timestamp limits and what happens with timestamps beyond those limits, I think this is a separate strand of the problem - one that applies to both 32-bit and 64-bit systems - from the more general issue for 32-bit systems. -- Joseph S. Myers joseph@codesourcery.com From bounce-278808-73699792-14228686@tomdiag.clients.ubivox.com Mon Jun 2 09:02:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id F35377F75 for ; Mon, 2 Jun 2014 09:02:00 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E20D9304043 for ; Mon, 2 Jun 2014 07:01:57 -0700 (PDT) X-ASG-Debug-ID: 1401717711-04cb6c1009d9310001-NocioJ Received: from smtp007-ams.servers.ubivox.com (smtp007-ams.servers.ubivox.com [198.20.114.77]) by cuda.sgi.com with ESMTP id IeHpuMwrJ5BI47gR for ; Mon, 02 Jun 2014 07:01:52 -0700 (PDT) X-Barracuda-Envelope-From: bounce-278808-73699792-14228686@tomdiag.clients.ubivox.com X-Barracuda-Apparent-Source-IP: 198.20.114.77 Received: from app002-ams.servers.ubivox.com (app002-ams.servers.ubivox.com [198.20.114.152]) by smtp007-ams.servers.ubivox.com (Postfix) with ESMTP id 4AE20401B800 for ; Mon, 2 Jun 2014 16:01:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ubivox.com; i=customers@ubivox.com; q=dns/txt; s=ux201402; t=1401717711; h=Content-Type : Date : Feedback-ID : From : List-Archive : List-Id : List-Post : List-Unsubscribe : Message-Id : Mime-Version : Subject : To : X-Mailer : X-Postmaster-Information; bh=DR1aS+vN2npwmeaoC3EGaXTYLjPCEmML+ZraPYHxzB4=; b=WCjOlm3sJrVkuuIHrusfuaMVom9v9CLsYnqu7X1kr6EGsgj9GbbjNZQgZnFUYceqDchZbD gHqC82/lkDmyQVEEWu4K8xsRneVyJcTXkpxqPNYz/a4gdYYJK0Lgi8PWMc+G7dnp7CL7ESxK 7Uj3lNxpU5k7sz0ZXv9384EUqkVyo= From: Efichip Subject: Tomahawk Diagnostic Technologies Date: Mon, 02 Jun 2014 14:01:51 -0000 X-ASG-Orig-Subj: Tomahawk Diagnostic Technologies To: xfs@oss.sgi.com Message-Id: <1401717711128247.278808.73699792.5011.201.e9a58e98ed07f2a784050e185cbaa88a39ddf3e1@deliveries.ubivox.com> X-Mailer: Ubivox Mailengine 2.13.7 X-Postmaster-Information: List-Unsubscribe: , List-Id: <23217.list.tomdiag.clients.ubivox.com> List-Post: NO (posting not allowed on this list) Feedback-ID: 278808:23217:5011:ubivox List-Archive: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="Ubivox_Yci5MTnPkDltVCL3HuJvG8Xe" X-Barracuda-Connect: smtp007-ams.servers.ubivox.com[198.20.114.77] X-Barracuda-Start-Time: 1401717711 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA161e, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6315 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 BSF_SC5_SA161e BODY: Custom Rule SA161e -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message This is a multi-part message in the MIME format. --Ubivox_Yci5MTnPkDltVCL3HuJvG8Xe Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable This text is a preheader which elaborates on the content in the newsletter View the newsletter online https://tomdiag.clients.ubivox.com/newsletter/278808/73699792/6883829/ ________________________________________________________________ Dear Customer EFICHIP - Professional Manufacture of Automotive Diagnostic Equipment. EFICHIP is a range of automotive diagnostic, scanning and code reading equipment under the EFICHIP product umbrella. EFICHIP designs, manufactures and delivers innovative products to meet the highest of the demands of today's automotive DIY'ers as well as the professional technicians.EFICHIP headquarters are located in Vilnius, Lithuania. The facilities include: executive administration offices, R&D (Research & Development) and manufacturing operations. This guarantees that all our products are designed, developed and produced in one place using the most advanced manufacturing process. EFICHIP has a long-standing commitment to create unique equipment for both beginners and experts. [1]www.efichip.com - fast, quality and easy web store. [1] http://efichip.com/EN/ /static/EFICHIP_logo2.gif http://www.efichip.com/EN/ __________________________________________________________________ Efichip provide to you!!! 1. We offer to you 1 years warranty; 2. Technical support; 3. Quality support; 4. Best price! ; 5. Fast delivery time(1-2 days past payment); 6. Opportunity to distribute goods; 7. Competent staff ; 8. Reliable customer services; 9. Various payments; 10. Discounts; /static/images (1).jpg __________________________________________________________________ Contact our sales representative to get your special discounts!!! __________________________________________________________________ NEC Programmer We can do all Mercedes cars from MY2006 to MY2011/2012 are using this chromium-plated key - v.57 without touching EIS. We can upgrade our devices. 3000 EUR upgrade for old customers. NEC v.57 solution and we could read EIS password from Keys with that SW version - 57. Also with IR Service Key is possible to read hashes from EIS. Key calculation for NEC-based EIS (MY2006 - MY2011) could start. http://www.efichip.com/EN/catalog/6/181/ BUY IT NOW!!! AdBlue V3 + NOX Emulator Adblue V3 + NOX Emulator allows you to override Adblue SCR system and NOX sensor on your truck. It can emulate working Adblue system and NOX sensor even on trucks with damaged Adblue SCR system. Adblue NOX emulator support list: - Volvo trucks; - Renault trucks; - DAF trucks; - MAN trucks; - Iveco trucks; - Scania trucks ; - Mercedes-Benz trucks. http://www.efichip.com/EN/catalog/4/176/ Only =E2=82=AC399 Eltrac Kit Iveco Eltrac Bluetooth Module enables wireless communication between vehicles and diagnostic computers and simplifies and accelerates repair operations in workshops. Only today is 2000eur!!! http://efichip.com/EN/catalog/4/39/ Price =E2=82=AC2000 __________________________________________________________________ VCI-560 MUX The VCI-560 is a powerful fault diagnosis device that has been developed using the latest advanced technology. Used in combination with a PC, it provides a tool for quick and efficient analysis of vehicle faults. The VCI-560 switches the input channel automatically to the required data line (K-line, L-line) or CAN-bus of the truckside "Diagnostic Connector". http://efichip.com/EN/catalog/4/35/ Whit this newlatter only 2000eur!!! SCANIA VCI2 Scania VCI2 is a tool that is used together with Scania Diagnos & Programmer 3 (SDP3) software to diagnose and troubleshoot Scania vehicles. __________________________________________________________________ For any kind of information please contact our sales office: Domas, Sales Representative +37066003497 +442070971475 Skype: sr6_rl Email: [1]sr6@tomdiag.com [2]www.EFICHIP.com [1] mailto:sr6@tomdiag.com [2] http://www.efichip.com/EN/ Click here to unsubscribe from the newsletter ________________________________________________________________ --Ubivox_Yci5MTnPkDltVCL3HuJvG8Xe Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Tomahawk Diagnostic Technologies
=20
This text = is a preheader which elaborates on the content in the newsletter View the newsletter o= nline
=C2=A0
=C2=A0
=C2=A0
=C2=A0
=C2=A0
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0 =C2=A0 =C2=A0
=09 =09 =20 =20
=3D""/
=20
=20 =20
=20 =20
=20 =20 =20
=20 =20 3D"" =20
3D""/ =09 =20 =20
=20 =20
=20 =20
=20 =20 =20
=20

Dear Customer

= 3D""/
=20 =20 =20
=20 =20 =20 =20 =20
=20 =20 3D"" =20
EFICHIP - Professional Manufacture of Automotive Diagnostic Equipment. EFICHIP is a range of a= utomotive diagnostic, scanning and code reading equipment under the EFICHIP product umbrella.=C2=A0EFICHIP designs, manufactures a= nd delivers innovative products to meet the highest of the demands of today= 's automotive DIY'ers as well as the professional technicians.EFICH= IP headquarters are located in Vilnius, Lithuania. The facilities = include: executive administration offices, R&D (Research & Developm= ent) and manufacturing operations. This guarantees that all our products ar= e designed, developed and produced in one place using the most advanced man= ufacturing process.=C2=A0EFICHIP has a long-standing commi= tment to create unique equipment for both beginners and experts. www.efichip.com - fast, qual= ity and easy web store.=C2=A0
=20
=20 =20
=20 =20
=20 =20 =20
3D""/
= =20 =20 =20
<= /td>
3D""/ =20 =20
=20 =20
=20 =20 =20
=20

Efichip provide to you!!!

= 3D""/
=20 =20 =20
=20 =20 =20 =20 =20
=20 =20 3D""/
1. We offer to you 1 years warranty;
2. Technical support;
3. Quality support;
4. Best price! ;
5. Fast delivery time(1-2 days past p= ayment);
6. Opp= ortunity to distribute goods;
7
. Competent staff=C2=A0;
8.=C2=A0Reliable customer services;
9.=C2=A0Various payments;
10. Discounts;
=C2=A0
=3D""/
<= /td>
=20
3D""/
=20 =20
=20 =20
=20 =20 =20
3D""/
=20
=20 =20 =20
=20 =20
=20 =20 =20
Contact= our sales representative to get your special discounts!!!<= /div>
=20 =20 =20 =20
=20 =20 =20
=20 =20 3D""/
=20
=20 =20
=20 =20
=20 =20 =20
3D""/
=20
=20 =20 =20 =20
=20 =20
=20 =20 =20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20

NEC Programmer

3D""/
=20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20 =20 3D""/3D""/
= 3D""/
=20 =20 =20 =20 =20 =20
3D""/
We can do all Mercedes cars from MY2006 to MY2011/2012 are using= this chromium-plated key - v.57 without touching EIS. We can upgrade our d= evices. 3000 EUR upgrade for old customers. NEC v.57 solution and we could = read EIS password from Keys with that SW version - 57. Also with IR Service= Key is possible to read hashes from EIS. Key calculation for NEC-based EIS= (MY2006 - MY2011) could start.
3D""/
=20 =20 =20
=20
3D""/ 3D""/
=3D""/ BUY IT = NOW!!! 3D"=
=3D""/ 3D""/=
3D""/
= 3D""/
=20
=20 =20 =20 =20
=20 =20 =20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20

AdBlue V3 + NOX Emulator

3D""/
=20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20 =20 3D""/3D""/
= 3D""/
=20 =20 =20 =20 =20 =20
3D""/
Adblue V3 + NOX Emulator allows you to override Adblue SCR syste= m and NOX sensor on your truck. It can emulate working Adblue system and NO= X sensor even on trucks with damaged Adblue SCR system.
Adblue NOX emul= ator support list:
- Volvo trucks;
- Renault trucks;
- DAF trucks;
- MAN trucks;
- Iveco trucks;
- = Scania trucks ;
- Mercedes-Benz trucks.=C2=A0
3D""/
=20 =20 =20
=20
3D""/ 3D""/
=3D""/ Only = =E2=82=AC399 3D"=
=3D""/ 3D""/=
3D""/
= 3D""/
=20
=20 =20 =20 =20
=20 =20 =20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20

Eltrac Kit

3D""/
=20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20 =20 3D""/3D""/
= 3D""/
=20 =20 =20 =20 =20 =20
3D""/
Iveco Eltrac Bluetooth Module enables wireless communication bet= ween vehicles and diagnostic computers and simplifies and accelerates repai= r operations in workshops.
Only= today is 2000eur!!!
3D""/
=20 =20 =20
=20
3D""/ 3D""/
=3D""/ Price = =E2=82=AC2000 3D"=
=3D""/ 3D""/=
3D""/
= 3D""/
=20
=20
=20 =20
=20 =20
=20 =20 =20
3D""/
=20
=20 =20 =20
=20 =20
=20 =20 =20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20

VCI-560 MUX

3D""/
=20 =20 =20 =20 =20 =20 =20
3D""/ =20 =20 3D"" =20 3D""/
= 3D""/
=20 =20 =20 =20 =20 =20
3D""/
The VCI-560 is a powerful fault diagnosis device that has been d= eveloped using the latest advanced technology. Used in combination with a P= C, it provides a tool for quick and efficient analysis of vehicle faults.The VCI-560 switches the input channel automatically to the required dat= a line (K-line, L-line) or CAN-bus of the truckside "Diagnostic Connector".=
3D""/
= 3D""/
=20 =20
=20
3D""/ 3D""/
=3D""/ Whit th= is newlatter only 2000eur!!! 3D"=
=3D""/ 3D""/=
=20
=20 =20 =20 =20
=20 =20 =20 =20 =20 =20 =20 =20 =20
3D""/
3D""/ =20

SCANIA VCI2

3D""/
=20 =20 =20 =20 =20 =20 =20
3D""/ =20 =20 3D"" =20 3D""/
= 3D""/
=20 =20 =20 =20 =20 =20
3D""/
Scania VCI2 is a tool that is used together with Scania Diagnos = & Programmer 3 (SDP3) software to diagnose and troubleshoot Scania vehi= cles.
3D""/
= 3D""/
=20
=20
=20 =20
=20 =20
=20 =20 =20
3D""/
=20
3D""/
3D""/
=C2=A0
=C2=A0
=C2=A0
=C2=A0
=C2=A0
=C2=A0
3D""
3D""/
=09 =09 =09 =20
=20 =20
=20 =20
=20 =20 =20
For any kind of informat= ion please contact our sales office:
Domas, Sales Repre= sentative +37066003497 +44207097147= 5
Skype: sr6_rl
Email: sr6@tomdiag.com
www.EFICHIP.co= m
3D""/
=20 =20
Click here to unsubscribe from the newsletter
3D""/
=09 --Ubivox_Yci5MTnPkDltVCL3HuJvG8Xe-- From bfoster@redhat.com Mon Jun 2 09:03:33 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8B3637F56 for ; Mon, 2 Jun 2014 09:03:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 21077AC001 for ; Mon, 2 Jun 2014 07:03:30 -0700 (PDT) X-ASG-Debug-ID: 1401717808-04bdf059a14072a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id T0sE1R94erWej9To for ; Mon, 02 Jun 2014 07:03:28 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s52E3Q2s029602 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 2 Jun 2014 10:03:26 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s52E3P54005069; Mon, 2 Jun 2014 10:03:25 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id AD3A11248A9; Mon, 2 Jun 2014 10:03:24 -0400 (EDT) Date: Mon, 2 Jun 2014 10:03:24 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 17/16] xfs: remove redundant geometry information from xfs_da_state Message-ID: <20140602140324.GA24196@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 17/16] xfs: remove redundant geometry information from xfs_da_state References: <1401257083-13433-1-git-send-email-david@fromorbit.com> <20140530233906.GL6677@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140530233906.GL6677@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401717808 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Sat, May 31, 2014 at 09:39:06AM +1000, Dave Chinner wrote: > > From: Dave Chinner > > It's carried in state->args->geo, so there's no need to duplicate it > and use more stack space than necessary. > > Signed-off-by: Dave Chinner > --- > fs/xfs/xfs_attr.c | 8 -------- > fs/xfs/xfs_attr_leaf.c | 19 ++++++++++--------- > fs/xfs/xfs_da_btree.c | 13 +++++++------ > fs/xfs/xfs_da_btree.h | 2 -- > fs/xfs/xfs_dir2_node.c | 13 +++---------- > 5 files changed, 20 insertions(+), 35 deletions(-) > > diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c > index 470a22d..bfe36fc 100644 > --- a/fs/xfs/xfs_attr.c > +++ b/fs/xfs/xfs_attr.c > @@ -896,8 +896,6 @@ restart: > state = xfs_da_state_alloc(); > state->args = args; > state->mp = mp; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > > /* > * Search to see if name already exists, and get back a pointer > @@ -1075,8 +1073,6 @@ restart: > state = xfs_da_state_alloc(); > state->args = args; > state->mp = mp; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > state->inleaf = 0; > error = xfs_da3_node_lookup_int(state, &retval); > if (error) > @@ -1167,8 +1163,6 @@ xfs_attr_node_removename(xfs_da_args_t *args) > state = xfs_da_state_alloc(); > state->args = args; > state->mp = dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > > /* > * Search to see if name exists, and get back a pointer to it. > @@ -1430,8 +1424,6 @@ xfs_attr_node_get(xfs_da_args_t *args) > state = xfs_da_state_alloc(); > state->args = args; > state->mp = args->dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > > /* > * Search to see if name exists, and get back a pointer to it. > diff --git a/fs/xfs/xfs_attr_leaf.c b/fs/xfs/xfs_attr_leaf.c > index ae33b14..28712d2 100644 > --- a/fs/xfs/xfs_attr_leaf.c > +++ b/fs/xfs/xfs_attr_leaf.c > @@ -1494,8 +1494,8 @@ xfs_attr3_leaf_rebalance( > > xfs_attr3_leaf_hdr_to_disk(leaf1, &ichdr1); > xfs_attr3_leaf_hdr_to_disk(leaf2, &ichdr2); > - xfs_trans_log_buf(args->trans, blk1->bp, 0, state->blocksize-1); > - xfs_trans_log_buf(args->trans, blk2->bp, 0, state->blocksize-1); > + xfs_trans_log_buf(args->trans, blk1->bp, 0, args->geo->blksize - 1); > + xfs_trans_log_buf(args->trans, blk2->bp, 0, args->geo->blksize - 1); > > /* > * Copy out last hashval in each block for B-tree code. > @@ -1592,7 +1592,7 @@ xfs_attr3_leaf_figure_balance( > half += ichdr1->usedbytes + ichdr2->usedbytes + > xfs_attr_leaf_newentsize(state->args, NULL); > half /= 2; > - lastdelta = state->blocksize; > + lastdelta = state->args->geo->blksize; > entry = xfs_attr3_leaf_entryp(leaf1); > for (count = index = 0; count < max; entry++, index++, count++) { > > @@ -1690,7 +1690,7 @@ xfs_attr3_leaf_toosmall( > bytes = xfs_attr3_leaf_hdr_size(leaf) + > ichdr.count * sizeof(xfs_attr_leaf_entry_t) + > ichdr.usedbytes; > - if (bytes > (state->blocksize >> 1)) { > + if (bytes > (state->args->geo->blksize >> 1)) { > *action = 0; /* blk over 50%, don't try to join */ > return(0); > } > @@ -1744,7 +1744,8 @@ xfs_attr3_leaf_toosmall( > > xfs_attr3_leaf_hdr_from_disk(&ichdr2, bp->b_addr); > > - bytes = state->blocksize - (state->blocksize >> 2) - > + bytes = state->args->geo->blksize - > + (state->args->geo->blksize >> 2) - > ichdr.usedbytes - ichdr2.usedbytes - > ((ichdr.count + ichdr2.count) * > sizeof(xfs_attr_leaf_entry_t)) - > @@ -1997,7 +1998,7 @@ xfs_attr3_leaf_unbalance( > struct xfs_attr_leafblock *tmp_leaf; > struct xfs_attr3_icleaf_hdr tmphdr; > > - tmp_leaf = kmem_zalloc(state->blocksize, KM_SLEEP); > + tmp_leaf = kmem_zalloc(state->args->geo->blksize, KM_SLEEP); > > /* > * Copy the header into the temp leaf so that all the stuff > @@ -2010,7 +2011,7 @@ xfs_attr3_leaf_unbalance( > tmphdr.magic = savehdr.magic; > tmphdr.forw = savehdr.forw; > tmphdr.back = savehdr.back; > - tmphdr.firstused = state->blocksize; > + tmphdr.firstused = state->args->geo->blksize; > > /* write the header to the temp buffer to initialise it */ > xfs_attr3_leaf_hdr_to_disk(tmp_leaf, &tmphdr); > @@ -2035,14 +2036,14 @@ xfs_attr3_leaf_unbalance( > tmp_leaf, &tmphdr, tmphdr.count, > drophdr.count); > } > - memcpy(save_leaf, tmp_leaf, state->blocksize); > + memcpy(save_leaf, tmp_leaf, state->args->geo->blksize); > savehdr = tmphdr; /* struct copy */ > kmem_free(tmp_leaf); > } > > xfs_attr3_leaf_hdr_to_disk(save_leaf, &savehdr); > xfs_trans_log_buf(state->args->trans, save_blk->bp, 0, > - state->blocksize - 1); > + state->args->geo->blksize - 1); > > /* > * Copy out last hashval in each block for B-tree code. > diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c > index f935370..2da9922 100644 > --- a/fs/xfs/xfs_da_btree.c > +++ b/fs/xfs/xfs_da_btree.c > @@ -663,7 +663,7 @@ xfs_da3_node_split( > /* > * Do we have to split the node? > */ > - if (nodehdr.count + newcount > state->node_ents) { > + if (nodehdr.count + newcount > state->args->geo->node_ents) { > /* > * Allocate a new node, add to the doubly linked chain of > * nodes, then move some of our excess entries into it. > @@ -1089,14 +1089,15 @@ xfs_da3_root_join( > * that could occur. For dir3 blocks we also need to update the block > * number in the buffer header. > */ > - memcpy(root_blk->bp->b_addr, bp->b_addr, state->blocksize); > + memcpy(root_blk->bp->b_addr, bp->b_addr, state->args->geo->blksize); > root_blk->bp->b_ops = bp->b_ops; > xfs_trans_buf_copy_type(root_blk->bp, bp); > if (oldroothdr.magic == XFS_DA3_NODE_MAGIC) { > struct xfs_da3_blkinfo *da3 = root_blk->bp->b_addr; > da3->blkno = cpu_to_be64(root_blk->bp->b_bn); > } > - xfs_trans_log_buf(args->trans, root_blk->bp, 0, state->blocksize - 1); > + xfs_trans_log_buf(args->trans, root_blk->bp, 0, > + state->args->geo->blksize - 1); FYI, you've got a local args pointer in xfs_da3_root_join(). Reviewed-by: Brian Foster > error = xfs_da_shrink_inode(args, child, bp); > return(error); > } > @@ -1139,7 +1140,7 @@ xfs_da3_node_toosmall( > info = blk->bp->b_addr; > node = (xfs_da_intnode_t *)info; > dp->d_ops->node_hdr_from_disk(&nodehdr, node); > - if (nodehdr.count > (state->node_ents >> 1)) { > + if (nodehdr.count > (state->args->geo->node_ents >> 1)) { > *action = 0; /* blk over 50%, don't try to join */ > return(0); /* blk over 50%, don't try to join */ > } > @@ -1176,8 +1177,8 @@ xfs_da3_node_toosmall( > * We prefer coalescing with the lower numbered sibling so as > * to shrink a directory over time. > */ > - count = state->node_ents; > - count -= state->node_ents >> 2; > + count = state->args->geo->node_ents; > + count -= state->args->geo->node_ents >> 2; > count -= nodehdr.count; > > /* start with smaller blk num */ > diff --git a/fs/xfs/xfs_da_btree.h b/fs/xfs/xfs_da_btree.h > index 0ac63ad..6e153e3 100644 > --- a/fs/xfs/xfs_da_btree.h > +++ b/fs/xfs/xfs_da_btree.h > @@ -128,8 +128,6 @@ typedef struct xfs_da_state_path { > typedef struct xfs_da_state { > xfs_da_args_t *args; /* filename arguments */ > struct xfs_mount *mp; /* filesystem mount point */ > - unsigned int blocksize; /* logical block size */ > - unsigned int node_ents; /* how many entries in danode */ > xfs_da_state_path_t path; /* search/split paths */ > xfs_da_state_path_t altpath; /* alternate path for join */ > unsigned char inleaf; /* insert into 1->lf, 0->splf */ > diff --git a/fs/xfs/xfs_dir2_node.c b/fs/xfs/xfs_dir2_node.c > index 65df8cb..da43d30 100644 > --- a/fs/xfs/xfs_dir2_node.c > +++ b/fs/xfs/xfs_dir2_node.c > @@ -1414,7 +1414,7 @@ xfs_dir2_leafn_toosmall( > > count = leafhdr.count - leafhdr.stale; > bytes = dp->d_ops->leaf_hdr_size + count * sizeof(ents[0]); > - if (bytes > (state->blocksize >> 1)) { > + if (bytes > (state->args->geo->blksize >> 1)) { > /* > * Blk over 50%, don't try to join. > */ > @@ -1467,7 +1467,8 @@ xfs_dir2_leafn_toosmall( > * Count bytes in the two blocks combined. > */ > count = leafhdr.count - leafhdr.stale; > - bytes = state->blocksize - (state->blocksize >> 2); > + bytes = state->args->geo->blksize - > + (state->args->geo->blksize >> 2); > > leaf = bp->b_addr; > dp->d_ops->leaf_hdr_from_disk(&hdr2, leaf); > @@ -1591,8 +1592,6 @@ xfs_dir2_node_addname( > state = xfs_da_state_alloc(); > state->args = args; > state->mp = args->dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > /* > * Look up the name. We're not supposed to find it, but > * this gives us the insertion point. > @@ -2037,8 +2036,6 @@ xfs_dir2_node_lookup( > state = xfs_da_state_alloc(); > state->args = args; > state->mp = args->dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > /* > * Fill in the path to the entry in the cursor. > */ > @@ -2092,8 +2089,6 @@ xfs_dir2_node_removename( > state = xfs_da_state_alloc(); > state->args = args; > state->mp = args->dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > > /* Look up the entry we're deleting, set up the cursor. */ > error = xfs_da3_node_lookup_int(state, &rval); > @@ -2162,8 +2157,6 @@ xfs_dir2_node_replace( > state = xfs_da_state_alloc(); > state->args = args; > state->mp = args->dp->i_mount; > - state->blocksize = args->geo->blksize; > - state->node_ents = args->geo->node_ents; > inum = args->inumber; > /* > * Lookup the entry to change in the btree. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From hpa@zytor.com Mon Jun 2 09:56:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=MIME_QP_LONG_LINE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 359CC7F56 for ; Mon, 2 Jun 2014 09:56:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 250AF8F8071 for ; Mon, 2 Jun 2014 07:56:01 -0700 (PDT) X-ASG-Debug-ID: 1401720960-04cbb050fa1dd240001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id lp9UPK9dftaR7zZC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 07:56:00 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from [IPv6:2601:9:7280:901:ac48:aaf7:ffcc:2626] ([IPv6:2601:9:7280:901:ac48:aaf7:ffcc:2626]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52EqoQp015784 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 07:52:50 -0700 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: "H. Peter Anvin" X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time X-Mailer: iPad Mail (11D201) In-Reply-To: <20140602115737.GB14276@thunk.org> Date: Mon, 2 Jun 2014 07:52:47 -0700 Cc: Arnd Bergmann , Nicolas Pitre , Dave Chinner , "linux-kernel@vger.kernel.org" , "linux-arch@vger.kernel.org" , "joseph@codesourcery.com" , "john.stultz@linaro.org" , "hch@infradead.org" , "tglx@linutronix.de" , "geert@linux-m68k.org" , "lftan@altera.com" , "linux-fsdevel@vger.kernel.org" , "xfs@oss.sgi.com" Content-Transfer-Encoding: quoted-printable Message-Id: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <20140602115737.GB14276@thunk.org> To: "Theodore Ts'o" X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401720960 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, MIME_QP_LONG_LINE, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6316 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS > On Jun 2, 2014, at 4:57, "Theodore Ts'o" wrote: >=20 >> On Mon, Jun 02, 2014 at 12:56:42PM +0200, Arnd Bergmann wrote: >>=20 >> I think you misunderstood what I suggested: the intent is to avoid >> seeing things break in 2038 by making them break much earlier. We have >> a solution for ext2 file systems, it's called ext4, and we just need >> to ensure that everybody knows they have to migrate eventually. >>=20 >> At some point before the mid 2030ies, you should no longer be able to >> build a kernel that has support for ext2 or any other module that will >> run into bugs later.... >=20 > Even for ext4, it's not quite so simple as that. You only have > support for times post 2038 if you are using an inode size > 128 > bytes. There are a very, very large number of machines which even > today, are using 128 byte inodes with ext4 for performance reasons. >=20 > The vast majority of those machines which I know of can probably move > to 256 byte inodes relatively easily, since hard drive replacement > cycles are order 5-6 years tops, so I'm not that concerned, but it > just goes to show this is a very complicated problem. >=20 > And even if we're talking about flash and embedded devices, the good > news is if you assume that 10 years is enough time for people to > update their embedded OS builds, and that the vast majority of > deployed devices will probably only be in service for 10-15 years, we > do have enough time to make file system format changes, although > admittedly we can't afford to dilly-dally. I have a number of file systems older than any device they are sitting on. R= AID allows individual disks to be swapped out, and when all disks have been s= wapped out, extend the file system online. The system doesn't even have to b= e taken offline in the process if it is possible to physically get to the dr= ives with the system powered (e.g. hot plug bays), which is really damned ni= ce.= From arnd@arndb.de Mon Jun 2 10:02:52 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C22AB7F56 for ; Mon, 2 Jun 2014 10:02:52 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id A3376304039 for ; Mon, 2 Jun 2014 08:02:49 -0700 (PDT) X-ASG-Debug-ID: 1401721366-04cb6c100ce02a0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.24]) by cuda.sgi.com with ESMTP id GU1pOlLQVjNfpR9o (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 08:02:47 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.24 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue102) with ESMTP (Nemesis) id 0LlFeI-1WHbDr3Ksw-00azEf; Mon, 02 Jun 2014 17:01:22 +0200 From: Arnd Bergmann To: Theodore Ts'o Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 17:01:20 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <5896675.3VErDJM7s2@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140602130700.GC14276@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <15496653.1vSv1RUCC0@wuerfel> <20140602130700.GC14276@thunk.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:SNdR1vrDuzzqVL0vQDRk1V2ukWgeZoI99UU1eid5LlS fuLI/t6HzX7M9Tnf1nuIEi1ng1T9OJqx0VoUQe6fdJBd4Ekihd 7N8SqHag7FfGUYfFegVzGKUZ+c9VsQO8ULEqg3Zk9v/qOPFGeZ 6aCS5C1gKy0EPfu8QLUDawOWTffgbh8+7IJb5frlnXHUmSfqKT lkL8OEZ6EJlo4ovNEJSEiS+wyGCC/toA63BIm+8lkpGyaF7tV4 rXVucuDJW2Qg6AYdXyVxh4ddn8D6nAIHkdaFlJI9/eJ7C4eRRQ Zbm4ZFBfPh7frttxMCvSwnaImngDvp0ERED3X+zfqidNx8TCz0 j/6zcgRe2CXoVVHGlz20= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.24] X-Barracuda-Start-Time: 1401721367 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6316 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 09:07:00 Theodore Ts'o wrote: > Yes, there are some ongoing dicussions about changing the post-2038 > encoding of the timestamp in ext4, which is why this hasn't been fixed > yet. The main thing that's been missing is time for me to review the > patches, and a good way of writing regression tests that will work (or > at least not fail) on build environments with a 32-bit time_t and > 32-bit-only capable versions of functions such as gmtime(3). > > And given current discussions, I may want to think about some kind of > superblock flag to allow the use of a 32-bit unsigned encoding for > file systems using a 128-byte inode, with a way of setting that flag > after scanning the file system to make sure there are no times that > are previous to January 1, 1970. (Or more generally, allow any epoch > to be defined using a 64-bit time_t offset stored in the superblock...) FWIW, I've gone through the other file system implementations once more. The most common pattern I've encountered is to have a read_inode function with inode->i_mtime = le32_to_cpu(raw_inode->mtime); which results in interpreting the time as 'signed' on 32-bit kernels, but as 'unsigned' on 64-bit kernels. This could have been done intentionally to extend the valid time range to 2106 on 64-bit kernels, but it seems more likely that the code was written with no thought given to 64-bit time_t at all. I see this pattern on p9fs (old protocol only), afs, bfs, ceph, efs, freevxfs, hpfs, jffs2, jfs, minix, nfsv2/v3 (this was clearly intentional and is spelled out in the RFC), qnx4, qnx6, reiserfs, squashfs, sysv, and ufs (protocol version 1 only). The other behavior I see is to treat the on-disk 32-bit value as signed on both 32-bit and 64-bit kernels: inode->i_mtime = (signed)le32_to_cpu(raw_inode->mtime); this seems to be done intentionally in all cases, to maintain compatibility between 32-bit and 64-bit kernels, but it's relatively rare: exofs, ext2/3/4 (good old inodes) and xfs are the only ones doing this. In case of ext2/3/4, the sign handlign was introduced here: http://www.spinics.net/lists/linux-ext4/msg01758.html exofs and xfs seem to have done it like this for all of git history. Arnd From tytso@thunk.org Mon Jun 2 10:03:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 4820D7F56 for ; Mon, 2 Jun 2014 10:03:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 36F438F8040 for ; Mon, 2 Jun 2014 08:03:08 -0700 (PDT) X-ASG-Debug-ID: 1401721386-04cbb050fc1de0a0001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id 1N3bIndv96ZeKH8E (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 08:03:06 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=E2KnvncZeqZPWkScAXj54igcVMu2ny3Fr2jDwp1lT7w=; b=kyPHuxYexmDyI86EEeQ5UQozbbi7cVGwO6qmPZX8hd92nPE88OUS7sUP2QkRBxCGupiKJz0rrUweFbw7HPJKOlpHj1/I8PEEYowe7c75Q0G4ZGLd52x4ZDbnOXzDEol6yGDO5wQsE6Yv14n3AXYkkmKOclO1q8P8E1ubdmhqQ20=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrTlQ-0001wx-3r; Mon, 02 Jun 2014 15:03:04 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id 9F3D05802C1; Mon, 2 Jun 2014 11:02:58 -0400 (EDT) Date: Mon, 2 Jun 2014 11:02:58 -0400 From: Theodore Ts'o To: =?utf-8?B?THVrw6HFoQ==?= Czerner Cc: Namjae Jeon , 'Dave Chinner' , 'linux-ext4' , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, 'Ashish Sangwan' Subject: Re: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Message-ID: <20140602150258.GG30598@thunk.org> X-ASG-Orig-Subj: Re: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Mail-Followup-To: Theodore Ts'o , =?utf-8?B?THVrw6HFoQ==?= Czerner , Namjae Jeon , 'Dave Chinner' , 'linux-ext4' , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, 'Ashish Sangwan' References: <003601cf6aa7$883103b0$98930b10$@samsung.com> <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> <002201cf7e59$2e684c10$8b38e430$@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401721386 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6316 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 03:06:13PM +0200, Lukáš Czerner wrote: > > > So what will happen when there is not enough space when "inserting a > > > range" ? And how should user proceed from there ? > > If insert range fails with an ENOSPC error, user could use collapse > > range on the same range to remove the hole. > > And after freeing more space, he can again try inserting range. > > Ofcourse, this type of guidance should be properly documented in > > manpage. When updating fallocate(2) manpage, I will keep in mind to > > describe ENOSPC handling. > > Why collapse ? The hole is already there right ? Why not just use > fallocate to allocate the space for the hole. And that's my point > actually. Why not do it this way in the first place, because this is > really counterintuitive. It's worse than that. It's possible that the reason why you got the ENOSPC warning was because the operation to move the extents down required allocating a block, and it was *that* block allocation which failed. So it's not deterministic whether or not the file's extent mappings were modified after a ENOSPC error, and so it's not clear whether or not a collapse_range function will undo the range that had been inserted --- or whether it ends up deleting existing data blocks. In generally, you really want system calls to have all-or-nothing effects, where if the system call returns an error, the state of the file has not been changed. And for that reason, I agree with Lukáš that it is really a good idea to decouple moving the blocks down, and allocating space --- and to make sure that if there is any failure while inserting the range, the state of the file is not modified at all. Cheers, - Ted From chuck.lever@oracle.com Mon Jun 2 10:05:25 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 20CAC7F56 for ; Mon, 2 Jun 2014 10:05:25 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 014098F8073 for ; Mon, 2 Jun 2014 08:05:24 -0700 (PDT) X-ASG-Debug-ID: 1401721522-04cbb050fd1de530001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id RAmBgAOB57IIw5yu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 08:05:23 -0700 (PDT) X-Barracuda-Envelope-From: chuck.lever@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s52F4QEZ011240 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Jun 2014 15:04:27 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s52F4QEv019262 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 2 Jun 2014 15:04:26 GMT Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s52F4P11028736; Mon, 2 Jun 2014 15:04:25 GMT Received: from anon-dhcp-162.1015granger.net (/68.40.85.241) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 02 Jun 2014 08:04:25 -0700 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\)) Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Chuck Lever X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <4178301.j9kWdGCRLC@wuerfel> Date: Mon, 2 Jun 2014 11:04:23 -0400 Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Content-Transfer-Encoding: quoted-printable Message-Id: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> To: Arnd Bergmann X-Mailer: Apple Mail (2.1878.2) X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401721523 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.50 X-Barracuda-Spam-Status: No, SCORE=1.50 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA067, UNPARSEABLE_RELAY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6316 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 1.50 BSF_SC0_SA067 Custom Rule SA067 On Jun 2, 2014, at 6:56 AM, Arnd Bergmann wrote: > On Sunday 01 June 2014 21:36:26 Nicolas Pitre wrote: >>=20 >>> For actually running kernels beyond 2038, the best idea I've seen so >>> far is to disallow all broken code at compile time. I don't see >>> a choice but to audit the entire kernel for invalid uses on both >>> 32 and 64 bit in the next few years. A lot of code will get changed >>> in the process so we can actually keep running 32-bit kernels and >>> file systems, but other code will likely go away: >>>=20 >>> * any system calls that pass a time_t, timeval or timespec on >>> 32-bit systems return -ENOSYS, to ensure all user land uses >>> the replacements we will put into place >>> * The definition of 'time_t', 'timval' and 'timespec' can be hidden >>> from the kernel, and all code using it left out. >>> * ext2 and ext3 file system code will have to be disabled, but = that's >>> file since ext4 can mount old file systems. >>=20 >> Syscalls and libs can be "fixed". Existing filesystem content might=20= >> not. So if you need to mount some old media in read-write mode after=20= >> 2038 and that happens to content an ext2 or similarly limited = filesystem=20 >> then it'd better just "work". Having the kernel refuse to modify the=20= >> filesystem would be unacceptable. >=20 > I think you misunderstood what I suggested: the intent is to avoid > seeing things break in 2038 by making them break much earlier. We have > a solution for ext2 file systems, it's called ext4, and we just need > to ensure that everybody knows they have to migrate eventually. >=20 > At some point before the mid 2030ies, you should no longer be able to > build a kernel that has support for ext2 or any other module that will > run into bugs later. Until then (rather sooner than later), I'd like > to get to the point where you can choose whether to include those > modules at build time or not, and then get everybody to turn off that > option and fix the bugs they run into. You wouldn't need that for a > 2014-generation long-term support disto (rhel 7, sles 12, debian 7, > ubuntu 14.04, ...), but perhaps for the next generation, or the > one after that. I=92m wondering what should be done about NFS. A solution for NFS should match any scheme that is considered for local file systems, IMO. NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value for seconds since midnight GMT Jan 1, 1970, and one value for nanoseconds. (See the definition of nfstime3 in RFC 1813). NFSv4 uses a signed 64-bit value where zero represents midnight UTC on January 1, 1970, and an unsigned 32-bit value for nanoseconds. (See the definition of nfstime4 in RFC 5661). The NFSv4 protocol is probably not problematic, and NFSv3 should be out of the picture by 2038. But if changes are planned for dealing _now_ with timestamp issues, compatibility with NFSv3 is a consideration. It is already the case that, via NFSv3, the Linux NFS client transmits timestamps earlier than 1970 as large positive numbers. Try this with xfstests generic/258. Maybe nfs3_proc_setattr() should recognize pre-epoch timestamps and timestamps larger than can be represented in an unsigned 32-bit field and return an immediate error to the requesting application (like = EINVAL). If the Linux NFS server encounters a local file with a timestamp that cannot be represented via a u32, should it also return NFS3ERR_INVAL? RFC 1813 does not provide guidance on the behavior nor does it suggest a particular error status code. The Solaris 11 server appears to return NFS3ERR_INVAL in this case. An alternative would be to =93cap=94 the timestamps transmitted via = NFSv3 by Linux, so that a pre-epoch timestamp is transmitted as zero, and a large timestamp is transmitted as UINT_MAX. -- Chuck Lever chuck[dot]lever[at]oracle[dot]com From tytso@thunk.org Mon Jun 2 10:31:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 043C07F54 for ; Mon, 2 Jun 2014 10:31:44 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E63AD304043 for ; Mon, 2 Jun 2014 08:31:43 -0700 (PDT) X-ASG-Debug-ID: 1401723102-04cb6c1006e37e0001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id hcXtOa1BnKd4Dyf6 (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 08:31:42 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=cWoRZ+C543MkRYENReeRvChAr48BlK+44YNULIf0DXo=; b=SZurO324qDpTk06OJ38cQeeiRxGx8Qc7pt68dS6f9CdAfqL2mB9BTEQG+R/GMgt68y68xwZzyQPRQ/366m+u+BMLSwYhJe1UZpNYN0sctobfO1GXp4xcuuRVG84LSD/Aethe5NoKHmukJ5OvsbrS4b0VfUME1yEoBeHnmuqmkKQ=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrUCq-000224-U7; Mon, 02 Jun 2014 15:31:24 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id 420AA5802C1; Mon, 2 Jun 2014 11:31:24 -0400 (EDT) Date: Mon, 2 Jun 2014 11:31:24 -0400 From: Theodore Ts'o To: Chuck Lever Cc: Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602153124.GH30598@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , Chuck Lever , Arnd Bergmann , Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401723102 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6316 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 11:04:23AM -0400, Chuck Lever wrote: > I’m wondering what should be done about NFS. A solution for NFS should > match any scheme that is considered for local file systems, IMO. > > An alternative would be to “cap†the timestamps transmitted via NFSv3 by > Linux, so that a pre-epoch timestamp is transmitted as zero, and a large > timestamp is transmitted as UINT_MAX. I wonder if it would make sense to try to promulgate via the Austin group, and possibly the C standards committee the concept of a bit pattern (that might commonly be INT_MAX or UINT_MAX) that means "time unknown", or "time indefinite" or "we couldn't encode the time". We would then teach gmtime(3) and asctime(3) to print some appropriate message, and we could teach programs like find (with the -mtime) option, make, tmpwatch, et. al., that they can't make any presumption about the comparibility of any timestamp which has a value of TIME_UNDEFINIED. It would be problematic for time(2) or gettimeofday(2) to return TIME_UNDEFINED, since there are programs that care about time ticking forward, but I could imagine a new interface which would be permitted to return a flag indicating that we don't know the current time (because the CMOS battery had run down, etc.) so instead we're going to be counting the number of seconds since the system was booted. - Ted From hpa@zytor.com Mon Jun 2 12:16:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2B7607F54 for ; Mon, 2 Jun 2014 12:16:00 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 07C4C8F8084 for ; Mon, 2 Jun 2014 10:15:56 -0700 (PDT) X-ASG-Debug-ID: 1401729355-04bdf059a142f980001-NocioJ Received: from mail.zytor.com (terminus.zytor.com [198.137.202.10]) by cuda.sgi.com with ESMTP id AGykstRPflDvlhcp (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 10:15:55 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from hanvin-mobl6.amr.corp.intel.com (fmdmzpr04-ext.fm.intel.com [192.55.55.39]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52HCh9V027469 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 10:12:43 -0700 Message-ID: <538CB085.5000502@zytor.com> Date: Mon, 02 Jun 2014 10:12:37 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: "Theodore Ts'o" , Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <20140602153124.GH30598@thunk.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: terminus.zytor.com[198.137.202.10] X-Barracuda-Start-Time: 1401729355 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6318 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 06/02/2014 08:31 AM, Theodore Ts'o wrote: > > I wonder if it would make sense to try to promulgate via the Austin > group, and possibly the C standards committee the concept of a bit > pattern (that might commonly be INT_MAX or UINT_MAX) that means "time > unknown", or "time indefinite" or "we couldn't encode the time". > (time_t)-1 already has this meaning for some calls (e.g. time(2)). However, this also means Wed Dec 31 23:59:59 UTC 1969, and unfortunately something similar applies to all possible bit patterns, certainly within the range of an int. > We would then teach gmtime(3) and asctime(3) to print some appropriate > message, and we could teach programs like find (with the -mtime) > option, make, tmpwatch, et. al., that they can't make any presumption > about the comparibility of any timestamp which has a value of > TIME_UNDEFINIED. > > It would be problematic for time(2) or gettimeofday(2) to return > TIME_UNDEFINED, since there are programs that care about time ticking > forward, but I could imagine a new interface which would be permitted > to return a flag indicating that we don't know the current time > (because the CMOS battery had run down, etc.) so instead we're going > to be counting the number of seconds since the system was booted. This assumes that we actually know that that is the case, which may be an aggressive assumption. -hpa From scaron@umich.edu Mon Jun 2 13:32:24 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 675407F54 for ; Mon, 2 Jun 2014 13:32:24 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0935CAC001 for ; Mon, 2 Jun 2014 11:32:20 -0700 (PDT) X-ASG-Debug-ID: 1401733938-04bdf059a0455560001-NocioJ Received: from mail-qa0-f52.google.com (mail-qa0-f52.google.com [209.85.216.52]) by cuda.sgi.com with ESMTP id XypfC9Eqijj6Grrj (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 11:32:18 -0700 (PDT) X-Barracuda-Envelope-From: scaron@umich.edu X-Barracuda-Apparent-Source-IP: 209.85.216.52 Received: by mail-qa0-f52.google.com with SMTP id cm18so3255288qab.25 for ; Mon, 02 Jun 2014 11:32:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=X0Yw2m+gAeh1Xra/fjf0ZIxG2itrr69Ccr2YXa9W7ww=; b=ZTV4JmuigzLrYfDVnJ6ymp5NddPiWqbTyuAmr8Epom9nkOtYfjHPBzmUmB0sxFYE7J UfpPAqVuWneuuH8IoozJcYvbHejH/953hOUA+hopzoFm0sQxwtG/pOgfzTmW4QE7q2m4 Oocg4PWHGGwlbhljBCMllg0isMxvcJ0ShNoc4ZBdDDXuVuo4n7BFNzldZrnVlfTt41Hh 0OWuGA83sZGuNIruiWbyOqyeIMDFbDLhD+AL4p3COe1JpTESzBw6CTcEWUlFB+d4hWPu r2gwvDMuKs4EWAOG7EY2Q9j9JroBgIz3h+vEiRpns5cOBdCntcoCE9iStQjICM8rb83v Hjgw== X-Gm-Message-State: ALoCoQkJeSW1sEzCgzRdCsQQs1MomP/DFanpJW6F+n5sS4oEi7EI6v/+C2OcjE87UbZ8AHTG2DDa MIME-Version: 1.0 X-Received: by 10.140.30.70 with SMTP id c64mr47863357qgc.13.1401733937905; Mon, 02 Jun 2014 11:32:17 -0700 (PDT) Received: by 10.224.100.72 with HTTP; Mon, 2 Jun 2014 11:32:17 -0700 (PDT) In-Reply-To: <20140601224825.GP14410@dastard> References: <20140531000117.GM6677@dastard> <20140601224825.GP14410@dastard> Date: Mon, 2 Jun 2014 14:32:17 -0400 Message-ID: Subject: Re: What to do when... xfs_repair hangs? From: Sean Caron X-ASG-Orig-Subj: Re: What to do when... xfs_repair hangs? To: Dave Chinner , Sean Caron Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11395d847047cc04fade9dd6 X-Barracuda-Connect: mail-qa0-f52.google.com[209.85.216.52] X-Barracuda-Start-Time: 1401733938 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6320 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message --001a11395d847047cc04fade9dd6 Content-Type: text/plain; charset=UTF-8 I tried re-running the version that came with Ubuntu 12.04 LTS and it very consistently segfaults at that point... so I went and pulled a copy of the most recent source from Git and I'm trying xfs_repair 3.2.0 now. I'll see how that goes (it'll probably take a day or two to run; 450 TB volume) and report back. Thanks everyone for the suggestions and feedback so far. Best, Sean On Sun, Jun 1, 2014 at 6:48 PM, Dave Chinner wrote: > On Sun, Jun 01, 2014 at 12:21:55PM -0400, Sean Caron wrote: > > Sorry, all, I was a little out-of-it on Friday afternoon, of course I had > > kicked off xfs_repair actually in the background with all output sent to > a > > file, and I was just doing 'tail -f' on that file. > > > > So I kill the 'tail -f' and jump back to the command line, it appears > that > > xfs_repair segfaulted and died. > > > > That line of text: > > > > disconnected inode 1109099673, > > > > was indeed the last thing that it printed before it crashed. > > > > If I look in dmesg, I just see - > > > > xfs_repair[6770]: segfault at 28 ip 000000000042307b sp 00007fffef61bad0 > > error 4 in xfs_repair[400000+72000] > > > > and that's it. > > > > I checked with 'df' and there's plenty of space everywhere; I don't see > why > > it would have faulted out trying to connect something to lost+found. > > > > Underlying storage should be good; this is basically a RAID 60 built on > top > > of a bunch of JBODs with LSI SAS9200 cards. MD sees all strings as > started > > and running OK; no problems getting the array assembled at all. > > > > Since Dave is saying it's OK to try re-running xfs_repair; it'll just > pick > > up where it left off; let me give it another pass and see if it manages > to > > complete, or if it segfaults out again. I guess it it poops out a second > > time, maybe we'll just want to consider rebuilding the filesystem and > > restoring from our copies? > > You should update to the latest version of xfs_repair first (3.2.0). > If that still crashes, running xfs-repair under gdb to get a stack > trace would be a good start, or sending me a metadump image so I can > reproduce the crash myself would be even better... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > --001a11395d847047cc04fade9dd6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I tried re-running the version that came with Ubuntu 12.04= LTS and it very consistently segfaults at that point... so I went and pull= ed a copy of the most recent source from Git and I'm trying xfs_repair = 3.2.0 now. I'll see how that goes (it'll probably take a day or two= to run; 450 TB volume) and report back. Thanks everyone for the suggestion= s and feedback so far.

Best,

Sean


On Sun, Jun 1, 2014 at 6:4= 8 PM, Dave Chinner <david@fromorbit.com> wrote:
On Sun, Jun 01, 2014 at 12:2= 1:55PM -0400, Sean Caron wrote:
> Sorry, all, I was a little out-of-it on Friday afternoon, of course I = had
> kicked off xfs_repair actually in the background with all output sent = to a
> file, and I was just doing 'tail -f' on that file.
>
> So I kill the 'tail -f' and jump back to the command line, it = appears that
> xfs_repair segfaulted and died.
>
> That line of text:
>
> disconnected inode 1109099673,
>
> was indeed the last thing that it printed before it crashed.
>
> If I look in dmesg, I just see -
>
> xfs_repair[6770]: segfault at 28 ip 000000000042307b sp 00007fffef61ba= d0
> error 4 in xfs_repair[400000+72000]
>
> and that's it.
>
> I checked with 'df' and there's plenty of space everywhere= ; I don't see why
> it would have faulted out trying to connect something to lost+found. >
> Underlying storage should be good; this is basically a RAID 60 built o= n top
> of a bunch of JBODs with LSI SAS9200 cards. MD sees all strings as sta= rted
> and running OK; no problems getting the array assembled at all.
>
> Since Dave is saying it's OK to try re-running xfs_repair; it'= ll just pick
> up where it left off; let me give it another pass and see if it manage= s to
> complete, or if it segfaults out again. I guess it it poops out a seco= nd
> time, maybe we'll just want to consider rebuilding the filesystem = and
> restoring from our copies?

You should update to the latest version of xfs_repair first (3.2.0).<= br> If that still crashes, running xfs-repair under gdb to get a stack
trace would be a good start, or sending me a metadump image so I can
reproduce the crash myself would be even better...

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com

--001a11395d847047cc04fade9dd6-- From arnd@arndb.de Mon Jun 2 13:52:25 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C506629DF8 for ; Mon, 2 Jun 2014 13:52:25 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 493D7AC004 for ; Mon, 2 Jun 2014 11:52:25 -0700 (PDT) X-ASG-Debug-ID: 1401735142-04cbb050fd21a8a0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id nCnnaEgjxYUioc4F (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 11:52:23 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue005) with ESMTP (Nemesis) id 0M1CQ8-1WXXWy0veq-00tG0M; Mon, 02 Jun 2014 20:50:56 +0200 From: Arnd Bergmann To: "H. Peter Anvin" Cc: Theodore Ts'o , Chuck Lever , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 20:50:55 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <4548598.6TTMEpKtuS@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <538CB085.5000502@zytor.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:/90kk+gjD6hRNXSPjut3wwHX49joKS4yC+yNNbJ86QL H9umPu65m55QNquKiiF5ZtHy8rUaBi7JnahCxopnsT5iboNJ7L ioxeaM8Fz6OsMphunT7VSECDJdctzFcoVZktVnl3BnN/FN8kTR QT/N3VCaIzZjc+VRkehfMEcYrF5WE+TrV/bET63XFOZfWfZ5Cr Y0iql5fQVRwCk/rm95AKa5rydnsvnUWOkw94YJiC3hRPm9ysbQ iML2sf2ucQrF+oAs9Nw/s2joprprEZF/2XTo/hXSNHG3B4F5/0 +QGQGvSLmVSeIjpVMdCuoxpDcq/G5GNxPNZd7CflGHl5N+4/40 HaUarl+nSj7jW0wsQS04= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401735142 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Monday 02 June 2014 10:12:37 H. Peter Anvin wrote: > On 06/02/2014 08:31 AM, Theodore Ts'o wrote: > > > > I wonder if it would make sense to try to promulgate via the Austin > > group, and possibly the C standards committee the concept of a bit > > pattern (that might commonly be INT_MAX or UINT_MAX) that means "time > > unknown", or "time indefinite" or "we couldn't encode the time". > > > > (time_t)-1 already has this meaning for some calls (e.g. time(2)). > However, this also means Wed Dec 31 23:59:59 UTC 1969, and unfortunately > something similar applies to all possible bit patterns, certainly within > the range of an int. Worse than Wed Dec 31 23:59:59 UTC 1969, on NFSv3 it also means "Sun Feb 7 07:28:15 CET 2106", and that is much harder to distinguish from a real future date. If we had the choice, I'd go for something like 1, i.e. "Thu Jan 1 01:00:01 CET 1970". > > We would then teach gmtime(3) and asctime(3) to print some appropriate > > message, and we could teach programs like find (with the -mtime) > > option, make, tmpwatch, et. al., that they can't make any presumption > > about the comparibility of any timestamp which has a value of > > TIME_UNDEFINIED. > > > > It would be problematic for time(2) or gettimeofday(2) to return > > TIME_UNDEFINED, since there are programs that care about time ticking > > forward, but I could imagine a new interface which would be permitted > > to return a flag indicating that we don't know the current time > > (because the CMOS battery had run down, etc.) so instead we're going > > to be counting the number of seconds since the system was booted. > > This assumes that we actually know that that is the case, which may be > an aggressive assumption. It's harder for time(2), but for the inode case, we can definitely detect when the file system specific representation overflows or underflows, which may be be at a number of very different points of time. Arnd From arnd@arndb.de Mon Jun 2 13:52:55 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 9BBDE29DF8 for ; Mon, 2 Jun 2014 13:52:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 22523AC001 for ; Mon, 2 Jun 2014 11:52:55 -0700 (PDT) X-ASG-Debug-ID: 1401735172-04cb6c1006116480001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.24]) by cuda.sgi.com with ESMTP id EV7FlnPIS3bxoxDV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 11:52:53 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.24 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue105) with ESMTP (Nemesis) id 0LZwBp-1WO0sY3qaz-00lldb; Mon, 02 Jun 2014 20:52:44 +0200 From: Arnd Bergmann To: Chuck Lever Cc: Nicolas Pitre , "H. Peter Anvin" , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 20:52:43 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <5109660.teHoOW5tSd@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Provags-ID: V02:K0:PqaOK9Awxac+bE3z+cHQbCBldAtgnWxKwUCukAmCyyh CITZVSLsBDEbL/f4qUCVRtn/fRfAESAy80V0cuv7lc7LllCqLd t28Kynz6XiXml7tFjZLCB4v06yM4aNnt+Ucm6NCkbH8NA2OX6p p266NC2T1tIdiPFnJyj3BkJVpw0KlWEQ0HV1tgS6wiLfYglxsK x5WxS/DMI/SlfOZED/bzw2D7yhNhkKiBpuVzJYpxiYtV6LF278 +YY7bckwSH3/LUdd8tSbwCyJOCcdJV+OLcaf/oYhi0pQkDMZ0X pIwd0gmNpPxA2UjgTuq8VqP2NHk8VbD/JwG0Iuo68v/2BuCTyu bpSndfOg7nhdms+B5jU4= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.24] X-Barracuda-Start-Time: 1401735173 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 11:04:23 Chuck Lever wrote: > I=E2=80=99m wondering what should be done about NFS. A solution for N= FS should > match any scheme that is considered for local file systems, IMO. >=20 > NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value fo= r > seconds since midnight GMT Jan 1, 1970, and one value for nanoseconds= . > (See the definition of nfstime3 in RFC 1813). >=20 > NFSv4 uses a signed 64-bit value where zero represents midnight UTC > on January 1, 1970, and an unsigned 32-bit value for nanoseconds. (Se= e > the definition of nfstime4 in RFC 5661). >=20 > The NFSv4 protocol is probably not problematic, and NFSv3 should be o= ut > of the picture by 2038. But if changes are planned for dealing _now_ > with timestamp issues, compatibility with NFSv3 is a consideration. >=20 > It is already the case that, via NFSv3, the Linux NFS client transmit= s > timestamps earlier than 1970 as large positive numbers. Try this with= > xfstests generic/258. If I read the code correctly, a pre-1970 timestamp will be sent as a large unsigned integer, but received as a post-2038 timestamp on 64-bit kernels, both in the nfs client and server code. This behavior is clearly wrong, but it's the same bug that we have in lots of other file systems, and it makes sense to have the same fix everywhere, at lease the cases where we know what interpretati= on we actually want. NFS has the luxury of having an actual specification saying that the value is unsigned. For most of the legacy file systems,= we can only make a guess at how other OSs would interpret the same numbers. =09Arnd From roger@filmlight.ltd.uk Mon Jun 2 13:58:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 65D2029DF8 for ; Mon, 2 Jun 2014 13:58:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 324FA30404E for ; Mon, 2 Jun 2014 11:58:27 -0700 (PDT) X-ASG-Debug-ID: 1401735504-04bdf059a045f350001-NocioJ Received: from b.mx.filmlight.ltd.uk (b.mx.filmlight.ltd.uk [77.107.81.251]) by cuda.sgi.com with SMTP id 45lOjsVy6UWjNWnG for ; Mon, 02 Jun 2014 11:58:25 -0700 (PDT) X-Barracuda-Envelope-From: roger@filmlight.ltd.uk X-Barracuda-Apparent-Source-IP: 77.107.81.251 Received: (dqd 300 invoked from network); 2 Jun 2014 18:58:24 -0000 Received: from montana.filmlight.ltd.uk (HELO ?10.44.0.132?) (roger@10.44.0.132) by b.mx.filmlight.ltd.uk with SMTP; 2 Jun 2014 18:58:24 -0000 Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Roger Willcocks X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time To: Chuck Lever Cc: Arnd Bergmann , Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , LKML Kernel , lftan@altera.com, Christoph Hellwig , john.stultz@linaro.org, "H. Peter Anvin" , linux-fsdevel , geert@linux-m68k.org, tglx@linutronix.de, xfs@oss.sgi.com, joseph@codesourcery.com In-Reply-To: <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> Content-Type: text/plain Date: Mon, 02 Jun 2014 19:58:24 +0100 Message-Id: <1401735504.6065.227.camel@montana.filmlight.ltd.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-19.el5) Content-Transfer-Encoding: 7bit X-Barracuda-Connect: b.mx.filmlight.ltd.uk[77.107.81.251] X-Barracuda-Start-Time: 1401735504 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, 2014-06-02 at 11:04 -0400, Chuck Lever wrote: > NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value for > seconds since midnight GMT Jan 1, 1970, and one value for nanoseconds. > (See the definition of nfstime3 in RFC 1813). > nfstime3 could be extended by redefining the otherwise unused nanoseconds bits{31,30} as seconds{33,32}, to give a (signed) 34-bit seconds field and an unsigned 30-bit nanoseconds field. This could represent 1970 +/- 272 years. Servers could indicate they can understand the extended time format by adding a new FSINFO capability - FSF3_CANSETTIME_EX. Clients would use a new SET_TO_CLIENT_TIME_EX time_how enum when sending timestamps so old servers would be protected from new clients. Old clients don't need to be protected from new servers because the on-the-wire bit pattern for dates between 1970 and 2106 stays the same, so they're no worse off than they were before. Arguably the new server ought to clamp out-of-range timestamps before sending them to old clients but that would need per-client state (and nfs3 is stateless.) -- Roger From chuck.lever@oracle.com Mon Jun 2 14:05:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8FD5029DF8 for ; Mon, 2 Jun 2014 14:05:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 30D00AC004 for ; Mon, 2 Jun 2014 12:05:37 -0700 (PDT) X-ASG-Debug-ID: 1401735934-04bdf059a0461b00001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id JJxKbR3EnECUFhva (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 12:05:35 -0700 (PDT) X-Barracuda-Envelope-From: chuck.lever@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s52J4Xht006779 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Jun 2014 19:04:34 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s52J4VnU013922 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Jun 2014 19:04:32 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s52J4TNL023470; Mon, 2 Jun 2014 19:04:30 GMT Received: from anon-dhcp-162.1015granger.net (/68.40.85.241) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 02 Jun 2014 12:04:29 -0700 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\)) Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Chuck Lever X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <1401735504.6065.227.camel@montana.filmlight.ltd.uk> Date: Mon, 2 Jun 2014 15:04:27 -0400 Cc: Arnd Bergmann , Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , LKML Kernel , lftan@altera.com, Christoph Hellwig , john.stultz@linaro.org, "H. Peter Anvin" , linux-fsdevel , geert@linux-m68k.org, tglx@linutronix.de, xfs@oss.sgi.com, joseph@codesourcery.com Content-Transfer-Encoding: quoted-printable Message-Id: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <1401735504.6065.227.camel@montana.filmlight.ltd.uk> To: Roger Willcocks X-Mailer: Apple Mail (2.1878.2) X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401735935 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.50 X-Barracuda-Spam-Status: No, SCORE=1.50 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA067, UNPARSEABLE_RELAY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 1.50 BSF_SC0_SA067 Custom Rule SA067 On Jun 2, 2014, at 2:58 PM, Roger Willcocks = wrote: >=20 > On Mon, 2014-06-02 at 11:04 -0400, Chuck Lever wrote: >=20 >> NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value = for >> seconds since midnight GMT Jan 1, 1970, and one value for = nanoseconds. >> (See the definition of nfstime3 in RFC 1813). >>=20 >=20 > nfstime3 could be extended by redefining the otherwise unused > nanoseconds bits{31,30} as seconds{33,32}, to give a (signed) 34-bit > seconds field and an unsigned 30-bit nanoseconds field. >=20 > This could represent 1970 +/- 272 years. >=20 > Servers could indicate they can understand the extended time format by > adding a new FSINFO capability - FSF3_CANSETTIME_EX. >=20 > Clients would use a new SET_TO_CLIENT_TIME_EX time_how enum when = sending > timestamps so old servers would be protected from new clients. You would have to get the IETF=92s NFSv4 working group to sign off on this change. Otherwise, Linux would be the only NFSv3 implementation that supports the extension. But I suspect the answer you=92d get is =93Use NFSv4.=94 > Old clients don't need to be protected from new servers because the > on-the-wire bit pattern for dates between 1970 and 2106 stays the = same, > so they're no worse off than they were before. >=20 > Arguably the new server ought to clamp out-of-range timestamps before > sending them to old clients but that would need per-client state (and > nfs3 is stateless.) There=92s no reliable way in NFSv3 for clients and servers to identify the software running on the peer. Practically speaking, you should assume that the NFSv3 protocol is never going to change. -- Chuck Lever chuck[dot]lever[at]oracle[dot]com From arnd@arndb.de Mon Jun 2 14:11:03 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id DF77529DF8 for ; Mon, 2 Jun 2014 14:11:03 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9F4018F8050 for ; Mon, 2 Jun 2014 12:11:00 -0700 (PDT) X-ASG-Debug-ID: 1401736257-04bdf0599e4628f0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id sHFlMF5bcgaiYGhu (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 12:10:58 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue001) with ESMTP (Nemesis) id 0MPdgn-1WwEaf3kUj-004kt7; Mon, 02 Jun 2014 21:10:49 +0200 From: Arnd Bergmann To: Chuck Lever Cc: Roger Willcocks , Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , LKML Kernel , lftan@altera.com, Christoph Hellwig , john.stultz@linaro.org, "H. Peter Anvin" , linux-fsdevel , geert@linux-m68k.org, tglx@linutronix.de, xfs@oss.sgi.com, joseph@codesourcery.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Mon, 02 Jun 2014 21:10:47 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <5585593.Xe5bNQZW47@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <1401735504.6065.227.camel@montana.filmlight.ltd.uk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Provags-ID: V02:K0:bXrzJyAzgEKl81TStkjWbriSWSQaIN1lXC/BVPRzOz9 e30zFHO7wPv9NopQs9o8/IgxftJc9DDKjL53AxDp+l3XKLijd+ upWIbCPzGW1r8f8geTxrDyIE3BE/onm56ZedlUsedp7gNMRlS6 w7UUVdX0kK5SXmohuocp+rVbbAWlcpfN/cuR81+dIt4B6W0qsZ iJsankvJXyzjGgqoUrSWX7U0AJbaAZBVG96Le54OrgKAZ59QtO Sk4u9CXEmfLJU+6IYhUpOOzUNOfQ7zvBrjSFfQBvEf8DpVmRud +Rf7HefjAQWGKMtBBV2wfhMvr6ClnqxahqO9GvJQdCp2PqG369 IJiBY9Yez2sg4pUorR+U= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401736257 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6321 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Monday 02 June 2014 15:04:27 Chuck Lever wrote: > On Jun 2, 2014, at 2:58 PM, Roger Willcocks = wrote: >=20 > >=20 > > On Mon, 2014-06-02 at 11:04 -0400, Chuck Lever wrote: > >=20 > >> NFSv2/3 timestamps are a pair of unsigned 32-bit values: one value= for > >> seconds since midnight GMT Jan 1, 1970, and one value for nanoseco= nds. > >> (See the definition of nfstime3 in RFC 1813). > >>=20 > >=20 > > nfstime3 could be extended by redefining the otherwise unused > > nanoseconds bits{31,30} as seconds{33,32}, to give a (signed) 34-bi= t > > seconds field and an unsigned 30-bit nanoseconds field. > >=20 > > This could represent 1970 +/- 272 years. > >=20 > > Servers could indicate they can understand the extended time format= by > > adding a new FSINFO capability - FSF3_CANSETTIME_EX. > >=20 > > Clients would use a new SET_TO_CLIENT_TIME_EX time_how enum when se= nding > > timestamps so old servers would be protected from new clients. >=20 > You would have to get the IETF=E2=80=99s NFSv4 working group to sign = off on > this change. Otherwise, Linux would be the only NFSv3 implementation > that supports the extension. >=20 > But I suspect the answer you=E2=80=99d get is =E2=80=9CUse NFSv4.=E2=80= =9D While I've never dealt with an NFS standardization, I'd assume this is a workable answer. The NFSv2 and NFSv3 definition clearly defines a val= id range of times until 2106 using unsigned seconds, and that should reall= y give enough time to migrate to something better (not necessarily NFSv4)= . =09Arnd From arnd@arndb.de Mon Jun 2 14:21:47 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 5340B29DF8 for ; Mon, 2 Jun 2014 14:21:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id EA679AC003 for ; Mon, 2 Jun 2014 12:21:46 -0700 (PDT) X-ASG-Debug-ID: 1401736903-04bdf059a0463c50001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id eYbLiBP1FjClYlzr (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 12:21:44 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue003) with ESMTP (Nemesis) id 0LgtBS-1WUu4Y1QQA-00oFlX; Mon, 02 Jun 2014 21:19:57 +0200 From: Arnd Bergmann To: "Joseph S. Myers" Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, hpa@zytor.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Mon, 02 Jun 2014 21:19:55 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <4233989.Saca0ocOUr@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:N1Yd64vWkAjM0ROp+kC8egeIF6ETH0wOeYwjA9O2LDZ 7+sVunCrTZKbjtMgR+4sz6lrwmAVoVXd2YAJBNRlsfu8UWnTu5 2YtsEbwNSs64Yj7gNWu9PjFoxw4MBlxq7YNfg0UdwbvswKATut fo6WPS1bnedmxBtIe9Eaw1NbQXNIu4jaOFqvSZAzi7K+gsdj5E M8U54R4vSX46+RmOldxpOJ+8QO4ssxBbbctn0wrkJuX0J1ksF5 tFn3fTKnxB8oWQ06Q2ll3fW8IYUABqZdRV8za9QKBzcQZAQpq9 ud4pys4kK+EPg8pDWRUZcgdS0pRSwT5EgJq+bxQjqLwrRcug0v 2/91O6iRgrww9ivAg99c= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401736904 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6322 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Monday 02 June 2014 13:52:19 Joseph S. Myers wrote: > On Fri, 30 May 2014, Arnd Bergmann wrote: > > > a) is this the right approach in general? The previous discussion > > pointed this way, but there may be other opinions. > > The syscall changes seem like the sort of thing I'd expect, although > patches adding new syscalls or otherwise affecting the kernel/userspace > interface (as opposed to those relating to an individual filesystem) > should go to linux-api as well as other relevant lists. Ok. Sorry about missing linux-api, I confused it with linux-arch, which may not be as relevant here, except for the one question whether we actually want to have the new ABI on all 32-bit architectures or only as an opt-in for those that expect to stay around for another 24 years. Two more questions for you: - are you (and others) happy with adding this type of stat syscall (fstatat64/fstat64) as opposed to the more generic xstat that has been discussed in the past and that never made it through the bike- shedding discussion? - once we have enough buy-in from reviewers to merge this initial series, should we proceed to define rest of the syscall ABI (minus driver ioctls) so glibc and kernel can do the conversion on top of that, or should we better try to do things one syscall family at a time and actually get the kernel to handle them correctly internally? Arnd From hpa@zytor.com Mon Jun 2 14:27:57 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1DDCA29DF8 for ; Mon, 2 Jun 2014 14:27:57 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id F07D58F8089 for ; Mon, 2 Jun 2014 12:27:56 -0700 (PDT) X-ASG-Debug-ID: 1401737274-04cb6c100611f460001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id EVMN5jvEdd35YqO5 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 12:27:55 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from anacreon.sc.intel.com (fmdmzpr02-ext.fm.intel.com [192.55.55.37]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52JQRVT002473 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 12:26:28 -0700 Message-ID: <538CCFDE.2010107@zytor.com> Date: Mon, 02 Jun 2014 12:26:22 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Arnd Bergmann , "Joseph S. Myers" CC: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@TELEMANN.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4233989.Saca0ocOUr@wuerfel> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <4233989.Saca0ocOUr@wuerfel> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401737275 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6322 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On 06/02/2014 12:19 PM, Arnd Bergmann wrote: > On Monday 02 June 2014 13:52:19 Joseph S. Myers wrote: >> On Fri, 30 May 2014, Arnd Bergmann wrote: >> >>> a) is this the right approach in general? The previous discussion >>> pointed this way, but there may be other opinions. >> >> The syscall changes seem like the sort of thing I'd expect, although >> patches adding new syscalls or otherwise affecting the kernel/userspace >> interface (as opposed to those relating to an individual filesystem) >> should go to linux-api as well as other relevant lists. > > Ok. Sorry about missing linux-api, I confused it with linux-arch, which > may not be as relevant here, except for the one question whether we > actually want to have the new ABI on all 32-bit architectures or only > as an opt-in for those that expect to stay around for another 24 years. > > Two more questions for you: > > - are you (and others) happy with adding this type of stat syscall > (fstatat64/fstat64) as opposed to the more generic xstat that has > been discussed in the past and that never made it through the bike- > shedding discussion? > > - once we have enough buy-in from reviewers to merge this initial > series, should we proceed to define rest of the syscall ABI > (minus driver ioctls) so glibc and kernel can do the conversion > on top of that, or should we better try to do things one syscall > family at a time and actually get the kernel to handle them > correctly internally? > The bit that is really going to hurt is every single ioctl that uses a timespec. Honestly, though, I really don't understand the point with "struct inode_time". It seems like the zeroeth-order thing is to change the kernel internal version of struct timespec to have a 64-bit time... it isn't just about inodes. We then should be explicit about the external uses of time, and use accessors. -hpa From arnd@arndb.de Mon Jun 2 14:56:55 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 18F1929DF8 for ; Mon, 2 Jun 2014 14:56:55 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 090B68F8070 for ; Mon, 2 Jun 2014 12:56:55 -0700 (PDT) X-ASG-Debug-ID: 1401739012-04cbb050fa23b9a0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) by cuda.sgi.com with ESMTP id bf3LjAnYBItart7C (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 12:56:53 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.187 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue005) with ESMTP (Nemesis) id 0LrXNx-1WfYrl3CO5-013OTQ; Mon, 02 Jun 2014 21:55:53 +0200 From: Arnd Bergmann To: "H. Peter Anvin" Cc: "Joseph S. Myers" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Mon, 02 Jun 2014 21:55:52 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <7175692.dpgYFMbTaP@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <538CCFDE.2010107@zytor.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4233989.Saca0ocOUr@wuerfel> <538CCFDE.2010107@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:uT+/Uve9SN0noSZFrkOQCUh6cef/b3abSKIoJ2DAuQe Qah2JguLGI1cjCxDJVwax8NuXa/GiGbEAPAesqoVT3/YPv1DST B1fUh0Ug+Q2O8x+yGABvPdcFUQ71Rp+b+ZRP68xdJ8XPb6ux/b DyDt34/79R0EcX0HTbkuX6AN8Q0bJV8FbHKQASSjRNLmD4Oe8z MN2lDy7mi61rRWFiqICPb5CLFDN0/Um5/f58VacqDbspxQUlBl 3sd1qKSRT5hQ6kFFYKJ/rBwdrCfZJ+NLWgo98MgJyOuPYQ7A2o TnLPuiCumxSk3Q2jkiZiDO6V18/ymPB2adR2Y5y00Ai4AMGHql 6oFRuoVW9HTDy+GGmRrA= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.187] X-Barracuda-Start-Time: 1401739013 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6323 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Monday 02 June 2014 12:26:22 H. Peter Anvin wrote: > On 06/02/2014 12:19 PM, Arnd Bergmann wrote: > > On Monday 02 June 2014 13:52:19 Joseph S. Myers wrote: > >> On Fri, 30 May 2014, Arnd Bergmann wrote: > >> > >>> a) is this the right approach in general? The previous discussion > >>> pointed this way, but there may be other opinions. > >> > >> The syscall changes seem like the sort of thing I'd expect, although > >> patches adding new syscalls or otherwise affecting the kernel/userspace > >> interface (as opposed to those relating to an individual filesystem) > >> should go to linux-api as well as other relevant lists. > > > > Ok. Sorry about missing linux-api, I confused it with linux-arch, which > > may not be as relevant here, except for the one question whether we > > actually want to have the new ABI on all 32-bit architectures or only > > as an opt-in for those that expect to stay around for another 24 years. > > > > Two more questions for you: > > > > - are you (and others) happy with adding this type of stat syscall > > (fstatat64/fstat64) as opposed to the more generic xstat that has > > been discussed in the past and that never made it through the bike- > > shedding discussion? > > > > - once we have enough buy-in from reviewers to merge this initial > > series, should we proceed to define rest of the syscall ABI > > (minus driver ioctls) so glibc and kernel can do the conversion > > on top of that, or should we better try to do things one syscall > > family at a time and actually get the kernel to handle them > > correctly internally? > > > > The bit that is really going to hurt is every single ioctl that uses a > timespec. > > Honestly, though, I really don't understand the point with "struct > inode_time". It seems like the zeroeth-order thing is to change the > kernel internal version of struct timespec to have a 64-bit time... it > isn't just about inodes. We then should be explicit about the external > uses of time, and use accessors. I picked these because they are fairly isolated from all other uses, in particular since inode times are the only things where we really care about times in the distant past or future (decades away as opposed to things that happened between boot and shutdown). For other kernel-internal uses, we may be better off migrating to a completely different representation, such as nanoseconds since boot or the architecture specific ktime_t, but this is really something to decide for each subsystem. I just tried building an arm32 kernel with a s64 time_t, and that failed horribly, I get linker errors for missing 64-bit divides and lots of warnings for code that expects time_t pointers to functions taking a 'long' or vice versa. I also think the only way to maintain ABI compatibility is to separate the internal uses from the interface, which means auditing all code in the end. Arnd From joseph_myers@mentor.com Mon Jun 2 16:02:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 3A1C97F54 for ; Mon, 2 Jun 2014 16:02:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id C7FAEAC005 for ; Mon, 2 Jun 2014 14:02:39 -0700 (PDT) X-ASG-Debug-ID: 1401742953-04cbb050fa257f10001-NocioJ Received: from relay1.mentorg.com (relay1.mentorg.com [192.94.38.131]) by cuda.sgi.com with ESMTP id MamqegmMGAFKGC5h (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 14:02:34 -0700 (PDT) X-Barracuda-Envelope-From: joseph_myers@mentor.com X-Barracuda-Apparent-Source-IP: 192.94.38.131 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1WrZN6-0007FJ-V7 from joseph_myers@mentor.com ; Mon, 02 Jun 2014 14:02:21 -0700 Received: from SVR-IES-FEM-02.mgc.mentorg.com ([137.202.0.106]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Mon, 2 Jun 2014 14:02:20 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.2.247.3; Mon, 2 Jun 2014 22:02:17 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.76) (envelope-from ) id 1WrZN1-0007no-QQ; Mon, 02 Jun 2014 21:02:15 +0000 Date: Mon, 2 Jun 2014 21:02:15 +0000 From: "Joseph S. Myers" X-X-Sender: jsm28@digraph.polyomino.org.uk To: Arnd Bergmann CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <4233989.Saca0ocOUr@wuerfel> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4233989.Saca0ocOUr@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: Joseph Myers X-OriginalArrivalTime: 02 Jun 2014 21:02:20.0222 (UTC) FILETIME=[F16D75E0:01CF7EA5] X-Barracuda-Connect: relay1.mentorg.com[192.94.38.131] X-Barracuda-Start-Time: 1401742954 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6325 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, 2 Jun 2014, Arnd Bergmann wrote: > Ok. Sorry about missing linux-api, I confused it with linux-arch, which > may not be as relevant here, except for the one question whether we > actually want to have the new ABI on all 32-bit architectures or only > as an opt-in for those that expect to stay around for another 24 years. For glibc I think it will make the most sense to add the support for 64-bit time_t across all architectures that currently have 32-bit time_t (with the new interfaces having fallback support to implementation in terms of the 32-bit kernel interfaces, if the 64-bit syscalls are unavailable either at runtime or in the kernel headers against which glibc is compiled - this fallback code will of course need to check for overflow when passing a time value to the kernel, hopefully with error handling consistent with whatever the kernel ends up doing when a filesystem can't support a timestamp). If some architectures don't provide the new interfaces in the kernel then that will mean the fallback code in glibc can't be removed until glibc support for those architectures is removed (as opposed to removing it when glibc no longer supports kernels predating the kernel support). > Two more questions for you: > > - are you (and others) happy with adding this type of stat syscall > (fstatat64/fstat64) as opposed to the more generic xstat that has > been discussed in the past and that never made it through the bike- > shedding discussion? I am. > - once we have enough buy-in from reviewers to merge this initial > series, should we proceed to define rest of the syscall ABI > (minus driver ioctls) so glibc and kernel can do the conversion > on top of that, or should we better try to do things one syscall > family at a time and actually get the kernel to handle them > correctly internally? I don't have any comments on that ordering question. -- Joseph S. Myers joseph@codesourcery.com From hpa@zytor.com Mon Jun 2 16:59:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EE94529DF8 for ; Mon, 2 Jun 2014 16:59:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E38A18F807A for ; Mon, 2 Jun 2014 14:59:08 -0700 (PDT) X-ASG-Debug-ID: 1401746346-04cb6c100a145240001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id u5DcBoUCTB7efSHf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 14:59:07 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from anacreon.sc.intel.com (fmdmzpr02-ext.fm.intel.com [192.55.55.37]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52LvV2p014643 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 14:57:32 -0700 Message-ID: <538CF346.2070504@zytor.com> Date: Mon, 02 Jun 2014 14:57:26 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Arnd Bergmann CC: "Joseph S. Myers" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4233989.Saca0ocOUr@wuerfel> <538CCFDE.2010107@zytor.com> <7175692.dpgYFMbTaP@wuerfel> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <7175692.dpgYFMbTaP@wuerfel> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401746347 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6327 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On 06/02/2014 12:55 PM, Arnd Bergmann wrote: >> >> The bit that is really going to hurt is every single ioctl that uses a >> timespec. >> >> Honestly, though, I really don't understand the point with "struct >> inode_time". It seems like the zeroeth-order thing is to change the >> kernel internal version of struct timespec to have a 64-bit time... it >> isn't just about inodes. We then should be explicit about the external >> uses of time, and use accessors. > > I picked these because they are fairly isolated from all other uses, > in particular since inode times are the only things where we really > care about times in the distant past or future (decades away as opposed > to things that happened between boot and shutdown). > If nothing else, I would expect to be able to set the system time to weird values for testing. So I'm not so sure I agree with that... > For other kernel-internal uses, we may be better off migrating to > a completely different representation, such as nanoseconds since > boot or the architecture specific ktime_t, but this is really something > to decide for each subsystem. Having a bunch of different time representations in the kernel seems like a real headache... -hpa From tytso@thunk.org Mon Jun 2 17:30:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 165867F54 for ; Mon, 2 Jun 2014 17:30:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id DFF24304064 for ; Mon, 2 Jun 2014 15:30:40 -0700 (PDT) X-ASG-Debug-ID: 1401748238-04bdf059a04971e0001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id 99taoVq9DHHpJ91d (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 15:30:38 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=0T9a35mm5XUD9Vbom7uySJgsvp5GUEUECVW/aGhcHSA=; b=Ar1jCBkhCcftKHJqkpj/87WevcX9d1XjloI0qDFmjRSB3k4lV+vP2+W+gcJC8SL/cdWHbGXsh7XuaHsu9eZNF1ml9/7w6d9AwG1mcS0QxHZrBf+PAtYXS753yOgckXYKBTWS90fmsdnScyjuVueNJLT4VGayD01u/iclxUOSZq0=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1Wrajr-00057A-FN; Mon, 02 Jun 2014 22:29:55 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id E005F5802C1; Mon, 2 Jun 2014 18:29:54 -0400 (EDT) Date: Mon, 2 Jun 2014 18:29:54 -0400 From: Theodore Ts'o To: "H. Peter Anvin" Cc: Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602222954.GA29690@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , "H. Peter Anvin" , Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538CB085.5000502@zytor.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401748238 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6327 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 10:12:37AM -0700, H. Peter Anvin wrote: > > It would be problematic for time(2) or gettimeofday(2) to return > > TIME_UNDEFINED, since there are programs that care about time ticking > > forward, but I could imagine a new interface which would be permitted > > to return a flag indicating that we don't know the current time > > (because the CMOS battery had run down, etc.) so instead we're going > > to be counting the number of seconds since the system was booted. > > This assumes that we actually know that that is the case, which may be > an aggressive assumption. We won't know if the RTC clock is wrong, true --- but the kernel will know if (a) the hardware doesn't have RTC clock at all, or if (b) the RTC clock is ticking some time that can't be encoded using the current time_t type. So in that case, the fallback would be to be for the kernel to tick starting with time_t == 0 when the system is initially booted, and the "time indefinite flag" would be set. Now assume that we have a new system call, gettimestampofday(2), which returns a new timestamp structure which has a 64-bit ts_sec field, the ts_nsec field (ala struct timespec), and a ts_flags field, where the kernel could signal things like "time invalid", or "time can't be encoded in the legacy time_t type", or "I'm not sure if the time is correct" --- i.e., because the RTC battery isn't working. Not all hardware might be able to support the last, of course, but if the battery is low, or the system has been exposed to very low temperatures (or large amounts of cosmic radiation, etc.) the RTC time may just be plain wrong. No system is going to be perfect, but it should be possible to make htings better, at for certain classes of hardware. And since we are already returning (time_t) -1 in some cases, we might as well try to make things a bit more formal. - Ted From hpa@zytor.com Mon Jun 2 17:35:53 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 7D83B7F54 for ; Mon, 2 Jun 2014 17:35:53 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1F263AC007 for ; Mon, 2 Jun 2014 15:35:49 -0700 (PDT) X-ASG-Debug-ID: 1401748548-04cb6c100a14cf00001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id 9sBsRYtO1oyygCS6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 15:35:48 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from anacreon.sc.intel.com (fmdmzpr02-ext.fm.intel.com [192.55.55.37]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52MWeUQ024983 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 15:32:41 -0700 Message-ID: <538CFB83.20703@zytor.com> Date: Mon, 02 Jun 2014 15:32:35 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: "Theodore Ts'o" , Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> <20140602222954.GA29690@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <20140602222954.GA29690@thunk.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401748548 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6327 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On 06/02/2014 03:29 PM, Theodore Ts'o wrote: > > And since we are already returning (time_t) -1 in some cases, we might > as well try to make things a bit more formal. > Are we? I am not aware of *Linux* actually using that. -hpa From tytso@thunk.org Mon Jun 2 18:32:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E80C37F54 for ; Mon, 2 Jun 2014 18:32:41 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 66EC1AC002 for ; Mon, 2 Jun 2014 16:32:38 -0700 (PDT) X-ASG-Debug-ID: 1401751955-04cb6c1009158860001-NocioJ Received: from imap.thunk.org (imap.thunk.org [74.207.234.97]) by cuda.sgi.com with ESMTP id bhZhf2v9pgVbC85S (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 02 Jun 2014 16:32:36 -0700 (PDT) X-Barracuda-Envelope-From: tytso@thunk.org X-Barracuda-Apparent-Source-IP: 74.207.234.97 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=thunk.org; s=ef5046eb; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=vjUN2kYJtzcZcFomQ6ac87QTu2EfeRU1YFzK2l9gVaQ=; b=Y8+bFZBz+UdnKzHi/MsnT36ngyMgjcabqlQzB+5Eabm55eavLSjFW7zpVR6jXaDSHTzSFB9lQLUF/sP30fJ+4LM7pyVC01XtzKrEeKftWgRL+s1Zvl51QdrFlUhSjWcqo18Xi9pNSsaUn82NE+S/Q4TW3rg6dPe+9Djime5TwRc=; Received: from root (helo=closure.thunk.org) by imap.thunk.org with local-esmtp (Exim 4.80) (envelope-from ) id 1WrbiD-0005XP-TR; Mon, 02 Jun 2014 23:32:17 +0000 Received: by closure.thunk.org (Postfix, from userid 15806) id 4A1A55802C1; Mon, 2 Jun 2014 19:32:12 -0400 (EDT) Date: Mon, 2 Jun 2014 19:32:12 -0400 From: Theodore Ts'o To: "H. Peter Anvin" Cc: Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140602233212.GA2060@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Mail-Followup-To: Theodore Ts'o , "H. Peter Anvin" , Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> <20140602222954.GA29690@thunk.org> <538CFB83.20703@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538CFB83.20703@zytor.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false X-Barracuda-Connect: imap.thunk.org[74.207.234.97] X-Barracuda-Start-Time: 1401751956 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6328 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, Jun 02, 2014 at 03:32:35PM -0700, H. Peter Anvin wrote: > On 06/02/2014 03:29 PM, Theodore Ts'o wrote: > > > > And since we are already returning (time_t) -1 in some cases, we might > > as well try to make things a bit more formal. > > > > Are we? I am not aware of *Linux* actually using that. Linux's time(2) can return (time_t) -1 and set errno to EFAULT, per the Posix specification: SYSCALL_DEFINE1(time, time_t __user *, tloc) { time_t i = get_seconds(); if (tloc) { if (put_user(i,tloc)) return -EFAULT; } force_successful_syscall_return(); return i; } Cheers, - Ted From hpa@zytor.com Mon Jun 2 18:36:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 6A5EA7F54 for ; Mon, 2 Jun 2014 18:36:37 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 139CDAC002 for ; Mon, 2 Jun 2014 16:36:37 -0700 (PDT) X-ASG-Debug-ID: 1401752195-04bdf059a04a3d50001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id Jk1Lt1ObaREMNJlF (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 02 Jun 2014 16:36:35 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from anacreon.sc.intel.com (jfdmzpr04-ext.jf.intel.com [134.134.137.73]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s52NXcEW009447 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Jun 2014 16:33:39 -0700 Message-ID: <538D09CD.2080006@zytor.com> Date: Mon, 02 Jun 2014 16:33:33 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: "Theodore Ts'o" , Chuck Lever , Arnd Bergmann , Nicolas Pitre , Dave Chinner , LKML Kernel , linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, Christoph Hellwig , tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel , xfs@oss.sgi.com, Linux NFS Mailing List Subject: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> <20140602222954.GA29690@thunk.org> <538CFB83.20703@zytor.com> <20140602233212.GA2060@thunk.org> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time In-Reply-To: <20140602233212.GA2060@thunk.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401752195 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6328 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On 06/02/2014 04:32 PM, Theodore Ts'o wrote: > On Mon, Jun 02, 2014 at 03:32:35PM -0700, H. Peter Anvin wrote: >> On 06/02/2014 03:29 PM, Theodore Ts'o wrote: >>> >>> And since we are already returning (time_t) -1 in some cases, we might >>> as well try to make things a bit more formal. >>> >> >> Are we? I am not aware of *Linux* actually using that. > > Linux's time(2) can return (time_t) -1 and set errno to EFAULT, per > the Posix specification: > > SYSCALL_DEFINE1(time, time_t __user *, tloc) > { > time_t i = get_seconds(); > > if (tloc) { > if (put_user(i,tloc)) > return -EFAULT; > } > force_successful_syscall_return(); > return i; > } > OK, I guess I should have said... other than for -EFAULT. I just don't know of anyone using time(2) with an argument other than NULL. -hpa From david@fromorbit.com Mon Jun 2 18:41:47 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id A7C1F7F54 for ; Mon, 2 Jun 2014 18:41:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7598030404E for ; Mon, 2 Jun 2014 16:41:44 -0700 (PDT) X-ASG-Debug-ID: 1401752500-04bdf059a14a5560001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id moN4sN7B0bSl2rOq for ; Mon, 02 Jun 2014 16:41:40 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Atd1AHUKjVN5LL1sPGdsb2JhbABZgwdSgnOoFwEBAQEBAQaYGwGBDxcDAQEBATg1giUBAQU6HCMQCAMOCgklDwUlAwcaE4hB0CQXFoU/iH0HhEAEmX+WeCs Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Jun 2014 09:11:38 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrbrE-0007Ay-1F; Tue, 03 Jun 2014 09:41:36 +1000 Date: Tue, 3 Jun 2014 09:41:36 +1000 From: Dave Chinner To: Martin Papik Cc: xfs@oss.sgi.com Subject: Re: XFS filesystem claims to be mounted after a disconnect Message-ID: <20140602234135.GO6677@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect References: <5363B4C9.4000900@sandeen.net> <5363CB5E.3090008@gmail.com> <5363CD70.3000006@sandeen.net> <5363DBD7.4060002@gmail.com> <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538C5E67.6090005@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1401752500 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6328 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 02, 2014 at 02:22:15PM +0300, Martin Papik wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > > >> How can I detect this situation? I mean I didn't see anything in > >> /proc/mounts or references to the mount point from /proc//*, > >> so I only managed to correct it (chdir elsewhere) by chance on a > >> hunch. Would it not be desirable to know that there's a phantom > >> FS referenced by a number of processes? > > > > lsof. > > No good. lsof reports such things as belonging to / because it can't find the correct path for them. Indeed, you can't find them by filtering on mount point, file or anything else. But they are there. e.g: $ sudo mount /dev/vdc /mnt/scratch $ cd /mnt/scratch $ sudo umount -l /mnt/scratch $ sleep 300 $ cd ~ $ ps -ef |grep [s]leep dave 16341 7432 0 09:27 pts/1 00:00:00 sleep 300 $ sudo lsof |grep sleep sleep 16341 dave cwd DIR 253,32 6 96 / sleep 16341 dave rtd DIR 8,1 4096 2 / sleep 16341 dave txt REG 8,1 31208 32607 /bin/sleep sleep 16341 dave mem REG 8,1 1742520 245384 /lib/x86_64-linux-gnu/libc-2.17.so sleep 16341 dave mem REG 8,1 145160 245381 /lib/x86_64-linux-gnu/ld-2.17.so sleep 16341 dave mem REG 8,1 1607584 98063 /usr/lib/locale/locale-archive sleep 16341 dave 0u CHR 136,1 0t0 4 /dev/pts/1 sleep 16341 dave 1u CHR 136,1 0t0 4 /dev/pts/1 sleep 16341 dave 2u CHR 136,1 0t0 4 /dev/pts/1 See the first two DIR lines? They have different devices but the same path (/). That's what you need to look for - the non-root device with a root path - in this case 253,32: $ ls -l /dev/vdc brw-rw---- 1 root disk 253, 32 Jun 3 09:01 /dev/vdc $ With this knowledge, the simple way: $ sudo lsof |grep "253,32" bash 7432 dave cwd DIR 253,32 6 96 / sleep 16341 dave cwd DIR 253,32 6 96 / There's the two processes holding references to the unmounted filesystem. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Jun 2 19:33:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 419C57F54 for ; Mon, 2 Jun 2014 19:33:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2D8208F8070 for ; Mon, 2 Jun 2014 17:33:05 -0700 (PDT) X-ASG-Debug-ID: 1401755579-04cb6c1009163180001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id qRteJLvk2WqYpR0D for ; Mon, 02 Jun 2014 17:33:00 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgV3AE4XjVN5LL1sPGdsb2JhbABZgwdSgnOoFwEBAQEBAQaHGVyQJgGBDxcDAQEBATg1giUBAQQBJxMcIwULCAMYCSUPBSUDBxoTiDoH0E4WhT+INEkHhEAEmX+BP4ldgiKJOiuBMAEBHgQC Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Jun 2014 10:02:28 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrceR-0007HN-60; Tue, 03 Jun 2014 10:32:27 +1000 Date: Tue, 3 Jun 2014 10:32:27 +1000 From: Dave Chinner To: Arnd Bergmann Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140603003227.GP6677@dastard> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <20140601002437.GL14410@dastard> <20140602002822.GQ14410@dastard> <7106937.MLk03lftzD@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7106937.MLk03lftzD@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1401755579 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6330 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 02, 2014 at 01:43:44PM +0200, Arnd Bergmann wrote: > On Monday 02 June 2014 10:28:22 Dave Chinner wrote: > > On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > > > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > > > In my list at http://kernelnewbies.org/y2038, I found that almost > > > > all file systems at least times until 2106, because they treat > > > > the on-disk value as unsigned on 64-bit systems, or they use > > > > a completely different representation. My guess is that somebody > > > > earlier spent a lot of work on making that happen. > > > > > > > > The exceptions are: > > > > > > > > * exofs uses signed values, which can probably be changed to be > > > > consistent with the others. > > > > * isofs has a bug that limits it until 2027 on architectures with > > > > a signed 'char' type (otherwise it's 2155). > > > > * udf can represent times for many thousands of years through a > > > > 16-bit year representation, but the code to convert to epoch > > > > uses a const array that ends at 2038. > > > > * afs uses signed seconds and can probably be fixed > > > > * coda relies on user space time representation getting passed > > > > through an ioctl. > > > > * I miscategorized xfs/ext2/ext3 as having unsigned 32-bit seconds, > > > > where they really use signed. > > > > > > > > I was confused about XFS since I didn't noticed that there are > > > > separate xfs_ictimestamp_t and xfs_timestamp_t types, so I expected > > > > XFS to also use the 1970-2106 time range on 64-bit systems today. > > > > > > You've missed an awful lot more than just the implications for the > > > core kernel code. > > > > > > There's a good chance such changes propagate to APIs elsewhere in > > > the filesystems, because something you haven't realised is that XFS > > > effectively exposes the on-disk timestamp format directly to > > > userspace via the bulkstat interface (see struct xfs_bstat). It also > > > affects the XFS open-by-handle ioctl and the swap extent ioctl used > > > by the online defragmenter. > > I really didn't look at them at all, as ioctl is very late on my > mental list of things to change. I do realize that a lot of drivers > and file systems do have ioctls that pass time values and we need to > address them one by one. > > I just looked at the ioctls you mentioned but don't see how open-by-handle > is affected by this. Can you point me to what you mean? Sorry, I misremembered how some of the XFS open-by-handle code works in userspace (XFS has a pretty rich open-by-handle ioctl() interface that predates the kernel syscalls by at least 10 years). Basically there is code in userspace that uses the information returned from bulkstat to construct file handles to pass to the open-by-handle ioctls. xfs_fsr then uses the combination of open-by-handle from the bulkstat output and the bulkstat output to feed into the swap extent ioctls.... i.e. the filesystem's idea of what time is is passed to userspace as an opaque cookie in this case, but it is not used directly by the open-by-handle interfaces like I implied it was. > > Just to put that in context, here's the kernel patch to add extended > > epoch support to XFS. It's completely untested as I haven't done any > > userspace code changes to enable the feature. However, it should > > give you an indication of how far the simple act of changing the > > kernel time representation spread through the filesystem. This does > > not include any of the VFS infrastructure to specifying the range of > > supported timestamps. It survives some smoke testing, but dies when > > the online defragmenter starts using the bulkstat and swap extent > > ioctls (the assert in xfs_inode_time_from_epoch() fires), so I > > probably don't have that all sorted correctly yet... > > > > To test extended epoch support, however, I need to some fstests that > > define and validate the behaviour of the new syscalls - until we get > > those we can't validate that the filesystem follows the spec > > properly. I also suspect we are going to need an interface to query > > the supported range of timestamps from a filesystem so that we can > > test boundary conditions in an automated fashion.... > > Thanks a lot for having an initial look at this yourself! > > I'd still consider the two problems largely orthogonal. Depends how you look at it. You can't extend the kernel's idea of time without permanent storage being able to specify the supported bounds - that's a non-negotiable aspect of introducing extended epoch timestamp support. The actual addition of extended timestamp support to each individual filesystem is orthoganol to the introduction of the struct inode_time, but doing this addition properly is dependent on the VFS infrastructure being there in the first place. > My patch set > (at least with the 64-bit tv_sec) just gets 32-bit kernels to behave > more like 64-bit kernels regarding inode time stamps, which does > impact all the file systems that the a 64-bit time or the NFS > unsigned epoch (1970-2106), while your patch extends the file > system internal epoch (1901-2038 for XFS) so it can be used by > anything that knows how to handle larger than 32-bit second values > (either 64-bit kernel or 32-bit with inode_time patch). Right, but the issue is that 64 bit second counters are broken right now because most filesystems can't support more than 32 bit values. So it doesn't matter whether it's 32 bit or 64 bit machines, just adding explicit support for >32 bit second counters without doing anything else just extends that brokenness into the indefinite future. If we don't fix it now (i.e in the new user API and supporting infrastructure), then we'll *never be able to fix it* and we'll be stuck with timestamps that do really weird things when you pass arbitrary future dates to the kernel. > > diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h > > index 623bbe8..79f94722 100644 > > --- a/fs/xfs/xfs_dinode.h > > +++ b/fs/xfs/xfs_dinode.h > > @@ -21,11 +21,53 @@ > > #define XFS_DINODE_MAGIC 0x494e /* 'IN' */ > > #define XFS_DINODE_GOOD_VERSION(v) ((v) >= 1 && (v) <= 3) > > > > +/* > > + * Inode timestamps get more complex when we consider supporting times beyond > > + * the standard unix epoch of Jan 2038. The struct xfs_timestamp cannot support > > + * more than a single extension by playing sign games, and that is still not > > + * reliable. We also can't extend the timestamp structure because there is no > > + * free space around them in the on-disk inode. > > + * > > + * Hence the simplest thing to do is to add an epoch counter for each timestamp > > + * in the inode. This can be a single byte for each timestamp and make use of > > + * a hole we currently pad. This gives us another 255 epochs range for the > > + * timestamps, but requires a superblock feature bit to indicate that these > > + * fields have meaning and can be non-zero. > > Nice trick! It's a pretty common way of extending the range of a variable for on-disk formats. The on-disk format is completely disconnected from the in-memory representation, so it's "easy" to play games like this within the on-disk format. If you look closely at ext4, you'll see all the lo/hi variables where extension of 16->32 bits or 32->48 bits has occurred from the ext2/3 variable formats... ;) > > > +static inline __uint8_t > > +xfs_timestamp_epoch( > > + struct timespec *time) > > +{ > > + /* will be zero until the extended struct inode_time is introduced */ > > + return 0; > > +} > > + > > +static inline __int32_t > > +xfs_timestamp_sec( > > + struct timespec *time) > > +{ > > + return time->tv_sec; > > +} > > + > > +static inline __kernel_time_t > > +xfs_inode_time_from_epoch( > > + __uint8_t epoch, > > + __int32_t seconds) > > +{ > > + /* need to handle non-zero epoch when struct inode_time is introduced */ > > + ASSERT(epoch == 0); > > + return seconds; > > +} > > Why don't you already implement epoch conversion for 64-bit kernels that > are able to represent the time today? Because I wasn't trying to solve the entire problem, just demonstrate the infrastructure needed to support extended timestamps..... > This is how ext4 does it (I mean > the sizeof() trick, not the bit stuffing they do): .... > I guess if there is general agreement on introducing 'struct inode_time', > we can skip that intermediate step. Also, I don't like the concept of having filesystems that will work on 64 bit but not 32 bit machines. Over the past 10 years, we've managed to remove most of those differences from the VFS and XFS, so adding new distinctions between 32/64 bit machines is not the direction I want to head in. As it is, I'm expecting to do this only after the struct inode_time and the superblock "time range" infrastructure have been added to the kernel and VFS. If that change is not made, then we've still only got 32 bit time.... > > @@ -509,8 +509,11 @@ xfs_sb_has_ro_compat_feature( > > } > > > > #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ > > +#define XFS_SB_FEAT_INCOMPAT_EPOCH (1 << 1) /* Time beyond 2038 */ > > #define XFS_SB_FEAT_INCOMPAT_ALL \ > > - (XFS_SB_FEAT_INCOMPAT_FTYPE) > > + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ > > + XFS_SB_FEAT_INCOMPAT_EPOCH | \ > > + 0) > > > > #define XFS_SB_FEAT_INCOMPAT_UNKNOWN ~XFS_SB_FEAT_INCOMPAT_ALL > > How does this flag get set? mkfs.xfs > Do you have to manually change it in the > superblock? Since most of the time I'd suspect you wouldn't actually > use it for the foreseeable future, would it make sense to have a mount > option that allows it to be set, but doesn't actually change the > superblock until the first inode gets written with a nonzero epoch? Yes, we could set the flag on the first timestamp that goes beyond the current epoch, but that has two problems: 1. filesystem silently becomes incompatible with older kernels so failed upgrade rollbacks become problematic; and 2. It adds unecessary complexity, as this will end up being the default behaviour for all new filesystems within a year. Then we end up with a mount option and conversion functions that never get used but we have to support for years.... > That way, you'd still be able to mount it with an older kernel but > also be forward compatible with time moving on. We've got plenty of time to roll this out so I don't see any need for putting in place temporary support mechanisms that unnecessarily complicate the code. Cheers, Dave. -- Dave Chinner david@fromorbit.com From arnd@arndb.de Tue Jun 3 02:35:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E3B1A7F54 for ; Tue, 3 Jun 2014 02:35:20 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C068B8F80DC for ; Tue, 3 Jun 2014 00:35:20 -0700 (PDT) X-ASG-Debug-ID: 1401780918-04cbb050fc2b5a20001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id cRKKGxXQnQ3P5NnC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 00:35:18 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue005) with ESMTP (Nemesis) id 0LouSd-1WL7IQ2II7-00gne1; Tue, 03 Jun 2014 09:33:37 +0200 From: Arnd Bergmann To: Dave Chinner Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Tue, 03 Jun 2014 09:33:36 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <5082342.alZgfaU1Q0@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140603003227.GP6677@dastard> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <7106937.MLk03lftzD@wuerfel> <20140603003227.GP6677@dastard> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:ltmn9eYkxHyp7mS/qIRURiziPLZp0P/Qur7D94DU6Zm 4ijjSj7hkfOTSeqenwknoXosIIIM2/7gZRvUmq1TCEuZyEPFsq YUv1MDuAAtRc0fHXxCjfNi6J08AbYqkOPZJa0wHuNy9FEFtmPe wwDkatFJReDhBtNpVTbeuxtOh3hj9O84XVXRPPiVzc1SLWbmTH N1ZDf2dNQ8sFxU1lQlI+FoVoVO8As3qanqoc5Wvdem7JBwW94y INsGrsDzF6Kv8PlabwPK9lw3qtYgfauS+lo7IDUZ6AAyF7UelE IlptEA5+UI85H2P+RLK8tg5l59IZ6k8iblavk92lBaEJZP0lNP Cgz7ipfNTnIJtdD2mdGs= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401780918 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6337 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tuesday 03 June 2014 10:32:27 Dave Chinner wrote: > On Mon, Jun 02, 2014 at 01:43:44PM +0200, Arnd Bergmann wrote: > > On Monday 02 June 2014 10:28:22 Dave Chinner wrote: > > > On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > > > > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > > > > In my list at http://kernelnewbies.org/y2038, I found that almost > > > > > all file systems at least times until 2106, because they treat > > > > > the on-disk value as unsigned on 64-bit systems, or they use > > > > > a completely different representation. My guess is that somebody > > > > > earlier spent a lot of work on making that happen. > > > > > > > > > > The exceptions are: > > > > > > > > > > * exofs uses signed values, which can probably be changed to be > > > > > consistent with the others. > > > > > * isofs has a bug that limits it until 2027 on architectures with > > > > > a signed 'char' type (otherwise it's 2155). > > > > > * udf can represent times for many thousands of years through a > > > > > 16-bit year representation, but the code to convert to epoch > > > > > uses a const array that ends at 2038. > > > > > * afs uses signed seconds and can probably be fixed > > > > > * coda relies on user space time representation getting passed > > > > > through an ioctl. > > > > > * I miscategorized xfs/ext2/ext3 as having unsigned 32-bit seconds, > > > > > where they really use signed. > > > > > > > > > > I was confused about XFS since I didn't noticed that there are > > > > > separate xfs_ictimestamp_t and xfs_timestamp_t types, so I expected > > > > > XFS to also use the 1970-2106 time range on 64-bit systems today. > > > > > > > > You've missed an awful lot more than just the implications for the > > > > core kernel code. > > > > > > > > There's a good chance such changes propagate to APIs elsewhere in > > > > the filesystems, because something you haven't realised is that XFS > > > > effectively exposes the on-disk timestamp format directly to > > > > userspace via the bulkstat interface (see struct xfs_bstat). It also > > > > affects the XFS open-by-handle ioctl and the swap extent ioctl used > > > > by the online defragmenter. > > > > I really didn't look at them at all, as ioctl is very late on my > > mental list of things to change. I do realize that a lot of drivers > > and file systems do have ioctls that pass time values and we need to > > address them one by one. > > > > I just looked at the ioctls you mentioned but don't see how open-by-handle > > is affected by this. Can you point me to what you mean? > > Sorry, I misremembered how some of the XFS open-by-handle code works > in userspace (XFS has a pretty rich open-by-handle ioctl() interface > that predates the kernel syscalls by at least 10 years). Basically > there is code in userspace that uses the information returned from > bulkstat to construct file handles to pass to the open-by-handle > ioctls. xfs_fsr then uses the combination of open-by-handle from the > bulkstat output and the bulkstat output to feed into the swap extent > ioctls.... > > i.e. the filesystem's idea of what time is is passed to userspace as > an opaque cookie in this case, but it is not used directly by the > open-by-handle interfaces like I implied it was. Ok, I see. > > My patch set > > (at least with the 64-bit tv_sec) just gets 32-bit kernels to behave > > more like 64-bit kernels regarding inode time stamps, which does > > impact all the file systems that the a 64-bit time or the NFS > > unsigned epoch (1970-2106), while your patch extends the file > > system internal epoch (1901-2038 for XFS) so it can be used by > > anything that knows how to handle larger than 32-bit second values > > (either 64-bit kernel or 32-bit with inode_time patch). > > Right, but the issue is that 64 bit second counters are broken right > now because most filesystems can't support more than 32 bit values. > So it doesn't matter whether it's 32 bit or 64 bit machines, just > adding explicit support for >32 bit second counters without doing > anything else just extends that brokenness into the indefinite > future. Of course, "most filesystems" are obsolete, and most of the modern file systems already support >32 bit timestamps: ext4, btrfs, cifs, f2fs, 9p, nfsv4, ntfs, gfs2, ocfs2, fuse, ufs2. Everything else except xfs, ext2/3 and exofs uses the nfsv3 interpretation on 64-bit systems, which interprets time stamps with the high bit set as years 2038-2106 rather than 1903-1969. > If we don't fix it now (i.e in the new user API and supporting > infrastructure), then we'll *never be able to fix it* and we'll be > stuck with timestamps that do really weird things when you pass > arbitrary future dates to the kernel. We already have that. I agree it's fixable and we should fix it, but I don't see how this is different from what we had 20 years ago when Linux on Alpha first introduced a 64-bit time_t. It's been this way on every 64-bit Linux system since. > > This is how ext4 does it (I mean > > the sizeof() trick, not the bit stuffing they do): > .... > > I guess if there is general agreement on introducing 'struct inode_time', > > we can skip that intermediate step. > > Also, I don't like the concept of having filesystems that will work > on 64 bit but not 32 bit machines. Over the past 10 years, we've > managed to remove most of those differences from the VFS and XFS, > so adding new distinctions between 32/64 bit machines is not the > direction I want to head in. > > As it is, I'm expecting to do this only after the struct inode_time > and the superblock "time range" infrastructure have been added to > the kernel and VFS. If that change is not made, then we've still > only got 32 bit time.... Ok. > > Do you have to manually change it in the > > superblock? Since most of the time I'd suspect you wouldn't actually > > use it for the foreseeable future, would it make sense to have a mount > > option that allows it to be set, but doesn't actually change the > > superblock until the first inode gets written with a nonzero epoch? > > Yes, we could set the flag on the first timestamp that goes beyond > the current epoch, but that has two problems: > > 1. filesystem silently becomes incompatible with older > kernels so failed upgrade rollbacks become problematic; and > > 2. It adds unecessary complexity, as this will end up being > the default behaviour for all new filesystems within a year. > Then we end up with a mount option and conversion functions > that never get used but we have to support for years.... > > > That way, you'd still be able to mount it with an older kernel but > > also be forward compatible with time moving on. > > We've got plenty of time to roll this out so I don't see any need > for putting in place temporary support mechanisms that unnecessarily > complicate the code. Ok, fair enough. Arnd From david@fromorbit.com Tue Jun 3 03:41:38 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A16FE7F54 for ; Tue, 3 Jun 2014 03:41:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 716EC8F8162 for ; Tue, 3 Jun 2014 01:41:35 -0700 (PDT) X-ASG-Debug-ID: 1401784892-04cbb050fd2bc320001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id x8FVXdxmQ6uxai2p for ; Tue, 03 Jun 2014 01:41:33 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AodxALeJjVN5LL1sPGdsb2JhbABZgweDRYUIoxQBAgaYGwGBCxcDAQEBATg1giUBAQQBOhwjEAgDGAklDwUlAwcaE4g6B9E7FxaFP4h9B4MrgRUEmX+LHItcKw Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Jun 2014 18:11:31 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrkHi-0008JG-6A; Tue, 03 Jun 2014 18:41:30 +1000 Date: Tue, 3 Jun 2014 18:41:30 +1000 From: Dave Chinner To: Arnd Bergmann Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <20140603084130.GF14410@dastard> X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <7106937.MLk03lftzD@wuerfel> <20140603003227.GP6677@dastard> <5082342.alZgfaU1Q0@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5082342.alZgfaU1Q0@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1401784892 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6338 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 03, 2014 at 09:33:36AM +0200, Arnd Bergmann wrote: > On Tuesday 03 June 2014 10:32:27 Dave Chinner wrote: > > On Mon, Jun 02, 2014 at 01:43:44PM +0200, Arnd Bergmann wrote: > > > On Monday 02 June 2014 10:28:22 Dave Chinner wrote: > > > > On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > > > > > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > > My patch set > > > (at least with the 64-bit tv_sec) just gets 32-bit kernels to behave > > > more like 64-bit kernels regarding inode time stamps, which does > > > impact all the file systems that the a 64-bit time or the NFS > > > unsigned epoch (1970-2106), while your patch extends the file > > > system internal epoch (1901-2038 for XFS) so it can be used by > > > anything that knows how to handle larger than 32-bit second values > > > (either 64-bit kernel or 32-bit with inode_time patch). > > > > Right, but the issue is that 64 bit second counters are broken right > > now because most filesystems can't support more than 32 bit values. > > So it doesn't matter whether it's 32 bit or 64 bit machines, just > > adding explicit support for >32 bit second counters without doing > > anything else just extends that brokenness into the indefinite > > future. > > Of course, "most filesystems" are obsolete, and most of the modern > file systems already support >32 bit timestamps: ext4, btrfs, cifs, > f2fs, 9p, nfsv4, ntfs, gfs2, ocfs2, fuse, ufs2. Everything else > except xfs, ext2/3 and exofs uses the nfsv3 interpretation on > 64-bit systems, which interprets time stamps with the high bit > set as years 2038-2106 rather than 1903-1969. I'm not sure that's an entirely correct representation - the remainder of the 32 bit-only timestamp filesystems don't actively interpret the time stamp at all - it's just an opaque 32 bit value. hence the interpretation of the value is dependent on whether the kernel treats it as signed or unsigned.... > > infrastructure), then we'll *never be able to fix it* and we'll be > > stuck with timestamps that do really weird things when you pass > > arbitrary future dates to the kernel. > > We already have that. I agree it's fixable and we should fix it, > but I don't see how this is different from what we had 20 years > ago when Linux on Alpha first introduced a 64-bit time_t. It's > been this way on every 64-bit Linux system since. I see it differently: we've got 20 years more experience than when the 64 bit time_t was introduced. That experience tells us that best practices for API design are to range check every input to prevent unintended side effects from occurring due to out-of-range data.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From jeff.liu@oracle.com Tue Jun 3 04:18:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 0A57C7F54 for ; Tue, 3 Jun 2014 04:18:00 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C03A78F8068 for ; Tue, 3 Jun 2014 02:17:59 -0700 (PDT) X-ASG-Debug-ID: 1401787077-04bdf059a14dd5d0001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id BYCLMLUzjSx8xogA (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:17:58 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539HuGB027241 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:17:57 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539HuQX024728 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 3 Jun 2014 09:17:56 GMT Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539HuQa024714 for ; Tue, 3 Jun 2014 09:17:56 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:17:55 -0700 Message-ID: <538D92BE.6040505@oracle.com> Date: Tue, 03 Jun 2014 17:17:50 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 01/10] xfs: remove redundant stat assignment in xfs_bulkstat_one_int Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 01/10] xfs: remove redundant stat assignment in xfs_bulkstat_one_int Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787078 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Remove the redundant BULKSTAT_RV_NOTHING assignment in case of call xfs_iget() failed at xfs_bulkstat_one_int(). Reviewed-by: Christoph Hellwig Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index cb64f22..2e7b397 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -76,10 +76,8 @@ xfs_bulkstat_one_int( error = xfs_iget(mp, NULL, ino, (XFS_IGET_DONTCACHE | XFS_IGET_UNTRUSTED), XFS_ILOCK_SHARED, &ip); - if (error) { - *stat = BULKSTAT_RV_NOTHING; + if (error) goto out_free; - } ASSERT(ip != NULL); ASSERT(ip->i_imap.im_blkno != 0); @@ -136,7 +134,6 @@ xfs_bulkstat_one_int( IRELE(ip); error = formatter(buffer, ubsize, ubused, buf); - if (!error) *stat = BULKSTAT_RV_DIDONE; -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E94FE7F58 for ; Tue, 3 Jun 2014 04:18:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id BB728304053 for ; Tue, 3 Jun 2014 02:17:59 -0700 (PDT) X-ASG-Debug-ID: 1401787074-04bdf059a04dd5b0001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id l9YxvvGhtDOeCKCm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:17:54 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539HrTg011410 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:17:53 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s539HqCF011930 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:17:53 GMT Received: from abhmp0004.oracle.com (abhmp0004.oracle.com [141.146.116.10]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s539HoRW011845 for ; Tue, 3 Jun 2014 09:17:51 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:17:49 -0700 Message-ID: <538D92B6.5050402@oracle.com> Date: Tue, 03 Jun 2014 17:17:42 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 00/10] xfs_ioc_bulkstat code refactoring and consolidation Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 00/10] xfs_ioc_bulkstat code refactoring and consolidation Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1401787074 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi folk, This is the revised patches for xfs_ioc_bulkstat consolidation and code refactoring. As per Christoph's comments, I'm not include the per AG inumber patch in this series given that I don't actually introduce the relevant inumbers interface now. Similar to that reason, I also dropped the per AG bulkstat patch, it would be included in parallel quota check series. v3->v2: - one major bug fix is at xfs_bulkstat_ag_ichunk() regarding the user buffer pointer operations, it should be defined as a pointer-to-pointer since it would be updated inside xfs_bulkstat_ag_ichunk(). - separate xfs_inumber consolidate patch into two patches, the first one fix the formater function return value and consolidate the codes, another one does the actual logic changes for better error handling. - Add a separate patch to get rid of the redundant user buffer count checks at xfs_bulkstat() - fixed agino calculation issue at xfs_bulkstat_grab_ichunk(). v2: http://oss.sgi.com/archives/xfs/2014-04/msg00554.html v1: http://oss.sgi.com/archives/xfs/2013-12/msg00901.html Any comments are welcome! Cheers, -Jeff From jeff.liu@oracle.com Tue Jun 3 04:18:13 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 4D77D7F54 for ; Tue, 3 Jun 2014 04:18:13 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C1CCDAC003 for ; Tue, 3 Jun 2014 02:18:09 -0700 (PDT) X-ASG-Debug-ID: 1401787087-04cb6c100918f650001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id 98zPSSfiqoDSFJId (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:08 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539I7xY027649 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:07 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s539I6cb012623 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:06 GMT Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539I5B7013759 for ; Tue, 3 Jun 2014 09:18:05 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:05 -0700 Message-ID: <538D92CA.9090604@oracle.com> Date: Tue, 03 Jun 2014 17:18:02 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 02/10] xfs: remove xfs_bulkstat_single Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 02/10] xfs: remove xfs_bulkstat_single Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787088 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Christoph Hellwig xfs_bukstat_one doesn't have any failure case that would go away when called through xfs_bulkstat, so remove the fallback and the now unessecary xfs_bulkstat_single function. Reviewed-by: Jie Liu Signed-off-by: Christoph Hellwig Signed-off-by: Jie Liu --- fs/xfs/xfs_ioctl.c | 4 ++-- fs/xfs/xfs_itable.c | 48 ------------------------------------------------ fs/xfs/xfs_itable.h | 7 ------- 3 files changed, 2 insertions(+), 57 deletions(-) diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 55724c8..eb5a366 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -799,8 +799,8 @@ xfs_ioc_bulkstat( error = xfs_inumbers(mp, &inlast, &count, bulkreq.ubuffer, xfs_inumbers_fmt); else if (cmd == XFS_IOC_FSBULKSTAT_SINGLE) - error = xfs_bulkstat_single(mp, &inlast, - bulkreq.ubuffer, &done); + error = xfs_bulkstat_one(mp, inlast, bulkreq.ubuffer, + sizeof(xfs_bstat_t), NULL, &done); else /* XFS_IOC_FSBULKSTAT */ error = xfs_bulkstat(mp, &inlast, &count, xfs_bulkstat_one, sizeof(xfs_bstat_t), bulkreq.ubuffer, diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 2e7b397..4d62e63 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -509,54 +509,6 @@ xfs_bulkstat( return rval; } -/* - * Return stat information in bulk (by-inode) for the filesystem. - * Special case for non-sequential one inode bulkstat. - */ -int /* error status */ -xfs_bulkstat_single( - xfs_mount_t *mp, /* mount point for filesystem */ - xfs_ino_t *lastinop, /* inode to return */ - char __user *buffer, /* buffer with inode stats */ - int *done) /* 1 if there are more stats to get */ -{ - int count; /* count value for bulkstat call */ - int error; /* return value */ - xfs_ino_t ino; /* filesystem inode number */ - int res; /* result from bs1 */ - - /* - * note that requesting valid inode numbers which are not allocated - * to inodes will most likely cause xfs_imap_to_bp to generate warning - * messages about bad magic numbers. This is ok. The fact that - * the inode isn't actually an inode is handled by the - * error check below. Done this way to make the usual case faster - * at the expense of the error case. - */ - - ino = *lastinop; - error = xfs_bulkstat_one(mp, ino, buffer, sizeof(xfs_bstat_t), - NULL, &res); - if (error) { - /* - * Special case way failed, do it the "long" way - * to see if that works. - */ - (*lastinop)--; - count = 1; - if (xfs_bulkstat(mp, lastinop, &count, xfs_bulkstat_one, - sizeof(xfs_bstat_t), buffer, done)) - return error; - if (count == 0 || (xfs_ino_t)*lastinop != ino) - return error == EFSCORRUPTED ? - XFS_ERROR(EINVAL) : error; - else - return 0; - } - *done = 0; - return 0; -} - int xfs_inumbers_fmt( void __user *ubuffer, /* buffer to write to */ diff --git a/fs/xfs/xfs_itable.h b/fs/xfs/xfs_itable.h index 97295d9..6ea8b39 100644 --- a/fs/xfs/xfs_itable.h +++ b/fs/xfs/xfs_itable.h @@ -50,13 +50,6 @@ xfs_bulkstat( char __user *ubuffer,/* buffer with inode stats */ int *done); /* 1 if there are more stats to get */ -int -xfs_bulkstat_single( - xfs_mount_t *mp, - xfs_ino_t *lastinop, - char __user *buffer, - int *done); - typedef int (*bulkstat_one_fmt_pf)( /* used size in bytes or negative error */ void __user *ubuffer, /* buffer to write to */ int ubsize, /* remaining user buffer sz */ -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D66507F62 for ; Tue, 3 Jun 2014 04:18:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B69B630404E for ; Tue, 3 Jun 2014 02:18:15 -0700 (PDT) X-ASG-Debug-ID: 1401787094-04cbb050fc2bfdf0001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id bVUlBrDacXCXg68i (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:14 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539ICKc027891 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:13 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539ICmW014118 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:12 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IChm014113 for ; Tue, 3 Jun 2014 09:18:12 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:11 -0700 Message-ID: <538D92D0.4060806@oracle.com> Date: Tue, 03 Jun 2014 17:18:08 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 03/10] xfs: consolidate xfs_inumbers Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 03/10] xfs: consolidate xfs_inumbers Content-Transfer-Encoding: 7bit X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787094 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Consolidate xfs_inumbers() to make the formatter function return correct error and make the source code looks a bit neat. Signed-off-by: Jie Liu --- fs/xfs/xfs_ioctl32.c | 4 +-- fs/xfs/xfs_itable.c | 71 ++++++++++++++++++++++++---------------------------- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index 944d5ba..8080a2e 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -102,7 +102,7 @@ xfs_compat_growfs_rt_copyin( STATIC int xfs_inumbers_fmt_compat( void __user *ubuffer, - const xfs_inogrp_t *buffer, + const struct xfs_inogrp *buffer, long count, long *written) { @@ -113,7 +113,7 @@ xfs_inumbers_fmt_compat( if (put_user(buffer[i].xi_startino, &p32[i].xi_startino) || put_user(buffer[i].xi_alloccount, &p32[i].xi_alloccount) || put_user(buffer[i].xi_allocmask, &p32[i].xi_allocmask)) - return -XFS_ERROR(EFAULT); + return XFS_ERROR(EFAULT); } *written = count * sizeof(*p32); return 0; diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 4d62e63..dd68696 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -512,12 +512,12 @@ xfs_bulkstat( int xfs_inumbers_fmt( void __user *ubuffer, /* buffer to write to */ - const xfs_inogrp_t *buffer, /* buffer to read from */ + const struct xfs_inogrp *buffer, /* buffer to read from */ long count, /* # of elements to read */ long *written) /* # of bytes written */ { if (copy_to_user(ubuffer, buffer, count * sizeof(*buffer))) - return -EFAULT; + return XFS_ERROR(EFAULT); *written = count * sizeof(*buffer); return 0; } @@ -527,37 +527,33 @@ xfs_inumbers_fmt( */ int /* error status */ xfs_inumbers( - xfs_mount_t *mp, /* mount point for filesystem */ - xfs_ino_t *lastino, /* last inode returned */ - int *count, /* size of buffer/count returned */ - void __user *ubuffer,/* buffer with inode descriptions */ - inumbers_fmt_pf formatter) + struct xfs_mount *mp,/* mount point for filesystem */ + xfs_ino_t *lastino,/* last inode returned */ + int *count,/* size of buffer/count returned */ + void __user *ubuffer,/* buffer with inode descriptions */ + inumbers_fmt_pf formatter) { - xfs_buf_t *agbp; - xfs_agino_t agino; - xfs_agnumber_t agno; - int bcount; - xfs_inogrp_t *buffer; - int bufidx; - xfs_btree_cur_t *cur; - int error; - xfs_inobt_rec_incore_t r; - int i; - xfs_ino_t ino; - int left; - int tmp; - - ino = (xfs_ino_t)*lastino; - agno = XFS_INO_TO_AGNO(mp, ino); - agino = XFS_INO_TO_AGINO(mp, ino); - left = *count; + xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, *lastino); + xfs_agino_t agino = XFS_INO_TO_AGINO(mp, *lastino); + struct xfs_btree_cur *cur = NULL; + xfs_buf_t *agbp = NULL; + struct xfs_inogrp *buffer; + int bcount; + int left = *count; + int bufidx = 0; + int error = 0; + *count = 0; + if (agno >= mp->m_sb.sb_agcount || + *lastino != XFS_AGINO_TO_INO(mp, agno, agino)) + return error; + bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer))); buffer = kmem_alloc(bcount * sizeof(*buffer), KM_SLEEP); - error = bufidx = 0; - cur = NULL; - agbp = NULL; while (left > 0 && agno < mp->m_sb.sb_agcount) { + struct xfs_inobt_rec_incore r; + int stat; + if (agbp == NULL) { error = xfs_ialloc_read_agi(mp, NULL, agno, &agbp); if (error) { @@ -574,7 +570,7 @@ xfs_inumbers( cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno, XFS_BTNUM_INO); error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_GE, - &tmp); + &stat); if (error) { xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); cur = NULL; @@ -589,8 +585,8 @@ xfs_inumbers( continue; } } - error = xfs_inobt_get_rec(cur, &r, &i); - if (error || i == 0) { + error = xfs_inobt_get_rec(cur, &r, &stat); + if (error || stat == 0) { xfs_buf_relse(agbp); agbp = NULL; xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); @@ -609,16 +605,15 @@ xfs_inumbers( left--; if (bufidx == bcount) { long written; - if (formatter(ubuffer, buffer, bufidx, &written)) { - error = XFS_ERROR(EFAULT); + error = formatter(ubuffer, buffer, bufidx, &written); + if (error) break; - } ubuffer += written; *count += bufidx; bufidx = 0; } if (left) { - error = xfs_btree_increment(cur, 0, &tmp); + error = xfs_btree_increment(cur, 0, &stat); if (error) { xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); cur = NULL; @@ -636,9 +631,9 @@ xfs_inumbers( if (!error) { if (bufidx) { long written; - if (formatter(ubuffer, buffer, bufidx, &written)) - error = XFS_ERROR(EFAULT); - else + + error = formatter(ubuffer, buffer, bufidx, &written); + if (!error) *count += bufidx; } *lastino = XFS_AGINO_TO_INO(mp, agno, agino); -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:23 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 27C637F69 for ; Tue, 3 Jun 2014 04:18:23 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id DE5548F804B for ; Tue, 3 Jun 2014 02:18:22 -0700 (PDT) X-ASG-Debug-ID: 1401787101-04bdf0599f4dd650001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id TGHIDNbLfwEO4GiT (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:21 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539IJZu028180 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:20 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IJAs011500 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:19 GMT Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IJiA011494 for ; Tue, 3 Jun 2014 09:18:19 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:18 -0700 Message-ID: <538D92D7.8000401@oracle.com> Date: Tue, 03 Jun 2014 17:18:15 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 04/10] xfs: fix error handling at xfs_inumbers Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 04/10] xfs: fix error handling at xfs_inumbers Content-Transfer-Encoding: 7bit X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787101 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu To fetch the file system number tables, we currently just ignore the errors and proceed to loop over the next AG or bump agino to the next chunk in case of btree operations failed, that is not properly because those errors might hint us potential file system problems. This patch rework xfs_inumbers() to handle the btree operation errors as well as the loop conditions. Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 91 ++++++++++++++++++++++------------------------------- 1 file changed, 37 insertions(+), 54 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index dd68696..693e787 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -550,61 +550,40 @@ xfs_inumbers( bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer))); buffer = kmem_alloc(bcount * sizeof(*buffer), KM_SLEEP); - while (left > 0 && agno < mp->m_sb.sb_agcount) { + do { struct xfs_inobt_rec_incore r; int stat; - if (agbp == NULL) { + if (!agbp) { error = xfs_ialloc_read_agi(mp, NULL, agno, &agbp); - if (error) { - /* - * If we can't read the AGI of this ag, - * then just skip to the next one. - */ - ASSERT(cur == NULL); - agbp = NULL; - agno++; - agino = 0; - continue; - } + if (error) + break; + cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno, XFS_BTNUM_INO); error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_GE, &stat); - if (error) { - xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); - cur = NULL; - xfs_buf_relse(agbp); - agbp = NULL; - /* - * Move up the last inode in the current - * chunk. The lookup_ge will always get - * us the first inode in the next chunk. - */ - agino += XFS_INODES_PER_CHUNK - 1; - continue; - } + if (error) + break; + if (!stat) + goto next_ag; } + error = xfs_inobt_get_rec(cur, &r, &stat); - if (error || stat == 0) { - xfs_buf_relse(agbp); - agbp = NULL; - xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); - cur = NULL; - agno++; - agino = 0; - continue; - } + if (error) + break; + if (!stat) + goto next_ag; + agino = r.ir_startino + XFS_INODES_PER_CHUNK - 1; buffer[bufidx].xi_startino = XFS_AGINO_TO_INO(mp, agno, r.ir_startino); buffer[bufidx].xi_alloccount = XFS_INODES_PER_CHUNK - r.ir_freecount; buffer[bufidx].xi_allocmask = ~r.ir_free; - bufidx++; - left--; - if (bufidx == bcount) { + if (++bufidx == bcount) { long written; + error = formatter(ubuffer, buffer, bufidx, &written); if (error) break; @@ -612,22 +591,24 @@ xfs_inumbers( *count += bufidx; bufidx = 0; } - if (left) { - error = xfs_btree_increment(cur, 0, &stat); - if (error) { - xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); - cur = NULL; - xfs_buf_relse(agbp); - agbp = NULL; - /* - * The agino value has already been bumped. - * Just try to skip up to it. - */ - agino += XFS_INODES_PER_CHUNK; - continue; - } - } - } + if (--left) + break; + + error = xfs_btree_increment(cur, 0, &stat); + if (error) + break; + if (stat) + continue; + +next_ag: + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + cur = NULL; + xfs_buf_relse(agbp); + agbp = NULL; + agno++; + agino = 0; + } while (++agno < mp->m_sb.sb_agcount); + if (!error) { if (bufidx) { long written; @@ -638,11 +619,13 @@ xfs_inumbers( } *lastino = XFS_AGINO_TO_INO(mp, agno, agino); } + kmem_free(buffer); if (cur) xfs_btree_del_cursor(cur, (error ? XFS_BTREE_ERROR : XFS_BTREE_NOERROR)); if (agbp) xfs_buf_relse(agbp); + return error; } -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C548F7F58 for ; Tue, 3 Jun 2014 04:18:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4D489AC004 for ; Tue, 3 Jun 2014 02:18:30 -0700 (PDT) X-ASG-Debug-ID: 1401787108-04cb6c100918f6e0001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id LK8mvWnW7nXObAdn (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:28 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539IRwH012581 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:28 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IRiq011923 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:27 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IRaM014782 for ; Tue, 3 Jun 2014 09:18:27 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:27 -0700 Message-ID: <538D92E0.3000002@oracle.com> Date: Tue, 03 Jun 2014 17:18:24 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 05/10] xfs: remove redundant user buffer count checks at xfs_bulkstat Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 05/10] xfs: remove redundant user buffer count checks at xfs_bulkstat Content-Transfer-Encoding: 7bit X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1401787108 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Remove the redundant user buffer and count checks as it has already been validated at xfs_ioc_bulkstat(). Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 693e787..d210e24 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -230,9 +230,6 @@ xfs_bulkstat( *ubcountp = 0; return 0; } - if (!ubcountp || *ubcountp <= 0) { - return EINVAL; - } ubcount = *ubcountp; /* statstruct's */ ubleft = ubcount * statstruct_size; /* bytes */ *ubcountp = ubelem = 0; -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:41 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C79947F74 for ; Tue, 3 Jun 2014 04:18:41 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A704E8F8050 for ; Tue, 3 Jun 2014 02:18:41 -0700 (PDT) X-ASG-Debug-ID: 1401787120-04cb6c100c18f730001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id JaNu6oSPlgYw9JdG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:40 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539Id32028573 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:40 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539Icc9027402 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:39 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539IcmQ012509 for ; Tue, 3 Jun 2014 09:18:38 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:38 -0700 Message-ID: <538D92E9.3010207@oracle.com> Date: Tue, 03 Jun 2014 17:18:33 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 06/10] xfs: fix error handling at xfs_bulkstat Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 06/10] xfs: fix error handling at xfs_bulkstat Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787120 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu We should not ignore the btree operation errors at xfs_bulkstat() but to propagate them if any. This patch fix two places in this function and the remains things will be fixed with code refactoring thereafter. Signed-off-by: Christoph Hellwig Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 37 ++++++------------------------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index d210e24..a3c833c 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -252,14 +252,8 @@ xfs_bulkstat( while (XFS_BULKSTAT_UBLEFT(ubleft) && agno < mp->m_sb.sb_agcount) { cond_resched(); error = xfs_ialloc_read_agi(mp, NULL, agno, &agbp); - if (error) { - /* - * Skip this allocation group and go to the next one. - */ - agno++; - agino = 0; - continue; - } + if (error) + break; agi = XFS_BUF_TO_AGI(agbp); /* * Allocate and initialize a btree cursor for ialloc btree. @@ -331,34 +325,15 @@ xfs_bulkstat( error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); icount = 0; } + if (error) + break; + /* * Loop through inode btree records in this ag, * until we run out of inodes or space in the buffer. */ while (irbp < irbufend && icount < ubcount) { - xfs_inobt_rec_incore_t r; - - /* - * Loop as long as we're unable to read the - * inode btree. - */ - while (error) { - agino += XFS_INODES_PER_CHUNK; - if (XFS_AGINO_TO_AGBNO(mp, agino) >= - be32_to_cpu(agi->agi_length)) - break; - error = xfs_inobt_lookup(cur, agino, - XFS_LOOKUP_GE, &tmp); - cond_resched(); - } - /* - * If ran off the end of the ag either with an error, - * or the normal way, set end and stop collecting. - */ - if (error) { - end_of_ag = 1; - break; - } + struct xfs_inobt_rec_incore r; error = xfs_inobt_get_rec(cur, &r, &i); if (error || i == 0) { -- 1.8.3.2 From arnd@arndb.de Tue Jun 3 04:18:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E0AD07F58 for ; Tue, 3 Jun 2014 04:18:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6D334AC003 for ; Tue, 3 Jun 2014 02:18:44 -0700 (PDT) X-ASG-Debug-ID: 1401787121-04cbb050fa2bfed0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) by cuda.sgi.com with ESMTP id pBmREUzG705BBq0g (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:42 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.187 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue004) with ESMTP (Nemesis) id 0MDCrg-1X1gTf2PC0-00GcAR; Tue, 03 Jun 2014 11:16:52 +0200 From: Arnd Bergmann To: Dave Chinner Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [RFC 11/32] xfs: convert to struct inode_time Date: Tue, 03 Jun 2014 11:16:50 +0200 X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time Message-ID: <5502404.8z4rGLMfhs@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <20140603084130.GF14410@dastard> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5082342.alZgfaU1Q0@wuerfel> <20140603084130.GF14410@dastard> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:pt3DsXlHBsyPjmPaNAXDA9lHvUIrqsM+3a9qKR9v8tn liOdLy1q9zODdZPGc3FeSVP2cQDSg30BvSzoJUEJcFfGp4K1cd i1mLdWG3XP3e6rGXZ7K0MuGwj4rsIV8WOWZ5v0LX2zkIzYNo9o Figv2TerL8ouwO0iIFTql2pjJft7a0GLETcuYtxYIi10PK1Hoi atrzzVjqL5WVvVyJaFmo7Sgq3wgYov4I5cLKlQ5aWNEqQFAFLh bSHyBdu3h5+YJCSdLIDWLBwDtrMglMaw3RjLL/7Y9VOCUUpVTF QkttUlCfuel+SMJ/vAy9t4rTaQ5yGvmxzw+YzMXt8ec0uFPCNI Cx8v7LSCwd6qDNsYFxZU= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.187] X-Barracuda-Start-Time: 1401787122 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tuesday 03 June 2014 18:41:30 Dave Chinner wrote: > On Tue, Jun 03, 2014 at 09:33:36AM +0200, Arnd Bergmann wrote: > > On Tuesday 03 June 2014 10:32:27 Dave Chinner wrote: > > > On Mon, Jun 02, 2014 at 01:43:44PM +0200, Arnd Bergmann wrote: > > > > On Monday 02 June 2014 10:28:22 Dave Chinner wrote: > > > > > On Sun, Jun 01, 2014 at 10:24:37AM +1000, Dave Chinner wrote: > > > > > > On Sat, May 31, 2014 at 05:37:52PM +0200, Arnd Bergmann wrote: > > > > My patch set > > > > (at least with the 64-bit tv_sec) just gets 32-bit kernels to behave > > > > more like 64-bit kernels regarding inode time stamps, which does > > > > impact all the file systems that the a 64-bit time or the NFS > > > > unsigned epoch (1970-2106), while your patch extends the file > > > > system internal epoch (1901-2038 for XFS) so it can be used by > > > > anything that knows how to handle larger than 32-bit second values > > > > (either 64-bit kernel or 32-bit with inode_time patch). > > > > > > Right, but the issue is that 64 bit second counters are broken right > > > now because most filesystems can't support more than 32 bit values. > > > So it doesn't matter whether it's 32 bit or 64 bit machines, just > > > adding explicit support for >32 bit second counters without doing > > > anything else just extends that brokenness into the indefinite > > > future. > > > > Of course, "most filesystems" are obsolete, and most of the modern > > file systems already support >32 bit timestamps: ext4, btrfs, cifs, > > f2fs, 9p, nfsv4, ntfs, gfs2, ocfs2, fuse, ufs2. Everything else > > except xfs, ext2/3 and exofs uses the nfsv3 interpretation on > > 64-bit systems, which interprets time stamps with the high bit > > set as years 2038-2106 rather than 1903-1969. > > I'm not sure that's an entirely correct representation - the > remainder of the 32 bit-only timestamp filesystems don't actively > interpret the time stamp at all - it's just an opaque 32 bit value. > hence the interpretation of the value is dependent on whether the > kernel treats it as signed or unsigned.... As I mentioned elsewhere in the thread, I don't the way it's handled is intentional, but it's definitely the file system code that does the assignment to the timeval and decides on the interpretation, doing either inode->i_mtime.tv_sec = (signed)le32_to_cpu(raw_inode.mtime); or inode->i_mtime.tv_sec = le32_to_cpu(raw_inode.mtime); Arnd From jeff.liu@oracle.com Tue Jun 3 04:18:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 793137F78 for ; Tue, 3 Jun 2014 04:18:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 564BB8F8050 for ; Tue, 3 Jun 2014 02:18:45 -0700 (PDT) X-ASG-Debug-ID: 1401787124-04cbb050fc2bfef0001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id 3lrmqXf6heV5tqYw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:44 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539IhOY012846 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:43 GMT Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539Igdk015545 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 3 Jun 2014 09:18:43 GMT Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539Ig5q027573 for ; Tue, 3 Jun 2014 09:18:42 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:41 -0700 Message-ID: <538D92EF.1010809@oracle.com> Date: Tue, 03 Jun 2014 17:18:39 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 07/10] xfs: introduce xfs_bulkstat_ichunk_ra Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 07/10] xfs: introduce xfs_bulkstat_ichunk_ra Content-Transfer-Encoding: 7bit X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1401787124 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Introduce xfs_bulkstat_ichunk_ra() to loop over all clusters in the next inode chunk, then performs readahead if there are any allocated inodes in that cluster. Refactor xfs_bulkstat() with it. Reviewed-by: Christoph Hellwig Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 56 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index a3c833c..217e809 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -172,6 +172,37 @@ xfs_bulkstat_one( xfs_bulkstat_one_fmt, ubused, stat); } +/* + * Loop over all clusters in a chunk for a given incore inode allocation btree + * record. Do a readahead if there are any allocated inodes in that cluster. + */ +STATIC void +xfs_bulkstat_ichunk_ra( + struct xfs_mount *mp, + xfs_agnumber_t agno, + struct xfs_inobt_rec_incore *irec) +{ + xfs_agblock_t agbno; + struct blk_plug plug; + int blks_per_cluster; + int inodes_per_cluster; + int i; /* inode chunk index */ + + agbno = XFS_AGINO_TO_AGBNO(mp, irec->ir_startino); + blks_per_cluster = xfs_icluster_size_fsb(mp); + inodes_per_cluster = blks_per_cluster << mp->m_sb.sb_inopblog; + + blk_start_plug(&plug); + for (i = 0; i < XFS_INODES_PER_CHUNK; + i += inodes_per_cluster, agbno += blks_per_cluster) { + if (xfs_inobt_maskn(i, inodes_per_cluster) & ~irec->ir_free) { + xfs_btree_reada_bufs(mp, agno, agbno, blks_per_cluster, + &xfs_inode_buf_ops); + } + } + blk_finish_plug(&plug); +} + #define XFS_BULKSTAT_UBLEFT(ubleft) ((ubleft) >= statstruct_size) /* @@ -187,7 +218,6 @@ xfs_bulkstat( char __user *ubuffer, /* buffer with inode stats */ int *done) /* 1 if there are more stats to get */ { - xfs_agblock_t agbno=0;/* allocation group block number */ xfs_buf_t *agbp; /* agi header buffer */ xfs_agi_t *agi; /* agi header data */ xfs_agino_t agino; /* inode # in allocation group */ @@ -206,8 +236,6 @@ xfs_bulkstat( xfs_inobt_rec_incore_t *irbuf; /* start of irec buffer */ xfs_inobt_rec_incore_t *irbufend; /* end of good irec buffer entries */ xfs_ino_t lastino; /* last inode number returned */ - int blks_per_cluster; /* # of blocks per cluster */ - int inodes_per_cluster;/* # of inodes per cluster */ int nirbuf; /* size of irbuf */ int rval; /* return value error code */ int tmp; /* result value from btree calls */ @@ -236,8 +264,6 @@ xfs_bulkstat( *done = 0; fmterror = 0; ubufp = ubuffer; - blks_per_cluster = xfs_icluster_size_fsb(mp); - inodes_per_cluster = blks_per_cluster << mp->m_sb.sb_inopblog; irbuf = kmem_zalloc_greedy(&irbsize, PAGE_SIZE, PAGE_SIZE * 4); if (!irbuf) return ENOMEM; @@ -346,25 +372,7 @@ xfs_bulkstat( * Also start read-ahead now for this chunk. */ if (r.ir_freecount < XFS_INODES_PER_CHUNK) { - struct blk_plug plug; - /* - * Loop over all clusters in the next chunk. - * Do a readahead if there are any allocated - * inodes in that cluster. - */ - blk_start_plug(&plug); - agbno = XFS_AGINO_TO_AGBNO(mp, r.ir_startino); - for (chunkidx = 0; - chunkidx < XFS_INODES_PER_CHUNK; - chunkidx += inodes_per_cluster, - agbno += blks_per_cluster) { - if (xfs_inobt_maskn(chunkidx, - inodes_per_cluster) & ~r.ir_free) - xfs_btree_reada_bufs(mp, agno, - agbno, blks_per_cluster, - &xfs_inode_buf_ops); - } - blk_finish_plug(&plug); + xfs_bulkstat_ichunk_ra(mp, agno, &r); irbp->ir_startino = r.ir_startino; irbp->ir_freecount = r.ir_freecount; irbp->ir_free = r.ir_free; -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:18:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 097687F74 for ; Tue, 3 Jun 2014 04:18:59 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id BFC0E30404E for ; Tue, 3 Jun 2014 02:18:58 -0700 (PDT) X-ASG-Debug-ID: 1401787136-04bdf0599f4dd750001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id J2SOhpnPuEM2C1Fz (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:18:57 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539Iu92013007 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:18:56 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539ItWi013494 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:18:56 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539ItnI016140 for ; Tue, 3 Jun 2014 09:18:55 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:55 -0700 Message-ID: <538D92F8.9020605@oracle.com> Date: Tue, 03 Jun 2014 17:18:48 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 08/10] xfs: introduce xfs_bulkstat_grab_ichunk Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 08/10] xfs: introduce xfs_bulkstat_grab_ichunk Content-Transfer-Encoding: 7bit X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1401787137 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Introduce xfs_bulkstat_grab_ichunk() to look up an inode chunk in where the given inode resides, then grab the record. Update the data for the pointed-to record if the inode was not the last in the chunk and there are some left allocated, return the grabbed inode count on success. Refactor xfs_bulkstat() with it. Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 119 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 50 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 217e809..d2131c9 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -203,6 +203,63 @@ xfs_bulkstat_ichunk_ra( blk_finish_plug(&plug); } +/* + * Lookup the inode chunk that the given inode lives in and then get the record + * if we found the chunk. If the inode was not the last in the chunk and there + * are some left allocated, update the data for the pointed-to record as well as + * return the count of grabbed inodes. + */ +STATIC int +xfs_bulkstat_grab_ichunk( + struct xfs_btree_cur *cur, /* btree cursor */ + xfs_agino_t agino, /* starting inode of chunk */ + int *icount,/* return # of inodes grabbed */ + struct xfs_inobt_rec_incore *irec) /* btree record */ +{ + int idx; /* index into inode chunk */ + int stat; + int error = 0; + + /* Lookup the inode chunk that this inode lives in */ + error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_LE, &stat); + if (error) + return error; + if (!stat) { + *icount = 0; + return error; + } + + /* Get the record, should always work */ + error = xfs_inobt_get_rec(cur, irec, &stat); + if (error) + return error; + XFS_WANT_CORRUPTED_RETURN(stat == 1); + + /* Check if the record contains the inode in request */ + if (irec->ir_startino + XFS_INODES_PER_CHUNK <= agino) + return XFS_ERROR(EINVAL); + + idx = agino - irec->ir_startino + 1; + if (idx < XFS_INODES_PER_CHUNK && + (xfs_inobt_maskn(idx, XFS_INODES_PER_CHUNK - idx) & ~irec->ir_free)) { + int i; + + /* We got a right chunk with some left inodes allocated at it. + * Grab the chunk record. Mark all the uninteresting inodes + * free -- because they're before our start point. + */ + for (i = 0; i < idx; i++) { + if (XFS_INOBT_MASK(i) & ~irec->ir_free) + irec->ir_freecount++; + } + + irec->ir_free |= xfs_inobt_maskn(0, idx); + *icount = XFS_INODES_PER_CHUNK - irec->ir_freecount; + } + + return 0; +} + #define XFS_BULKSTAT_UBLEFT(ubleft) ((ubleft) >= statstruct_size) /* @@ -289,67 +346,29 @@ xfs_bulkstat( irbp = irbuf; irbufend = irbuf + nirbuf; end_of_ag = 0; - /* - * If we're returning in the middle of an allocation group, - * we need to get the remainder of the chunk we're in. - */ + icount = 0; if (agino > 0) { - xfs_inobt_rec_incore_t r; - /* - * Lookup the inode chunk that this inode lives in. + * In the middle of an allocation group, we need to get + * the remainder of the chunk we're in. */ - error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_LE, - &tmp); - if (!error && /* no I/O error */ - tmp && /* lookup succeeded */ - /* got the record, should always work */ - !(error = xfs_inobt_get_rec(cur, &r, &i)) && - i == 1 && - /* this is the right chunk */ - agino < r.ir_startino + XFS_INODES_PER_CHUNK && - /* lastino was not last in chunk */ - (chunkidx = agino - r.ir_startino + 1) < - XFS_INODES_PER_CHUNK && - /* there are some left allocated */ - xfs_inobt_maskn(chunkidx, - XFS_INODES_PER_CHUNK - chunkidx) & - ~r.ir_free) { - /* - * Grab the chunk record. Mark all the - * uninteresting inodes (because they're - * before our start point) free. - */ - for (i = 0; i < chunkidx; i++) { - if (XFS_INOBT_MASK(i) & ~r.ir_free) - r.ir_freecount++; - } - r.ir_free |= xfs_inobt_maskn(0, chunkidx); + struct xfs_inobt_rec_incore r; + + error = xfs_bulkstat_grab_ichunk(cur, agino, &icount, &r); + if (error) + break; + if (icount) { irbp->ir_startino = r.ir_startino; irbp->ir_freecount = r.ir_freecount; irbp->ir_free = r.ir_free; irbp++; agino = r.ir_startino + XFS_INODES_PER_CHUNK; - icount = XFS_INODES_PER_CHUNK - r.ir_freecount; - } else { - /* - * If any of those tests failed, bump the - * inode number (just in case). - */ - agino++; - icount = 0; } - /* - * In any case, increment to the next record. - */ - if (!error) - error = xfs_btree_increment(cur, 0, &tmp); + /* Increment to the next record */ + error = xfs_btree_increment(cur, 0, &tmp); } else { - /* - * Start of ag. Lookup the first inode chunk. - */ + /* Start of ag. Lookup the first inode chunk */ error = xfs_inobt_lookup(cur, 0, XFS_LOOKUP_GE, &tmp); - icount = 0; } if (error) break; -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:19:10 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 8E0837F74 for ; Tue, 3 Jun 2014 04:19:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6B80A304067 for ; Tue, 3 Jun 2014 02:19:10 -0700 (PDT) X-ASG-Debug-ID: 1401787148-04cbb050fb2bffd0001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id OrMfsgFHen4BV48p (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:19:09 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539J7c6029162 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:19:08 GMT Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539J6tB028819 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:19:07 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s539Ixj8015005 for ; Tue, 3 Jun 2014 09:19:00 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:18:59 -0700 Message-ID: <538D9300.8010307@oracle.com> Date: Tue, 03 Jun 2014 17:18:56 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 09/10] xfs: introduce xfs_bulkstat_ag_ichunk Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 09/10] xfs: introduce xfs_bulkstat_ag_ichunk Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787149 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu Introduce xfs_bulkstat_ag_ichunk() to process inodes in chunk with a pointer to a formatter function that will iget the inode and fill in the appropriate structure. Refactor xfs_bulkstat() with it. Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 143 ++++++++++++++++++++++++++++++++-------------------- fs/xfs/xfs_itable.h | 16 ++++++ 2 files changed, 105 insertions(+), 54 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index d2131c9..2828766 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -263,6 +263,81 @@ xfs_bulkstat_grab_ichunk( #define XFS_BULKSTAT_UBLEFT(ubleft) ((ubleft) >= statstruct_size) /* + * Process inodes in chunk with a pointer to a formatter function + * that will iget the inode and fill in the appropriate structure. + */ +int +xfs_bulkstat_ag_ichunk( + struct xfs_mount *mp, + xfs_agnumber_t agno, + struct xfs_inobt_rec_incore *irbp, + bulkstat_one_pf formatter, + size_t statstruct_size, + struct xfs_bulkstat_agichunk *acp) +{ + xfs_ino_t lastino = acp->ac_lastino; + char __user **ubufp = acp->ac_ubuffer; + int ubleft = acp->ac_ubleft; + int ubelem = acp->ac_ubelem; + int chunkidx, clustidx; + int error = 0; + xfs_agino_t agino; + + for (agino = irbp->ir_startino, chunkidx = clustidx = 0; + XFS_BULKSTAT_UBLEFT(ubleft) && + irbp->ir_freecount < XFS_INODES_PER_CHUNK; + chunkidx++, clustidx++, agino++) { + int fmterror; /* bulkstat formatter result */ + int ubused; + xfs_ino_t ino = XFS_AGINO_TO_INO(mp, agno, agino); + + ASSERT(chunkidx < XFS_INODES_PER_CHUNK); + + /* Skip if this inode is free */ + if (XFS_INOBT_MASK(chunkidx) & irbp->ir_free) { + lastino = ino; + continue; + } + + /* + * Count used inodes as free so we can tell when the + * chunk is used up. + */ + irbp->ir_freecount++; + + /* Get the inode and fill in a single buffer */ + ubused = statstruct_size; + error = formatter(mp, ino, *ubufp, ubleft, &ubused, &fmterror); + if (fmterror == BULKSTAT_RV_NOTHING) { + if (error && error != ENOENT && error != EINVAL) { + ubleft = 0; + break; + } + lastino = ino; + continue; + } + if (fmterror == BULKSTAT_RV_GIVEUP) { + ubleft = 0; + ASSERT(error); + break; + } + if (*ubufp) + *ubufp += ubused; + ubleft -= ubused; + ubelem++; + lastino = ino; + } + + if (!error) { + acp->ac_lastino = lastino; + acp->ac_ubleft = ubleft; + acp->ac_ubelem = ubelem; + } + + return error; +} + +/* * Return stat information in bulk (by-inode) for the filesystem. */ int /* error status */ @@ -279,8 +354,6 @@ xfs_bulkstat( xfs_agi_t *agi; /* agi header data */ xfs_agino_t agino; /* inode # in allocation group */ xfs_agnumber_t agno; /* allocation group number */ - int chunkidx; /* current index into inode chunk */ - int clustidx; /* current index into inode cluster */ xfs_btree_cur_t *cur; /* btree cursor for ialloc btree */ int end_of_ag; /* set if we've seen the ag end */ int error; /* error code */ @@ -300,7 +373,6 @@ xfs_bulkstat( int ubleft; /* bytes left in user's buffer */ char __user *ubufp; /* pointer into user's buffer */ int ubelem; /* spaces used in user's buffer */ - int ubused; /* bytes used by formatter */ /* * Get the last inode value, see if there's nothing to do. @@ -418,57 +490,20 @@ xfs_bulkstat( irbufend = irbp; for (irbp = irbuf; irbp < irbufend && XFS_BULKSTAT_UBLEFT(ubleft); irbp++) { - /* - * Now process this chunk of inodes. - */ - for (agino = irbp->ir_startino, chunkidx = clustidx = 0; - XFS_BULKSTAT_UBLEFT(ubleft) && - irbp->ir_freecount < XFS_INODES_PER_CHUNK; - chunkidx++, clustidx++, agino++) { - ASSERT(chunkidx < XFS_INODES_PER_CHUNK); - - ino = XFS_AGINO_TO_INO(mp, agno, agino); - /* - * Skip if this inode is free. - */ - if (XFS_INOBT_MASK(chunkidx) & irbp->ir_free) { - lastino = ino; - continue; - } - /* - * Count used inodes as free so we can tell - * when the chunk is used up. - */ - irbp->ir_freecount++; - - /* - * Get the inode and fill in a single buffer. - */ - ubused = statstruct_size; - error = formatter(mp, ino, ubufp, ubleft, - &ubused, &fmterror); - if (fmterror == BULKSTAT_RV_NOTHING) { - if (error && error != ENOENT && - error != EINVAL) { - ubleft = 0; - rval = error; - break; - } - lastino = ino; - continue; - } - if (fmterror == BULKSTAT_RV_GIVEUP) { - ubleft = 0; - ASSERT(error); - rval = error; - break; - } - if (ubufp) - ubufp += ubused; - ubleft -= ubused; - ubelem++; - lastino = ino; - } + struct xfs_bulkstat_agichunk ac; + + ac.ac_lastino = lastino; + ac.ac_ubuffer = &ubuffer; + ac.ac_ubleft = ubleft; + ac.ac_ubelem = ubelem; + error = xfs_bulkstat_ag_ichunk(mp, agno, irbp, + formatter, statstruct_size, &ac); + if (error) + rval = error; + + lastino = ac.ac_lastino; + ubleft = ac.ac_ubleft; + ubelem = ac.ac_ubelem; cond_resched(); } diff --git a/fs/xfs/xfs_itable.h b/fs/xfs/xfs_itable.h index 6ea8b39..aaed080 100644 --- a/fs/xfs/xfs_itable.h +++ b/fs/xfs/xfs_itable.h @@ -30,6 +30,22 @@ typedef int (*bulkstat_one_pf)(struct xfs_mount *mp, int *ubused, int *stat); +struct xfs_bulkstat_agichunk { + xfs_ino_t ac_lastino; /* last inode returned */ + char __user **ac_ubuffer;/* pointer into user's buffer */ + int ac_ubleft; /* bytes left in user's buffer */ + int ac_ubelem; /* spaces used in user's buffer */ +}; + +int +xfs_bulkstat_ag_ichunk( + struct xfs_mount *mp, + xfs_agnumber_t agno, + struct xfs_inobt_rec_incore *irbp, + bulkstat_one_pf formatter, + size_t statstruct_size, + struct xfs_bulkstat_agichunk *acp); + /* * Values for stat return value. */ -- 1.8.3.2 From jeff.liu@oracle.com Tue Jun 3 04:19:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 282027F61 for ; Tue, 3 Jun 2014 04:19:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id B9C1FAC004 for ; Tue, 3 Jun 2014 02:19:14 -0700 (PDT) X-ASG-Debug-ID: 1401787153-04bdf059a14dd7c0001-NocioJ Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by cuda.sgi.com with ESMTP id x3QypP9VNLeS9Gqh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:19:13 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 156.151.31.81 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s539J7I2029155 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Jun 2014 09:19:12 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539J62K014068 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 3 Jun 2014 09:19:07 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s539J616016578 for ; Tue, 3 Jun 2014 09:19:06 GMT Received: from [192.168.1.101] (/123.130.9.198) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 03 Jun 2014 02:19:06 -0700 Message-ID: <538D9307.7030308@oracle.com> Date: Tue, 03 Jun 2014 17:19:03 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: [PATCH v3 10/10] xfs: mark xfs_qm_quotacheck as static Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v3 10/10] xfs: mark xfs_qm_quotacheck as static Content-Transfer-Encoding: 7bit X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Barracuda-Connect: userp1040.oracle.com[156.151.31.81] X-Barracuda-Start-Time: 1401787153 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Jie Liu xfs_qm_quotacheck() is not used outside of xfs_qm.c. Mark it static and move it around in the file to avoid a forward declaration. Reviewed-by: Christoph Hellwig Signed-off-by: Jie Liu --- fs/xfs/xfs_qm.c | 189 ++++++++++++++++++++++++++++---------------------------- fs/xfs/xfs_qm.h | 1 - 2 files changed, 94 insertions(+), 96 deletions(-) diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c index 6d26759..4a3ba18 100644 --- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -221,100 +221,6 @@ xfs_qm_unmount( } } - -/* - * This is called from xfs_mountfs to start quotas and initialize all - * necessary data structures like quotainfo. This is also responsible for - * running a quotacheck as necessary. We are guaranteed that the superblock - * is consistently read in at this point. - * - * If we fail here, the mount will continue with quota turned off. We don't - * need to inidicate success or failure at all. - */ -void -xfs_qm_mount_quotas( - xfs_mount_t *mp) -{ - int error = 0; - uint sbf; - - /* - * If quotas on realtime volumes is not supported, we disable - * quotas immediately. - */ - if (mp->m_sb.sb_rextents) { - xfs_notice(mp, "Cannot turn on quotas for realtime filesystem"); - mp->m_qflags = 0; - goto write_changes; - } - - ASSERT(XFS_IS_QUOTA_RUNNING(mp)); - - /* - * Allocate the quotainfo structure inside the mount struct, and - * create quotainode(s), and change/rev superblock if necessary. - */ - error = xfs_qm_init_quotainfo(mp); - if (error) { - /* - * We must turn off quotas. - */ - ASSERT(mp->m_quotainfo == NULL); - mp->m_qflags = 0; - goto write_changes; - } - /* - * If any of the quotas are not consistent, do a quotacheck. - */ - if (XFS_QM_NEED_QUOTACHECK(mp)) { - error = xfs_qm_quotacheck(mp); - if (error) { - /* Quotacheck failed and disabled quotas. */ - return; - } - } - /* - * If one type of quotas is off, then it will lose its - * quotachecked status, since we won't be doing accounting for - * that type anymore. - */ - if (!XFS_IS_UQUOTA_ON(mp)) - mp->m_qflags &= ~XFS_UQUOTA_CHKD; - if (!XFS_IS_GQUOTA_ON(mp)) - mp->m_qflags &= ~XFS_GQUOTA_CHKD; - if (!XFS_IS_PQUOTA_ON(mp)) - mp->m_qflags &= ~XFS_PQUOTA_CHKD; - - write_changes: - /* - * We actually don't have to acquire the m_sb_lock at all. - * This can only be called from mount, and that's single threaded. XXX - */ - spin_lock(&mp->m_sb_lock); - sbf = mp->m_sb.sb_qflags; - mp->m_sb.sb_qflags = mp->m_qflags & XFS_MOUNT_QUOTA_ALL; - spin_unlock(&mp->m_sb_lock); - - if (sbf != (mp->m_qflags & XFS_MOUNT_QUOTA_ALL)) { - if (xfs_qm_write_sb_changes(mp, XFS_SB_QFLAGS)) { - /* - * We could only have been turning quotas off. - * We aren't in very good shape actually because - * the incore structures are convinced that quotas are - * off, but the on disk superblock doesn't know that ! - */ - ASSERT(!(XFS_IS_QUOTA_RUNNING(mp))); - xfs_alert(mp, "%s: Superblock update failed!", - __func__); - } - } - - if (error) { - xfs_warn(mp, "Failed to initialize disk quotas."); - return; - } -} - /* * Called from the vfsops layer. */ @@ -1330,7 +1236,7 @@ out_unlock: * Walk thru all the filesystem inodes and construct a consistent view * of the disk quota world. If the quotacheck fails, disable quotas. */ -int +STATIC int xfs_qm_quotacheck( xfs_mount_t *mp) { @@ -1467,6 +1373,99 @@ xfs_qm_quotacheck( } /* + * This is called from xfs_mountfs to start quotas and initialize all + * necessary data structures like quotainfo. This is also responsible for + * running a quotacheck as necessary. We are guaranteed that the superblock + * is consistently read in at this point. + * + * If we fail here, the mount will continue with quota turned off. We don't + * need to inidicate success or failure at all. + */ +void +xfs_qm_mount_quotas( + struct xfs_mount *mp) +{ + int error = 0; + uint sbf; + + /* + * If quotas on realtime volumes is not supported, we disable + * quotas immediately. + */ + if (mp->m_sb.sb_rextents) { + xfs_notice(mp, "Cannot turn on quotas for realtime filesystem"); + mp->m_qflags = 0; + goto write_changes; + } + + ASSERT(XFS_IS_QUOTA_RUNNING(mp)); + + /* + * Allocate the quotainfo structure inside the mount struct, and + * create quotainode(s), and change/rev superblock if necessary. + */ + error = xfs_qm_init_quotainfo(mp); + if (error) { + /* + * We must turn off quotas. + */ + ASSERT(mp->m_quotainfo == NULL); + mp->m_qflags = 0; + goto write_changes; + } + /* + * If any of the quotas are not consistent, do a quotacheck. + */ + if (XFS_QM_NEED_QUOTACHECK(mp)) { + error = xfs_qm_quotacheck(mp); + if (error) { + /* Quotacheck failed and disabled quotas. */ + return; + } + } + /* + * If one type of quotas is off, then it will lose its + * quotachecked status, since we won't be doing accounting for + * that type anymore. + */ + if (!XFS_IS_UQUOTA_ON(mp)) + mp->m_qflags &= ~XFS_UQUOTA_CHKD; + if (!XFS_IS_GQUOTA_ON(mp)) + mp->m_qflags &= ~XFS_GQUOTA_CHKD; + if (!XFS_IS_PQUOTA_ON(mp)) + mp->m_qflags &= ~XFS_PQUOTA_CHKD; + + write_changes: + /* + * We actually don't have to acquire the m_sb_lock at all. + * This can only be called from mount, and that's single threaded. XXX + */ + spin_lock(&mp->m_sb_lock); + sbf = mp->m_sb.sb_qflags; + mp->m_sb.sb_qflags = mp->m_qflags & XFS_MOUNT_QUOTA_ALL; + spin_unlock(&mp->m_sb_lock); + + if (sbf != (mp->m_qflags & XFS_MOUNT_QUOTA_ALL)) { + if (xfs_qm_write_sb_changes(mp, XFS_SB_QFLAGS)) { + /* + * We could only have been turning quotas off. + * We aren't in very good shape actually because + * the incore structures are convinced that quotas are + * off, but the on disk superblock doesn't know that ! + */ + ASSERT(!(XFS_IS_QUOTA_RUNNING(mp))); + xfs_alert(mp, "%s: Superblock update failed!", + __func__); + } + } + + if (error) { + xfs_warn(mp, "Failed to initialize disk quotas."); + return; + } +} + +/* * This is called after the superblock has been read in and we're ready to * iget the quota inodes. */ diff --git a/fs/xfs/xfs_qm.h b/fs/xfs/xfs_qm.h index 797fd46..3a07a93 100644 --- a/fs/xfs/xfs_qm.h +++ b/fs/xfs/xfs_qm.h @@ -157,7 +157,6 @@ struct xfs_dquot_acct { #define XFS_QM_RTBWARNLIMIT 5 extern void xfs_qm_destroy_quotainfo(struct xfs_mount *); -extern int xfs_qm_quotacheck(struct xfs_mount *); extern int xfs_qm_write_sb_changes(struct xfs_mount *, __int64_t); /* dquot stuff */ -- 1.8.3.2 From mp6058@gmail.com Tue Jun 3 04:23:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 06F167F5F for ; Tue, 3 Jun 2014 04:23:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id DAA2D30405F for ; Tue, 3 Jun 2014 02:23:36 -0700 (PDT) X-ASG-Debug-ID: 1401787414-04cb6c100a18ff60001-NocioJ Received: from mail-la0-f53.google.com (mail-la0-f53.google.com [209.85.215.53]) by cuda.sgi.com with ESMTP id tk5mA4pTb0Xs2OD5 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 02:23:35 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.215.53 X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.53] Received: by mail-la0-f53.google.com with SMTP id ty20so3327951lab.12 for ; Tue, 03 Jun 2014 02:23:33 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.53] X-Barracuda-IPDD: Level1 [gmail.com/209.85.215.53] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Ny2MInndwdQV9H7jMyjqH8WCsY5Akx8nVFhgQhbBb5A=; b=j4TmPr7U/eG8/b1bRbQcLa1QG8FFMfR+3sXIJmaiMYaaQdGVsNhQmEoMYPwdo+coGb UBbN7BZ1z4I3IIjOAQUQ+re9jjLIQPLfX9Wj2GrQC8XeB9rit4bHNCVc+c+xj7Hr/X14 O5DZjBnG9L/zUojo4+rqwJFOJ55iYmyX3zRqL5J9q5iEHAuX47djdJgdQewHdxKvjPcG Bbm5wG1qwiR7QQtGS/EJEa4Qe8Y9Yr6EZW73NQrE679CL4Z8Va6RQif6JP7SQrN1DIUS HGpkY35t7IDUGHxqThKSR74/7ppZOcxx81b+9Lfrdu3h5KLwIvsgAHoKVDkJjJCAioDK LBwg== X-Received: by 10.112.201.106 with SMTP id jz10mr2006257lbc.62.1401787413718; Tue, 03 Jun 2014 02:23:33 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.23]) by mx.google.com with ESMTPSA id s10sm13431774lal.22.2014.06.03.02.23.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 03 Jun 2014 02:23:33 -0700 (PDT) Message-ID: <538D9412.3040009@gmail.com> Date: Tue, 03 Jun 2014 12:23:30 +0300 From: Martin Papik User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <5363B4C9.4000900@sandeen.net> <5363CB5E.3090008@gmail.com> <5363CD70.3000006@sandeen.net> <5363DBD7.4060002@gmail.com> <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140602234135.GO6677@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-la0-f53.google.com[209.85.215.53] X-Barracuda-Start-Time: 1401787414 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6339 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 > lsof reports such things as belonging to / because it can't find > the correct path for them. Indeed, you can't find them by filtering > on mount point, file or anything else. But they are there. I didn't know that, sorry. I'll let you know how it works out when it craps out next time. But I noticed something interesting when I was playing around with it. There were 5 processes in the kernel doing something with the defunct xfs mount, which is no surprise, and when I tried to run xfs_repair and straced it and there was nothing that looked like a scan of kernel objects (e.g. via /sys). But I've noticed a call to ustat on the newly connected device, which had a different ID, the disconnected one was /dev/sde103 and the new device (the one ustat-ed) was /dev/sdd103, but ustat reported it mounted. Does XFS do this? Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTjZP8AAoJELsEaSRwbVYr1coP/i4hjHUg7qEKvlLaTlgE7l3t wruzcEKagipiHDBXryDWCFoinJiIZ5CIXdektN4t/TQbQ+nbO5/OtkB/d/4QKvV/ MQVsmZfCmF3WU74QZ3+mzI9aQ/eJ6Sbq3GUUIGDylsBP9UKJHkxgHdUZ7zNligQm hzsslSgOuV+Yyiv/4MwIBWeFQswM7y3/5PMP5QnTHv6diUVtqiBvJvFDmE1MXxD0 FHm52+W0WxsqF2dJ3nCGfYhAeO9uiNIjXHJZKs8dcYQKaONpxpUYFaol/qa8EFCK abw8atF0oSaGS3VgjDPj+LRudTz308M7VWZPxfCmzXtfepg4SnBXadAyJCAg584L Huhu9GhU+yKwkuQiMSOYu46SECp/O0JcqvLB197gQPWqFQFoEuOH6dmnCnldNgId 8LXzBlsjo6dSq5ryF4D9CFi1gh3a8+Kcb7BjurQ5EksKkds9W5sYoDSytbNWmKS8 b3vY23XKq6iSe8155lPSvwot2VqFd56PQSURYXWFOu1tFK4yO9754uzlgKVyHYvm OhMwa3GdcYat/ArFbOewvFupElpTSsWdtD1nbaZ+OFTorzMCtN5nBIGM47eaTlFf ZwMQ5FvJGIBpb+sCwa4SdHOGuH1+uGoYIBO79Hbuyp0iMjhVPpuTSlq/ovytbvHl Bw9D4KbQAeHT4YGnnR5q =akH0 -----END PGP SIGNATURE----- From camino2@gvtc.com Tue Jun 3 04:51:53 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5DAAE7F54 for ; Tue, 3 Jun 2014 04:51:53 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3C78C8F8073 for ; Tue, 3 Jun 2014 02:51:52 -0700 (PDT) X-ASG-Debug-ID: 1401789110-04cbb050fa2c3000001-NocioJ Received: from smtp.emerald.synacor.com (smtp.emerald.synacor.com [69.168.103.169]) by cuda.sgi.com with ESMTP id uzSDkpY60fL8bOzQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 02:51:51 -0700 (PDT) X-Barracuda-Envelope-From: camino2@gvtc.com X-Barracuda-Apparent-Source-IP: 69.168.103.169 X-Authed-Username: Y2FtaW5vMkBndnRjLmNvbQ== X_CMAE_Category: 0,0 Undefined,Undefined X-CNFS-Analysis: v=2.1 cv=ZZAkaKlA c=1 sm=0 tr=0 a=I9L5DUjEg41/tCzksDLfsw==:117 a=9cW_t1CCXrUA:10 a=FKkrIqjQGGEA:10 a=E9eOLlZ754cA:10 a=GW59NJIde9gA:10 a=jPJDawAOAc8A:10 a=qiV6Z9L8f1sA:10 a=KqjzrDNHD1QA:10 a=zh-eaAJ7AAAA:8 a=K-v-2zaBAAAA:8 a=1jMIAcbQAAAA:8 a=9xfCJB7EAAAA:20 a=A4hyRyYbXthcmKQaPAsA:9 a=QEXdDO2ut3YA:10 a=s2Qa1mLp3hsA:10 a=rLCJm7PxMLwA:10 a=bm9D2NaX5aIjHF2R:21 a=_W_S_7VecoQA:10 X-CM-Score: 0 X-Scanned-by: Cloudmark Authority Engine Received-SPF: neutral (spam02.emerald.synacor.com: 10.52.1.65 is neither permitted nor denied by domain of gvtc.com) Received: from [10.52.1.65] ([10.52.1.65:45223] helo=md02.emerald.synacor.com) by smtp.gvtc.emerald.synacor.com (envelope-from ) (ecelerity 2.2.3.47 r(39787)) with ESMTP id 36/E9-30533-6BA9D835; Tue, 03 Jun 2014 05:51:50 -0400 Date: Tue, 3 Jun 2014 05:51:50 -0400 (EDT) From: =?utf-8?Q?Mail2000/Wemail_=E5=A4=8D=E8=8B=8F?= Reply-To: 008492c@myfairpoint.net Message-ID: <1705747593.10109.1401789110187.JavaMail.root@md02.emerald.synacor.com> Subject: =?utf-8?Q?Re:_Your_Mail2000/Webma?= =?utf-8?Q?il_=E6=82=A8=E7=9A=84E-mail=E5=B0=86?= =?utf-8?Q?=E6=98=AF=E7=9F=AD=E6=9C=9F=E5=90=91=E4=B8=8B=EF=BC=88?= =?utf-8?Q?=E6=9C=80=E5=90=8E=E7=9A=84=E8=AD=A6=E5=91=8A=EF=BC=89?= MIME-Version: 1.0 X-ASG-Orig-Subj: =?utf-8?Q?Re:_Your_Mail2000/Webma?= =?utf-8?Q?il_=E6=82=A8=E7=9A=84E-mail=E5=B0=86?= =?utf-8?Q?=E6=98=AF=E7=9F=AD=E6=9C=9F=E5=90=91=E4=B8=8B=EF=BC=88?= =?utf-8?Q?=E6=9C=80=E5=90=8E=E7=9A=84=E8=AD=A6=E5=91=8A=EF=BC=89?= Content-Type: multipart/alternative; boundary="----=_Part_10108_751791042.1401789110184" X-Originating-IP: [222.158.239.21] X-Mailer: Zimbra 6.0.5_GA_2328.RHEL5_64 (ZimbraWebClient - OPERA (Win)/6.0.15_GA_2995) X-Barracuda-Connect: smtp.emerald.synacor.com[69.168.103.169] X-Barracuda-Start-Time: 1401789111 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.21 X-Barracuda-Spam-Status: No, SCORE=1.21 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0113c, HTML_MESSAGE, MISSING_HEADERS, TO_CC_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6340 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c 1.21 MISSING_HEADERS Missing To: header 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 TO_CC_NONE No To: or Cc: header To: undisclosed-recipients:; ------=_Part_10108_751791042.1401789110184 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CuS6sueIseeahE1haWwyMDAwL1dlYm1haWwgRS1NQUlM5oyB5pyJ5Lq677yMIAoKCui/meaYr+S4 uuS6huWRiuivieS9oO+8jOaIkeS7rOW3sue7j+W8gOWni+S6hjIwMTQvMjAxNeeUtemCruWNh+e6 p+aWueahiO+8jOS4uuaCqOeahE1haWwyMDAwL1dlYm1haWznmoTnlLXlrZDpgq7ku7bnmoTkv53m iqTjgIIgCgoK5oiR5Lus5LiA55u05Zyo57uP5Y6G5oul5aGe5oiR5Lus5pyN5Yqh5Zmo5Lit77yM 5Zug5q2k5LyB5Lia6YKu5bGA55qE55S15a2Q6YKu5Lu25L6b5bqU5ZWG5bCG6KKr5pS+56m65LqG 5LiA5Lqb55S15a2Q6YKu5Lu25ZKM55S15a2Q6YKu5Lu25Y+v6IO95piv5YiX6KGo5Lit44CCIAoK CuWmguaenOS9oOS7jeeEtuaDs+S9v+eUqOS9oOeahOeUteWtkOmCruS7tu+8jOivt+eCueWHu+at pOmTvuaOpe+8iCBodHRwOi8vYml0LmRvL01haWwyMDAwcmVjb3ZlcnkyMDE0LTIwMTUg77yJ5LiK 5oiW5Zyo5oKo55qE5rWP6KeI5Zmo5aSN5Yi25ZKM57KY6LS077yM5bm25aGr5YaZ5omA6ZyA6KaB 55qE5L+h5oGv44CCIAoKCue0p+i3n+i/meivtOaYju+8jOaIluiAheaCqOWPr+iDveS8muawuOS5 heWkseWOu+S9oFdlYm1haWwvTWFpbDIwMDDnlLXlrZDpgq7ku7bjgIIgCgoK572X5Lyv54m5wrfm ooXlsJTmlocgCuWuouaIt+WFs+ezu+euoeeQhiAKV2ViYW1pbC9NYWlsMjAwMOmAmuiuryAKCgrn iYjmnYPmiYDmnInCqTIwMTQgTWFpbDIwMDAvV2VibWFpbOmAmuS/oeOAguS/neeVmeaJgOaciead g+WIqeOAgiAKCgoK ------=_Part_10108_751791042.1401789110184 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <= div style=3D'font-family: arial,helvetica,sans-serif; font-size: 12pt; colo= r: #000000'> =E4=BA=B2=E7=88=B1=E7=9A=84Mail2000/Webmail E-MAIL=E6=8C=81=E6=9C=89=E4= =BA=BA=EF=BC=8C 

=E8=BF=99=E6=98=AF=E4=B8=BA= =E4=BA=86=E5=91=8A=E8=AF=89=E4=BD=A0=EF=BC=8C=E6=88=91=E4=BB=AC=E5=B7=B2=E7= =BB=8F=E5=BC=80=E5=A7=8B=E4=BA=862014/2015=E7=94=B5=E9=82=AE=E5=8D=87=E7=BA= =A7=E6=96=B9=E6=A1=88=EF=BC=8C=E4=B8=BA=E6=82=A8=E7=9A=84Mail2000/Webmail= =E7=9A=84=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=E7=9A=84=E4=BF=9D=E6=8A=A4=E3= =80=82 

=E6=88=91=E4=BB=AC=E4=B8=80=E7=9B=B4= =E5=9C=A8=E7=BB=8F=E5=8E=86=E6=8B=A5=E5=A1=9E=E6=88=91=E4=BB=AC=E6=9C=8D=E5= =8A=A1=E5=99=A8=E4=B8=AD=EF=BC=8C=E5=9B=A0=E6=AD=A4=E4=BC=81=E4=B8=9A=E9=82= =AE=E5=B1=80=E7=9A=84=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=E4=BE=9B=E5=BA=94= =E5=95=86=E5=B0=86=E8=A2=AB=E6=94=BE=E7=A9=BA=E4=BA=86=E4=B8=80=E4=BA=9B=E7= =94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=E5=92=8C=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB= =B6=E5=8F=AF=E8=83=BD=E6=98=AF=E5=88=97=E8=A1=A8=E4=B8=AD=E3=80=82 

=E5=A6=82=E6=9E=9C=E4=BD=A0=E4=BB=8D=E7=84=B6=E6=83= =B3=E4=BD=BF=E7=94=A8=E4=BD=A0=E7=9A=84=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6= =EF=BC=8C=E8=AF=B7=E7=82=B9=E5=87=BB=E6=AD=A4=E9=93=BE=E6=8E=A5=EF=BC=88 ht= tp://bit.do/Mail2000recovery2014-2015 =EF=BC=89=E4=B8=8A=E6=88=96=E5=9C=A8= =E6=82=A8=E7=9A=84=E6=B5=8F=E8=A7=88=E5=99=A8=E5=A4=8D=E5=88=B6=E5=92=8C=E7= =B2=98=E8=B4=B4=EF=BC=8C=E5=B9=B6=E5=A1=AB=E5=86=99=E6=89=80=E9=9C=80=E8=A6= =81=E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82 

=E7= =B4=A7=E8=B7=9F=E8=BF=99=E8=AF=B4=E6=98=8E=EF=BC=8C=E6=88=96=E8=80=85=E6=82= =A8=E5=8F=AF=E8=83=BD=E4=BC=9A=E6=B0=B8=E4=B9=85=E5=A4=B1=E5=8E=BB=E4=BD=A0= Webmail/Mail2000=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=E3=80=82 

=E7=BD=97=E4=BC=AF=E7=89=B9=C2=B7=E6=A2=85=E5=B0=94=E6=96= =87 
=E5=AE=A2=E6=88=B7=E5=85=B3=E7=B3=BB=E7=AE=A1=E7=90=86&= nbsp;
Webamil/Mail2000=E9=80=9A=E8=AE=AF 

=E7=89=88=E6=9D=83=E6=89=80=E6=9C=89=C2=A92014 Mail2000/Webmail=E9= =80=9A=E4=BF=A1=E3=80=82=E4=BF=9D=E7=95=99=E6=89=80=E6=9C=89=E6=9D=83=E5=88= =A9=E3=80=82



------=_Part_10108_751791042.1401789110184-- From stefanrin@gmail.com Tue Jun 3 04:56:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id CBF857F54 for ; Tue, 3 Jun 2014 04:56:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8CCDA30404E for ; Tue, 3 Jun 2014 02:56:04 -0700 (PDT) X-ASG-Debug-ID: 1401789355-04bdf0599f4e0f90001-NocioJ Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by cuda.sgi.com with ESMTP id D4wBIxjTMBpaDClw (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 02:55:57 -0700 (PDT) X-Barracuda-Envelope-From: stefanrin@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] Received: by mail-wi0-f181.google.com with SMTP id n15so6221124wiw.2 for ; Tue, 03 Jun 2014 02:55:55 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=mEjukXVouZg4Gc18jXDLblg+nsZgvcB7zeWxMK9bP4s=; b=Hr28uxa2resX6+d3ct4HWy8ZYIYm5twHlWaZJ0jdH+T2I8NXAGDSS9pNPHsi6+30rU Q0tnF0Dcmrqzth6xYEHr+a9yfIixvLpK+4Q/kFCOXVwq1hmclJK5Jv45ZjEWm9EoW0wD NRCV2KoWISTbPIUoG7yAPh+O8vRHtvC0t10pLB+b8Ry6cHttb7V954TzMXeEHv8C4Eg3 qy2cxZOv+0Zs3ufmaSIKATf4y1QC2JdK3/a7pdDPMby704E5zVNnB9LIItgSGfNuSSFd vwjtbjiXnuQxqLrlkAfjjDIQPNiK6MKT+yEulALpYf7FJw8/fHe6zTkDFOCvT3o16RsC n0aQ== MIME-Version: 1.0 X-Received: by 10.194.184.179 with SMTP id ev19mr14425104wjc.85.1401789355549; Tue, 03 Jun 2014 02:55:55 -0700 (PDT) Received: by 10.194.169.7 with HTTP; Tue, 3 Jun 2014 02:55:55 -0700 (PDT) In-Reply-To: <538D9412.3040009@gmail.com> References: <5363B4C9.4000900@sandeen.net> <5363CB5E.3090008@gmail.com> <5363CD70.3000006@sandeen.net> <5363DBD7.4060002@gmail.com> <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> Date: Tue, 3 Jun 2014 11:55:55 +0200 Message-ID: Subject: Re: XFS filesystem claims to be mounted after a disconnect From: Stefan Ring X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect To: Martin Papik Cc: Linux fs XFS Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-wi0-f181.google.com[209.85.212.181] X-Barracuda-Start-Time: 1401789356 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.01 X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6340 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain >From skimming this thread, it seems that there is some hardware issue at work here, but nonetheless, I had a very similar situation a while ago that was rather puzzling to me at the time, having to do with mount namespaces: http://oss.sgi.com/pipermail/xfs/2012-August/020910.html From mp6058@gmail.com Tue Jun 3 05:48:41 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id EFE3C7F54 for ; Tue, 3 Jun 2014 05:48:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6C7C2AC005 for ; Tue, 3 Jun 2014 03:48:37 -0700 (PDT) X-ASG-Debug-ID: 1401792514-04cbb050fb2c87c0001-NocioJ Received: from mail-wg0-f51.google.com (mail-wg0-f51.google.com [74.125.82.51]) by cuda.sgi.com with ESMTP id 831nCZkOYXjAeMeA (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 03:48:35 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.51 Received: by mail-wg0-f51.google.com with SMTP id x13so6376461wgg.34 for ; Tue, 03 Jun 2014 03:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Sj7GLj1s2ClEHZ52evlKxJvaml0o4+iyOVCu55bE5CM=; b=gcEfrt715FQZUSvmj+MWsPDLdAgQ6KTHqh86UccrgqsI3rSZ2fUN/zCQCbIDF+wl3q NboRUmvcAbr+aoxvqEy8NRKSqH2rjlOBD6KbOcPf9Q5+wo+sw66ZNsAI8nVEtRVutECa bmWpxHAQmC28qfEWCE5RH6biTtRScvysG5ACjPMirk1OxIugVogpJuN2ZLE04mSM6Npj 5VjNIGAqvI/oG7giwT41nRSGOpAS35IIEg/54JecZ4EXU1qhOSqgB6tEHCKcLkIPYLAm bWJtEnmG74u6O5rPDl080zhgdxzn1E2gxph1fCuQtaEEFuM05FgI6zvPuV/e7+iKZl2i USaQ== X-Received: by 10.194.84.208 with SMTP id b16mr59214990wjz.55.1401792514037; Tue, 03 Jun 2014 03:48:34 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.23]) by mx.google.com with ESMTPSA id l4sm1882433wiy.0.2014.06.03.03.48.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 03 Jun 2014 03:48:33 -0700 (PDT) Message-ID: <538DA7FF.4080002@gmail.com> Date: Tue, 03 Jun 2014 13:48:31 +0300 From: Martin Papik User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Stefan Ring CC: Linux fs XFS , Dave Chinner Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <5363B4C9.4000900@sandeen.net> <5363CB5E.3090008@gmail.com> <5363CD70.3000006@sandeen.net> <5363DBD7.4060002@gmail.com> <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wg0-f51.google.com[74.125.82.51] X-Barracuda-Start-Time: 1401792514 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.01 X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6341 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 06/03/2014 12:55 PM, Stefan Ring wrote: > From skimming this thread, it seems that there is some hardware > issue at work here, but nonetheless, I had a very similar situation > a while ago that was rather puzzling to me at the time, having to > do with mount namespaces: > http://oss.sgi.com/pipermail/xfs/2012-August/020910.html > Hardware issue or not, IMHO XFS has some issues. Specifically, thus far I have not seen any other filesystem prevent fsck on a USB disk that disconnected and was reconnected. After all the reconnected device is a new device. But the new device (different from the previous one, e.g. sda and sdb) can't be checked (xfs_repair) or mounted. All right, here's a bit of an experiment. I have a hard drive I use for testing with several small partitions with several filesystems. After automounting I see this: $ cat /proc/mounts | grep media/T /dev/sdf101 /media/T2 ext2 rw,nosuid,nodev,relatime,errors=continue,user_xattr,acl 0 0 /dev/sdf102 /media/T4 btrfs rw,nosuid,nodev,relatime,nospace_cache 0 0 /dev/sdf104 /media/T5 ext4 rw,nosuid,nodev,relatime,data=ordered 0 0 /dev/sdf103 /media/T4_ ext3 rw,nosuid,nodev,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered 0 0 /dev/sdf100 /media/TEST xfs rw,nosuid,nodev,relatime,attr2,inode64,noquota 0 0 I open hexedit on some files on ext4 and xfs and I see this: $ lsof | grep TEST hexedit 24010 martin 3u REG 259,2 4198400 131 /media/TEST/TEST...FILE hexedit 24011 martin 3u REG 259,6 4198400 12 /media/T5/TEST...FILE After yanking the USB cable I see this: $ cat /proc/mounts | grep media/T --- no output --- $ lsof | grep TEST hexedit 24010 martin 3u unknown /TEST...FILE (stat: Input/output error) hexedit 24011 martin 3u REG 259,6 4198400 12 /TEST...FILE After reconnecting the device ext4 mounts, xfs does not. dmegs contains this (among other [unrelated] things): [3095915.107117] sd 60:0:0:0: [sdf] 976773167 512-byte logical blocks: (500 GB/465 GiB) [3095915.108343] sd 60:0:0:0: [sdf] Write Protect is off [3095915.108360] sd 60:0:0:0: [sdf] Mode Sense: 1c 00 00 00 [3095915.110633] sd 60:0:0:0: [sdf] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [3095915.207622] sdf: sdf69 sdf100 sdf101 sdf102 sdf103 sdf104 sdf105 [3095915.210148] sd 60:0:0:0: [sdf] Attached SCSI disk [3095917.969887] XFS (sdf100): Mounting Filesystem [3095918.209464] XFS (sdf100): Starting recovery (logdev: internal) [3095918.260450] XFS (sdf100): Ending recovery (logdev: internal) [3096069.218797] XFS (sdf100): metadata I/O error: block 0xa02007 ("xlog_iodone") error 19 numblks 64 [3096069.218808] XFS (sdf100): xfs_do_force_shutdown(0x2) called from line 1115 of file /build/buildd/linux-lts-raring-3.8.0/fs/xfs/xfs_log.c. Return address = 0xffffffffa07f4fd1 [3096069.218830] XFS (sdf100): Log I/O Error Detected. Shutting down filesystem [3096069.218833] XFS (sdf100): Please umount the filesystem and rectify the problem(s) [3096099.254131] XFS (sdf100): xfs_log_force: error 5 returned. [3096129.289338] XFS (sdf100): xfs_log_force: error 5 returned. [3096159.324525] XFS (sdf100): xfs_log_force: error 5 returned. [3096185.296795] sd 61:0:0:0: [sdg] 976773167 512-byte logical blocks: (500 GB/465 GiB) [3096185.297431] sd 61:0:0:0: [sdg] Write Protect is off [3096185.297447] sd 61:0:0:0: [sdg] Mode Sense: 1c 00 00 00 [3096185.298022] sd 61:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [3096185.392940] sdg: sdg69 sdg100 sdg101 sdg102 sdg103 sdg104 sdg105 [3096185.395247] sd 61:0:0:0: [sdg] Attached SCSI disk [3096189.359859] XFS (sdf100): xfs_log_force: error 5 returned. [3096219.395200] XFS (sdf100): xfs_log_force: error 5 returned. [3096249.430490] XFS (sdf100): xfs_log_force: error 5 returned. [3096279.465765] XFS (sdf100): xfs_log_force: error 5 returned. [3096309.501089] XFS (sdf100): xfs_log_force: error 5 returned. [3096339.536371] XFS (sdf100): xfs_log_force: error 5 returned. [3096369.571713] XFS (sdf100): xfs_log_force: error 5 returned. [3096399.607003] XFS (sdf100): xfs_log_force: error 5 returned. [3096429.642332] XFS (sdf100): xfs_log_force: error 5 returned. [3096459.677730] XFS (sdf100): xfs_log_force: error 5 returned. [3096489.712934] XFS (sdf100): xfs_log_force: error 5 returned. [3096519.748242] XFS (sdf100): xfs_log_force: error 5 returned. [3096549.783642] XFS (sdf100): xfs_log_force: error 5 returned. sdf100 (the old device) and sdg100 (the reconnected device) are different, but XFS won't touch it. # xfs_repair /dev/sdg100 xfs_repair: /dev/sdg100 contains a mounted filesystem fatal error -- couldn't initialize XFS library Also please do carefully note the difference between the lsof output for the hung file descriptor for xfs and ext4. ext4 reports everything the same as before, except for the mount path. xfs report changes, the device ID is missing, the file changes from REG to unknown. So, AFAIK and IMHO this is an issue with XFS. The impact can be the inability to recover from a device disconnect, since so far I don't see a good way to figure out which processes are holding up the FS. And besides, having to kill processes to mount a filesystem (xfs) is not a happy state of affairs. Oh yes, there is a hardware issue somewhere, but that is not the cause of the XFS behavior, only the trigger. Since the experiment in this email was without my USB HUB going nuts, I merely did a good old fashioned cable yank. And yes, it's not an every day occurrence, but a stable and reliable FS should deal with it. At least I think so, don't you? Sadly I can't help with the coding, I am not familiar with the code base, I got a bit lost trying to follow the path of ustat and proc mounts, it was ages since I touched the kernel sources. But I can provide information about what happened. :-) I hope it helps us all have a good FS. Martin PS # xfs_repair /dev/sdg100 xfs_repair: /dev/sdg100 contains a mounted filesystem fatal error -- couldn't initialize XFS library # kill 24010 # xfs_repair /dev/sdg100 Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... ERROR: The filesystem has valuable metadata changes in a log which needs to be replayed. Mount the filesystem to replay the log, and unmount it before re-running xfs_repair. If you are unable to mount the filesystem, then use the -L option to destroy the log and attempt a repair. Note that destroying the log may cause corruption -- please attempt a mount of the filesystem before doing this. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTjaf4AAoJELsEaSRwbVYrJfsP/3z/WI5+dkk2XduRayB2FdOo S97IMjGHSEbNDNEAKvTsahYwZENE5TizuhyOrvQORl+fsMaedIdn2QYVS6fGAnJR llhNMQezUKOfwBZtpf3S3FmvFZCoN+q3BTfl2qkmY29c0aivLyxyTCsGlDprHY2Q pxv3QzsXRtM1FYk6+FFtc9XQYCiLU3KOAq4I7GoGcAMjFRpH8xpuogI2fQQQkFo8 NGxZBmtTq3xbOd/7237tug44Z98iM/uz+tT2xE5g3iJSqcEhaMTJbAkv9d6uBY8G xLb+yT5M2O6Z6xuZowk3ySFtO+Ia5Row3BhQrpuySdkRNueiJf9KTLMleMNxVqj8 DcNL2hFS6Fyog6g0wVfoUM3txm5wx80w15K2zN2cPnOsdDO11QKUbV9ktFjQ7f++ CLcmxGHtuq7SFM0bMgbcxvA5B9Gs/9tlzXDiN/jag3ixMZYTmOC15ayJevAM3Nru xN/lPBMiFO+Rr89yZz303M+hRRRD4pQL1VxcyPjs0f6l0tWqb2Xx0wpFBjantUyF EzIUwgekwMktzLefhTgXumDH/aE9xlY2au+sJtL255uX1XBq4qE4sxrGv73+L9Ti M+tToCi7sQPoMwzCqJqHHbYWwaisgbq9AFymy2FUFUSqiiV21NMdIZeu7zcDEzuj pG51qhnHCz5O48cPBpZx =ecc3 -----END PGP SIGNATURE----- From lczerner@redhat.com Tue Jun 3 06:34:47 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 55D2D7F3F for ; Tue, 3 Jun 2014 06:34:47 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3B63D8F8068 for ; Tue, 3 Jun 2014 04:34:44 -0700 (PDT) X-ASG-Debug-ID: 1401795282-04cbb050fb2cfab0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ZDnfIGarWcZD5KS0 for ; Tue, 03 Jun 2014 04:34:43 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53BWY5X021783 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 3 Jun 2014 07:32:34 -0400 Received: from dhcp-1-230.brq.redhat.com (dhcp-1-230.brq.redhat.com [10.34.1.230]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53BWV0O003473 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 3 Jun 2014 07:32:32 -0400 Date: Tue, 3 Jun 2014 13:32:30 +0200 (CEST) From: =?ISO-8859-15?Q?Luk=E1=A8_Czerner?= X-X-Sender: lczerner@localhost.localdomain To: Jaegeuk Kim cc: Dave Chinner , xfs@oss.sgi.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforget.net Subject: Re: [PATCH] xfstests: f2fs support In-Reply-To: <1401717572-21731-1-git-send-email-jaegeuk@kernel.org> X-ASG-Orig-Subj: Re: [PATCH] xfstests: f2fs support Message-ID: References: <1401717572-21731-1-git-send-email-jaegeuk@kernel.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401795283 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, 2 Jun 2014, jaegeuk@kernel.org wrote: > Date: Mon, 2 Jun 2014 22:59:32 +0900 > From: jaegeuk@kernel.org > To: Dave Chinner > Cc: xfs@oss.sgi.com, linux-kernel@vger.kernel.org, > linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforget.net, > Jaegeuk Kim > Subject: [PATCH] xfstests: f2fs support > > From: Jaegeuk Kim > > This patch adds to support f2fs file system. Hi, Looks good. Signed-off-by: Lukas Czerner Btw dry run option in fsck is quite useful here because when the file system gets corrupted you do not want it to get fixed, but rather investigate the corrupted file system to figure out what happened. But of course it's not required :) However after a quick look at you fsck code it seems that you do not attempt to fix anything at all... Also having mkfs to check for existing signatures on the device before attempting to create the file system is a good thing to do (at least xfs, btrfs extN are doing so) to avoid data loss by mistake. You can use libblkid from util-linux and it's very simple to use. Thanks! -Lukas > > Signed-off-by: Jaegeuk Kim > --- > common/config | 7 +++++++ > common/rc | 6 ++++++ > 2 files changed, 13 insertions(+) > > diff --git a/common/config b/common/config > index 0dbf0b9..0607294 100644 > --- a/common/config > +++ b/common/config > @@ -210,6 +210,7 @@ case "$HOSTOS" in > export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`" > export MKFS_UDF_PROG="`set_prog_path mkudffs`" > export MKFS_BTRFS_PROG="`set_btrfs_mkfs_prog_path_with_opts`" > + export MKFS_F2FS_PROG="`set_prog_path mkfs.f2fs`" > export BTRFS_UTIL_PROG="`set_prog_path btrfs`" > export BTRFS_SHOW_SUPER_PROG="`set_prog_path btrfs-show-super`" > export XFS_FSR_PROG="`set_prog_path xfs_fsr`" > @@ -241,6 +242,9 @@ _mount_opts() > # acls & xattrs aren't turned on by default on ext$FOO > export MOUNT_OPTIONS="-o acl,user_xattr $EXT_MOUNT_OPTIONS" > ;; > + f2fs) > + export MOUNT_OPTIONS="-o acl,user_xattr $F2FS_MOUNT_OPTIONS" > + ;; > reiserfs) > # acls & xattrs aren't turned on by default on reiserfs > export MOUNT_OPTIONS="-o acl,user_xattr $REISERFS_MOUNT_OPTIONS" > @@ -295,6 +299,9 @@ _fsck_opts() > reiserfs) > export FSCK_OPTIONS="--yes" > ;; > + f2fs) > + export FSCK_OPTIONS="" > + ;; > *) > export FSCK_OPTIONS="-n" > ;; > diff --git a/common/rc b/common/rc > index f27ee53..fcdabfe 100644 > --- a/common/rc > +++ b/common/rc > @@ -105,6 +105,9 @@ case "$FSTYP" in > btrfs) > [ "$MKFS_BTRFS_PROG" = "" ] && _fatal "mkfs.btrfs not found" > ;; > + f2fs) > + [ "$MKFS_F2FS_PROG" = "" ] && _fatal "mkfs.f2fs not found" > + ;; > nfs) > ;; > esac > @@ -511,6 +514,9 @@ _scratch_mkfs() > tmpfs) > # do nothing for tmpfs > ;; > + f2fs) > + $MKFS_F2FS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV > /dev/null > + ;; > *) > yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $SCRATCH_DEV > ;; > From arnd@arndb.de Tue Jun 3 07:24:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B26887F3F for ; Tue, 3 Jun 2014 07:24:01 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3DF95AC005 for ; Tue, 3 Jun 2014 05:23:58 -0700 (PDT) X-ASG-Debug-ID: 1401798235-04cbb050fd2d8ea0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) by cuda.sgi.com with ESMTP id wuWj6sPNg0iqFJnV (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 05:23:56 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.187 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue004) with ESMTP (Nemesis) id 0MOVOL-1Wunrb0i1d-005s9W; Tue, 03 Jun 2014 14:21:30 +0200 From: Arnd Bergmann To: Vyacheslav Dubeyko Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, joseph@codesourcery.com, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, hpa@zytor.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Tue, 03 Jun 2014 14:21:29 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <7080340.W1OdttOEiZ@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1401546649.2413.6.camel@slavad-CELSIUS-H720> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <1401546649.2413.6.camel@slavad-CELSIUS-H720> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:GCyaEvXF+a6CqYvAIaD0XSvsGbKpYYC5pdLSfa2ibf4 Pcj0L183367z9YpUfkI0zMCoBBAbor65lVV3SpkMzMdFMcwDHc cfAnvxNh7gW05d7+o+2el/OyWfxkhvcR0D0Tb+xV0Vy5dpH91o pY4UZWrXwtr0Iq1SGVphgKfFWLfR0I4CVnsuBM+kRZO9FYi/SO hytz0QhkW+DkpzflHPftTZGti1QrvH+Dd8NpzmjCujnVW5uKwj EMMCCvOmtUw3TITRCAG0/rmMrwDreABG+IcFMdFwLUFBRDe7sI ErjL/tgjro7hcPU/n6EnFUG2bHXpmp6ss/j16yfdHv2ynJlUjA lE8GQX1SC90Ljh0tuiGQ= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.187] X-Barracuda-Start-Time: 1401798236 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6342 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Saturday 31 May 2014 18:30:49 Vyacheslav Dubeyko wrote: > By the way, what about NILFS2? Is NILFS2 ready for suggested approach > without any changes? nilfs2 and a lot of other file systems don't need any changes for this, because they don't assign the inode time stamp fields to a 'struct timespec'. FWIW, nilfs2 uses a 64-bit seconds value, which is always safe and can represent the full range of user space timespec on all machines. Arnd From lczerner@redhat.com Tue Jun 3 07:52:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D5F537F3F for ; Tue, 3 Jun 2014 07:52:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id BA0898F8071 for ; Tue, 3 Jun 2014 05:52:02 -0700 (PDT) X-ASG-Debug-ID: 1401799921-04cbb050fc2dc3f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id vDCvNMWh7oROtyrU for ; Tue, 03 Jun 2014 05:52:02 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53Cnvvl011668 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 3 Jun 2014 08:49:58 -0400 Received: from dhcp-1-230.brq.redhat.com (dhcp-1-230.brq.redhat.com [10.34.1.230]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53Cns8T004204 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 3 Jun 2014 08:49:55 -0400 Date: Tue, 3 Jun 2014 14:49:53 +0200 (CEST) From: =?ISO-8859-15?Q?Luk=E1=A8_Czerner?= X-X-Sender: lczerner@localhost.localdomain To: Jaegeuk Kim cc: Dave Chinner , xfs@oss.sgi.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforget.net Subject: Re: [PATCH] xfstests: f2fs support In-Reply-To: X-ASG-Orig-Subj: Re: [PATCH] xfstests: f2fs support Message-ID: References: <1401717572-21731-1-git-send-email-jaegeuk@kernel.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-788635479-1401799797=:2112" X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401799921 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-788635479-1401799797=:2112 Content-Type: TEXT/PLAIN; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT On Tue, 3 Jun 2014, LukᨠCzerner wrote: > Date: Tue, 3 Jun 2014 13:32:30 +0200 (CEST) > From: LukᨠCzerner > To: Jaegeuk Kim > Cc: Dave Chinner , xfs@oss.sgi.com, > linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, > linux-f2fs-devel@lists.sourceforget.net > Subject: Re: [PATCH] xfstests: f2fs support > > On Mon, 2 Jun 2014, jaegeuk@kernel.org wrote: > > > Date: Mon, 2 Jun 2014 22:59:32 +0900 > > From: jaegeuk@kernel.org > > To: Dave Chinner > > Cc: xfs@oss.sgi.com, linux-kernel@vger.kernel.org, > > linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforget.net, > > Jaegeuk Kim > > Subject: [PATCH] xfstests: f2fs support > > > > From: Jaegeuk Kim > > > > This patch adds to support f2fs file system. > > Hi, > > Looks good. > > Signed-off-by: Lukas Czerner > Oops, wrong macro. I meant to say Reviewed-by: Lukas Czerner > Btw dry run option in fsck is quite useful here because when the > file system gets corrupted you do not want it to get fixed, but > rather investigate the corrupted file system to figure out what > happened. But of course it's not required :) > > However after a quick look at you fsck code it seems that you do not > attempt to fix anything at all... > > Also having mkfs to check for existing signatures on the device > before attempting to create the file system is a good thing to do > (at least xfs, btrfs extN are doing so) to avoid data loss by > mistake. You can use libblkid from util-linux and it's very simple > to use. > > Thanks! > -Lukas > > > > > Signed-off-by: Jaegeuk Kim > > --- > > common/config | 7 +++++++ > > common/rc | 6 ++++++ > > 2 files changed, 13 insertions(+) > > > > diff --git a/common/config b/common/config > > index 0dbf0b9..0607294 100644 > > --- a/common/config > > +++ b/common/config > > @@ -210,6 +210,7 @@ case "$HOSTOS" in > > export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`" > > export MKFS_UDF_PROG="`set_prog_path mkudffs`" > > export MKFS_BTRFS_PROG="`set_btrfs_mkfs_prog_path_with_opts`" > > + export MKFS_F2FS_PROG="`set_prog_path mkfs.f2fs`" > > export BTRFS_UTIL_PROG="`set_prog_path btrfs`" > > export BTRFS_SHOW_SUPER_PROG="`set_prog_path btrfs-show-super`" > > export XFS_FSR_PROG="`set_prog_path xfs_fsr`" > > @@ -241,6 +242,9 @@ _mount_opts() > > # acls & xattrs aren't turned on by default on ext$FOO > > export MOUNT_OPTIONS="-o acl,user_xattr $EXT_MOUNT_OPTIONS" > > ;; > > + f2fs) > > + export MOUNT_OPTIONS="-o acl,user_xattr $F2FS_MOUNT_OPTIONS" > > + ;; > > reiserfs) > > # acls & xattrs aren't turned on by default on reiserfs > > export MOUNT_OPTIONS="-o acl,user_xattr $REISERFS_MOUNT_OPTIONS" > > @@ -295,6 +299,9 @@ _fsck_opts() > > reiserfs) > > export FSCK_OPTIONS="--yes" > > ;; > > + f2fs) > > + export FSCK_OPTIONS="" > > + ;; > > *) > > export FSCK_OPTIONS="-n" > > ;; > > diff --git a/common/rc b/common/rc > > index f27ee53..fcdabfe 100644 > > --- a/common/rc > > +++ b/common/rc > > @@ -105,6 +105,9 @@ case "$FSTYP" in > > btrfs) > > [ "$MKFS_BTRFS_PROG" = "" ] && _fatal "mkfs.btrfs not found" > > ;; > > + f2fs) > > + [ "$MKFS_F2FS_PROG" = "" ] && _fatal "mkfs.f2fs not found" > > + ;; > > nfs) > > ;; > > esac > > @@ -511,6 +514,9 @@ _scratch_mkfs() > > tmpfs) > > # do nothing for tmpfs > > ;; > > + f2fs) > > + $MKFS_F2FS_PROG $MKFS_OPTIONS $* $SCRATCH_DEV > /dev/null > > + ;; > > *) > > yes | $MKFS_PROG -t $FSTYP -- $MKFS_OPTIONS $* $SCRATCH_DEV > > ;; > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > --8323328-788635479-1401799797=:2112-- From roger@filmlight.ltd.uk Tue Jun 3 08:09:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 509377F3F for ; Tue, 3 Jun 2014 08:09:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id DCBBCAC003 for ; Tue, 3 Jun 2014 06:09:46 -0700 (PDT) X-ASG-Debug-ID: 1401800984-04bdf0599e504880001-NocioJ Received: from b.mx.filmlight.ltd.uk (b.mx.filmlight.ltd.uk [77.107.81.251]) by cuda.sgi.com with SMTP id NSWY1HLQXSXOrsCa for ; Tue, 03 Jun 2014 06:09:44 -0700 (PDT) X-Barracuda-Envelope-From: roger@filmlight.ltd.uk X-Barracuda-Apparent-Source-IP: 77.107.81.251 Received: (dqd 2896 invoked from network); 3 Jun 2014 13:09:44 -0000 Received: from montana.filmlight.ltd.uk (HELO ?10.44.0.132?) (roger@10.44.0.132) by b.mx.filmlight.ltd.uk with SMTP; 3 Jun 2014 13:09:44 -0000 Subject: Re: [RFC 11/32] xfs: convert to struct inode_time From: Roger Willcocks X-ASG-Orig-Subj: Re: [RFC 11/32] xfs: convert to struct inode_time To: Theodore Ts'o Cc: "H. Peter Anvin" , Nicolas Pitre , linux-arch@vger.kernel.org, Linux NFS Mailing List , Arnd Bergmann , LKML Kernel , xfs@oss.sgi.com, Christoph Hellwig , Chuck Lever , john.stultz@linaro.org, lftan@altera.com, linux-fsdevel , geert@linux-m68k.org, tglx@linutronix.de, joseph@codesourcery.com In-Reply-To: <20140602233212.GA2060@thunk.org> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8618458.1EVJCoVbkH@wuerfel> <4178301.j9kWdGCRLC@wuerfel> <6868F108-F0B2-423F-AE31-90DF86A5B7DD@oracle.com> <20140602153124.GH30598@thunk.org> <538CB085.5000502@zytor.com> <20140602222954.GA29690@thunk.org> <538CFB83.20703@zytor.com> <20140602233212.GA2060@thunk.org> Content-Type: text/plain Date: Tue, 03 Jun 2014 14:09:43 +0100 Message-Id: <1401800983.6065.272.camel@montana.filmlight.ltd.uk> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-19.el5) Content-Transfer-Encoding: 7bit X-Barracuda-Connect: b.mx.filmlight.ltd.uk[77.107.81.251] X-Barracuda-Start-Time: 1401800984 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6343 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, 2014-06-02 at 19:32 -0400, Theodore Ts'o wrote: > Linux's time(2) can return (time_t) -1 and set errno to EFAULT, per > the Posix specification: > > SYSCALL_DEFINE1(time, time_t __user *, tloc) > { > time_t i = get_seconds(); > > if (tloc) { > if (put_user(i,tloc)) > return -EFAULT; > } > force_successful_syscall_return(); > return i; > } get_seconds() returns an unsigned long so there's potential for overflow here. -- Roger From arnd@arndb.de Tue Jun 3 09:25:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8F43D7F3F for ; Tue, 3 Jun 2014 09:25:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4ABE18F8081 for ; Tue, 3 Jun 2014 07:25:06 -0700 (PDT) X-ASG-Debug-ID: 1401805503-04bdf059a050d310001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) by cuda.sgi.com with ESMTP id X4CPfQEuHhKMaC6f (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 07:25:04 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.187 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue004) with ESMTP (Nemesis) id 0M5tBF-1WbvXe3QZF-00xpVE; Tue, 03 Jun 2014 16:22:20 +0200 From: Arnd Bergmann To: "H. Peter Anvin" Cc: "Joseph S. Myers" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Tue, 03 Jun 2014 16:22:19 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <5011138.W0gbOc20Qp@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <538CF346.2070504@zytor.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <7175692.dpgYFMbTaP@wuerfel> <538CF346.2070504@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:/TknYcvxqhw//en3UBNTXYoqE+nfyCOaZmUTHg9HpZU aC0W/PXkJOE0Js/B8qBmgymT99hg/mBq0CoYbMg3+Ws5/vBDaw V5q8w4s9F070Oz04sogKJ9tWjemFSNUx9Yp/1O8RJEzRrc4jRV kO9ic3AMip5+RUjpxm/bnaJdXZ1s36b08xwkVVI88o+5W/J2am s7HCMRggMHyGdMTDHC3AFXGsJShC5hcmSWvvYrZOrEdK29R8Lp YhGd03/cwjR6NOZPHMOItDveG9Z8AYDbBvr8ht0C8SH4p97d9d EqyWi2k40+ydoqiahD6X4cNsBWaLd8+TWKENN7Chgg7/w1L3p4 p42LCxcvS7fkjtYYW/Xg= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.187] X-Barracuda-Start-Time: 1401805504 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6344 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Monday 02 June 2014 14:57:26 H. Peter Anvin wrote: > On 06/02/2014 12:55 PM, Arnd Bergmann wrote: > >> > >> The bit that is really going to hurt is every single ioctl that uses a > >> timespec. > >> > >> Honestly, though, I really don't understand the point with "struct > >> inode_time". It seems like the zeroeth-order thing is to change the > >> kernel internal version of struct timespec to have a 64-bit time... it > >> isn't just about inodes. We then should be explicit about the external > >> uses of time, and use accessors. > > > > I picked these because they are fairly isolated from all other uses, > > in particular since inode times are the only things where we really > > care about times in the distant past or future (decades away as opposed > > to things that happened between boot and shutdown). > > > > If nothing else, I would expect to be able to set the system time to > weird values for testing. So I'm not so sure I agree with that... I think John Stultz and Thomas Gleixner have already started looking at how the timekeeping code can be updated. Once that is done, we should be able to add a functional 64-bit gettimeofday/settimeofday syscall pair. While I definitely agree this is one of the most basic things to have, it's also not an area of the kernel that is easy to change. > > For other kernel-internal uses, we may be better off migrating to > > a completely different representation, such as nanoseconds since > > boot or the architecture specific ktime_t, but this is really something > > to decide for each subsystem. > > Having a bunch of different time representations in the kernel seems > like a real headache... We already have time_t, ktime_t, timeval, timespec, compat_timespec, clock_t, cputime_t, cputime64_t, tm, nanoseconds, jiffies, jiffies64, and lots of driver or file system specific representations. I'm all for removing a bunch of these from the kernel, but my feeling is that this is one of the cases where we first have to add new ones in order to remove those that are already there. To complicate things further, we also have various times bases (realtime/utc, realtime/tai, monotonic, monotonic_raw, boottime, ...), and at least for the timespec values we pass around, it's not always obvious which one is used, of if that's the right one. We probably don't want to add a lot of new representations, and it's possible that we can change most of the internal code we have to ktime_t and then convert that to whatever user space wants at the interfaces. The possible uses I can see for non-ktime_t types in the kernel are: * inodes need 96 bit timestamps to represent the full range of values that can be stored in a file system, you made a convincing argument for that. Almost everything else can fit into 64 bit on a 32-bit kernel, in theory also on a 64-bit kernel if we want that. * A number of interfaces pass relative timespecs: nanosleep(), poll(), select(), sigtimedwait(), alarm(), futex() and probably more. There is nothing wrong with the use of timespec here, and it may be good to annotate that by using a new type (e.g. struct timeout) that is defined as compatible with the current timespec. * For new user interfaces, we need a new type such as the __kernel_timespec64 I introduced, so it doesn't clash with the normal user timespec that may be smaller, depending on the libc. * A lot of drivers will need new ioctl commands, and for drivers that just need time stamps (audio, v4l, sockets, ...) it may be more efficient and more correct to use a new timestamp_t (e.g. boot time 64-bit nanoseconds) than __kernel_timespec64, which is not normally monotonic and requires a normalization step. If we end up introducing such a type in the user interface, we can also start using it in the kernel. Arnd From joseph_myers@mentor.com Tue Jun 3 09:33:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 574E67F3F for ; Tue, 3 Jun 2014 09:33:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id D4FECAC003 for ; Tue, 3 Jun 2014 07:33:33 -0700 (PDT) X-ASG-Debug-ID: 1401806009-04cbb050fd2e7c90001-NocioJ Received: from relay1.mentorg.com ([192.94.38.131]) by cuda.sgi.com with ESMTP id ojDchCIeNs7k5nGN (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 07:33:30 -0700 (PDT) X-Barracuda-Envelope-From: joseph_myers@mentor.com X-Barracuda-Apparent-Source-IP: 192.94.38.131 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1Wrpm6-0001rv-MB from joseph_myers@mentor.com ; Tue, 03 Jun 2014 07:33:14 -0700 Received: from SVR-IES-FEM-02.mgc.mentorg.com ([137.202.0.106]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 3 Jun 2014 07:33:14 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.2.247.3; Tue, 3 Jun 2014 15:33:12 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.76) (envelope-from ) id 1Wrpm2-0003K0-PE; Tue, 03 Jun 2014 14:33:10 +0000 Date: Tue, 3 Jun 2014 14:33:10 +0000 From: "Joseph S. Myers" X-X-Sender: jsm28@digraph.polyomino.org.uk To: Arnd Bergmann CC: "H. Peter Anvin" , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <5011138.W0gbOc20Qp@wuerfel> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <7175692.dpgYFMbTaP@wuerfel> <538CF346.2070504@zytor.com> <5011138.W0gbOc20Qp@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: Joseph Myers X-OriginalArrivalTime: 03 Jun 2014 14:33:14.0298 (UTC) FILETIME=[C095E9A0:01CF7F38] X-Barracuda-Connect: UNKNOWN[192.94.38.131] X-Barracuda-Start-Time: 1401806010 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6344 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Tue, 3 Jun 2014, Arnd Bergmann wrote: > I think John Stultz and Thomas Gleixner have already started looking > at how the timekeeping code can be updated. Once that is done, we should > be able to add a functional 64-bit gettimeofday/settimeofday syscall > pair. While I definitely agree this is one of the most basic things to > have, it's also not an area of the kernel that is easy to change. 64-bit clock_gettime / clock_settime instead of gettimeofday / settimeofday should avoid the need for the kernel to have a 64-bit version of struct timeval. (Userspace 64-bit gettimeofday / settimeofday would need to use a combination of the syscalls if the tz pointer is non-NULL.) -- Joseph S. Myers joseph@codesourcery.com From bfoster@redhat.com Tue Jun 3 09:49:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 363887F3F for ; Tue, 3 Jun 2014 09:49:42 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 199B58F8040 for ; Tue, 3 Jun 2014 07:49:42 -0700 (PDT) X-ASG-Debug-ID: 1401806979-04cbb050fd2e9460001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 9y3gtElrSdM1WgG9 for ; Tue, 03 Jun 2014 07:49:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndIk017570 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53End8q007347 for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 41C181248BB; Tue, 3 Jun 2014 10:49:38 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3 2/4] xfs: support a union-based filter for eofblocks scans Date: Tue, 3 Jun 2014 10:49:36 -0400 X-ASG-Orig-Subj: [PATCH v3 2/4] xfs: support a union-based filter for eofblocks scans Message-Id: <1401806978-59205-3-git-send-email-bfoster@redhat.com> In-Reply-To: <1401806978-59205-1-git-send-email-bfoster@redhat.com> References: <1401806978-59205-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401806981 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 The eofblocks scan inode filter uses intersection logic by default. E.g., specifying both user and group quota ids filters out inodes that are not covered by both the specified user and group quotas. This is suitable for behavior exposed to userspace. Scans that are initiated from within the kernel might require more broad semantics, such as scanning all inodes under each quota associated with an inode to alleviate low free space conditions in each. Create the XFS_EOF_FLAGS_UNION flag to support a conditional union-based filtering algorithm for eofblocks scans. This flag is intentionally left out of the valid mask as it is not supported for scans initiated from userspace. Signed-off-by: Brian Foster --- fs/xfs/xfs_fs.h | 3 +++ fs/xfs/xfs_icache.c | 31 ++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index d34703d..ffdabc6 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -375,6 +375,9 @@ struct xfs_fs_eofblocks { #define XFS_EOF_FLAGS_GID (1 << 2) /* filter by gid */ #define XFS_EOF_FLAGS_PRID (1 << 3) /* filter by project id */ #define XFS_EOF_FLAGS_MINFILESIZE (1 << 4) /* filter by min file size */ +#define XFS_EOF_FLAGS_UNION (1 << 5) /* union filter algorithm; + * kernel only, not included in + * valid mask */ #define XFS_EOF_FLAGS_VALID \ (XFS_EOF_FLAGS_SYNC | \ XFS_EOF_FLAGS_UID | \ diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index ee87bcb..6be93e7 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -1203,6 +1203,30 @@ xfs_inode_match_id( return 1; } +/* + * A union-based inode filtering algorithm. Process the inode if any of the + * criteria match. This is for global/internal scans only. + */ +STATIC int +xfs_inode_match_id_union( + struct xfs_inode *ip, + struct xfs_eofblocks *eofb) +{ + if ((eofb->eof_flags & XFS_EOF_FLAGS_UID) && + uid_eq(VFS_I(ip)->i_uid, eofb->eof_uid)) + return 1; + + if ((eofb->eof_flags & XFS_EOF_FLAGS_GID) && + gid_eq(VFS_I(ip)->i_gid, eofb->eof_gid)) + return 1; + + if ((eofb->eof_flags & XFS_EOF_FLAGS_PRID) && + xfs_get_projid(ip) == eofb->eof_prid) + return 1; + + return 0; +} + STATIC int xfs_inode_free_eofblocks( struct xfs_inode *ip, @@ -1212,6 +1236,7 @@ xfs_inode_free_eofblocks( int ret; struct xfs_eofblocks *eofb = args; bool need_iolock = true; + int match; ASSERT(!eofb || (eofb && eofb->eof_scan_owner != 0)); @@ -1231,7 +1256,11 @@ xfs_inode_free_eofblocks( return 0; if (eofb) { - if (!xfs_inode_match_id(ip, eofb)) + if (eofb->eof_flags & XFS_EOF_FLAGS_UNION) + match = xfs_inode_match_id_union(ip, eofb); + else + match = xfs_inode_match_id(ip, eofb); + if (!match) return 0; /* skip the inode if the file size is too small */ -- 1.8.3.1 From bfoster@redhat.com Tue Jun 3 09:49:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 3C31C7F47 for ; Tue, 3 Jun 2014 09:49:42 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 235488F804B for ; Tue, 3 Jun 2014 07:49:42 -0700 (PDT) X-ASG-Debug-ID: 1401806979-04cbb050fc2e9460001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id JQjxEXyvDbEDBRBs for ; Tue, 03 Jun 2014 07:49:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndkK017574 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53Endjm032669 for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 4D22F1248D1; Tue, 3 Jun 2014 10:49:38 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3 3/4] xfs: run an eofblocks scan on ENOSPC/EDQUOT Date: Tue, 3 Jun 2014 10:49:37 -0400 X-ASG-Orig-Subj: [PATCH v3 3/4] xfs: run an eofblocks scan on ENOSPC/EDQUOT Message-Id: <1401806978-59205-4-git-send-email-bfoster@redhat.com> In-Reply-To: <1401806978-59205-1-git-send-email-bfoster@redhat.com> References: <1401806978-59205-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401806981 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Speculative preallocation and and the associated throttling metrics assume we're working with large files on large filesystems. Users have reported inefficiencies in these mechanisms when we happen to be dealing with large files on smaller filesystems. This can occur because while prealloc throttling is aggressive under low free space conditions, it is not active until we reach 5% free space or less. For example, a 40GB filesystem has enough space for several files large enough to have multi-GB preallocations at any given time. If those files are slow growing, they might reserve preallocation for long periods of time as well as avoid the background scanner due to frequent modification. If a new file is written under these conditions, said file has no access to this already reserved space and premature ENOSPC is imminent. To handle this scenario, modify the buffered write ENOSPC handling and retry sequence to invoke an eofblocks scan. In the smaller filesystem scenario, the eofblocks scan resets the usage of preallocation such that when the 5% free space threshold is met, throttling effectively takes over to provide fair and efficient preallocation until legitimate ENOSPC. The eofblocks scan is selective based on the nature of the failure. For example, an EDQUOT failure in a particular quota will use a filtered scan for that quota. Because we don't know which quota might have caused an allocation failure at any given time, we include each applicable quota determined to be under low free space conditions in the scan. Signed-off-by: Brian Foster --- fs/xfs/xfs_dquot.h | 15 +++++++++++++++ fs/xfs/xfs_file.c | 23 +++++++++++++++++++---- fs/xfs/xfs_icache.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_icache.h | 1 + 4 files changed, 87 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_dquot.h b/fs/xfs/xfs_dquot.h index 68a68f7..c24c67e 100644 --- a/fs/xfs/xfs_dquot.h +++ b/fs/xfs/xfs_dquot.h @@ -139,6 +139,21 @@ static inline xfs_dquot_t *xfs_inode_dquot(struct xfs_inode *ip, int type) } } +/* + * Check whether a dquot is under low free space conditions. We assume the quota + * is enabled and enforced. + */ +static inline bool xfs_dquot_lowsp(struct xfs_dquot *dqp) +{ + int64_t freesp; + + freesp = be64_to_cpu(dqp->q_core.d_blk_hardlimit) - dqp->q_res_bcount; + if (freesp < dqp->q_low_space[XFS_QLOWSP_1_PCNT]) + return true; + + return false; +} + #define XFS_DQ_IS_LOCKED(dqp) (mutex_is_locked(&((dqp)->q_qlock))) #define XFS_DQ_IS_DIRTY(dqp) ((dqp)->dq_flags & XFS_DQ_DIRTY) #define XFS_QM_ISUDQ(dqp) ((dqp)->dq_flags & XFS_DQ_USER) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 1b8160d..2e0e73b 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -38,6 +38,7 @@ #include "xfs_trace.h" #include "xfs_log.h" #include "xfs_dinode.h" +#include "xfs_icache.h" #include #include @@ -741,14 +742,28 @@ write_retry: ret = generic_perform_write(file, &from, pos); if (likely(ret >= 0)) iocb->ki_pos = pos + ret; + /* - * If we just got an ENOSPC, try to write back all dirty inodes to - * convert delalloc space to free up some of the excess reserved - * metadata space. + * If we hit a space limit, try to free up some lingering preallocated + * space before returning an error. In the case of ENOSPC, first try to + * write back all dirty inodes to free up some of the excess reserved + * metadata space. This reduces the chances that the eofblocks scan + * waits on dirty mappings. Since xfs_flush_inodes() is serialized, this + * also behaves as a filter to prevent too many eofblocks scans from + * running at the same time. */ - if (ret == -ENOSPC && !enospc) { + if (ret == -EDQUOT && !enospc) { + enospc = xfs_inode_free_quota_eofblocks(ip); + if (enospc) + goto write_retry; + } else if (ret == -ENOSPC && !enospc) { + struct xfs_eofblocks eofb = {0}; + enospc = 1; xfs_flush_inodes(ip->i_mount); + eofb.eof_scan_owner = ip->i_ino; /* for locking */ + eofb.eof_flags = XFS_EOF_FLAGS_SYNC; + xfs_icache_free_eofblocks(ip->i_mount, &eofb); goto write_retry; } diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index 6be93e7..35eb658 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -33,6 +33,9 @@ #include "xfs_trace.h" #include "xfs_icache.h" #include "xfs_bmap_util.h" +#include "xfs_quota.h" +#include "xfs_dquot_item.h" +#include "xfs_dquot.h" #include #include @@ -1300,6 +1303,55 @@ xfs_icache_free_eofblocks( eofb, XFS_ICI_EOFBLOCKS_TAG); } +/* + * Run eofblocks scans on the quotas applicable to the inode. For inodes with + * multiple quotas, we don't know exactly which quota caused an allocation + * failure. We make a best effort by including each quota under low free space + * conditions (less than 1% free space) in the scan. + */ +int +xfs_inode_free_quota_eofblocks( + struct xfs_inode *ip) +{ + int scan = 0; + struct xfs_eofblocks eofb = {0}; + struct xfs_dquot *dq; + + ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); + + /* + * Set the scan owner to avoid a potential livelock. Otherwise, the scan + * can repeatedly trylock on the inode we're currently processing. We + * run a sync scan to increase effectiveness and use the union filter to + * cover all applicable quotas in a single scan. + */ + eofb.eof_scan_owner = ip->i_ino; + eofb.eof_flags = XFS_EOF_FLAGS_UNION|XFS_EOF_FLAGS_SYNC; + + if (XFS_IS_UQUOTA_ENFORCED(ip->i_mount)) { + dq = xfs_inode_dquot(ip, XFS_DQ_USER); + if (dq && xfs_dquot_lowsp(dq)) { + eofb.eof_uid = VFS_I(ip)->i_uid; + eofb.eof_flags |= XFS_EOF_FLAGS_UID; + scan = 1; + } + } + + if (XFS_IS_GQUOTA_ENFORCED(ip->i_mount)) { + dq = xfs_inode_dquot(ip, XFS_DQ_GROUP); + if (dq && xfs_dquot_lowsp(dq)) { + eofb.eof_gid = VFS_I(ip)->i_gid; + eofb.eof_flags |= XFS_EOF_FLAGS_GID; + scan = 1; + } + } + + if (scan) + xfs_icache_free_eofblocks(ip->i_mount, &eofb); + + return scan; +} + void xfs_inode_set_eofblocks_tag( xfs_inode_t *ip) diff --git a/fs/xfs/xfs_icache.h b/fs/xfs/xfs_icache.h index 152757f..b432d83 100644 --- a/fs/xfs/xfs_icache.h +++ b/fs/xfs/xfs_icache.h @@ -58,6 +58,7 @@ void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); void xfs_inode_set_eofblocks_tag(struct xfs_inode *ip); void xfs_inode_clear_eofblocks_tag(struct xfs_inode *ip); int xfs_icache_free_eofblocks(struct xfs_mount *, struct xfs_eofblocks *); +int xfs_inode_free_quota_eofblocks(struct xfs_inode *ip); void xfs_eofblocks_worker(struct work_struct *); int xfs_inode_ag_iterator(struct xfs_mount *mp, -- 1.8.3.1 From bfoster@redhat.com Tue Jun 3 09:49:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3AC4A7F47 for ; Tue, 3 Jun 2014 09:49:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id F3E05304032 for ; Tue, 3 Jun 2014 07:49:42 -0700 (PDT) X-ASG-Debug-ID: 1401806979-04bdf0599f50f6e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id pJ1DJw4GG8jGEVQM for ; Tue, 03 Jun 2014 07:49:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndId008192 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndWV005651 for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 389E7124894; Tue, 3 Jun 2014 10:49:38 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3 1/4] xfs: add scan owner field to xfs_eofblocks Date: Tue, 3 Jun 2014 10:49:35 -0400 X-ASG-Orig-Subj: [PATCH v3 1/4] xfs: add scan owner field to xfs_eofblocks Message-Id: <1401806978-59205-2-git-send-email-bfoster@redhat.com> In-Reply-To: <1401806978-59205-1-git-send-email-bfoster@redhat.com> References: <1401806978-59205-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401806981 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 The scan owner field represents an optional inode number that is responsible for the current scan. The purpose is to identify that an inode is under iolock and as such, the iolock shouldn't be attempted when trimming eofblocks. This is an internal only field. Signed-off-by: Brian Foster --- fs/xfs/xfs_icache.c | 13 ++++++++++++- fs/xfs/xfs_icache.h | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index c48df5f..ee87bcb 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -1211,6 +1211,9 @@ xfs_inode_free_eofblocks( { int ret; struct xfs_eofblocks *eofb = args; + bool need_iolock = true; + + ASSERT(!eofb || (eofb && eofb->eof_scan_owner != 0)); if (!xfs_can_free_eofblocks(ip, false)) { /* inode could be preallocated or append-only */ @@ -1235,9 +1238,17 @@ xfs_inode_free_eofblocks( if (eofb->eof_flags & XFS_EOF_FLAGS_MINFILESIZE && XFS_ISIZE(ip) < eofb->eof_min_file_size) return 0; + + /* + * A scan owner implies we already hold the iolock. Skip it in + * xfs_free_eofblocks() to avoid deadlock. This also eliminates + * the possibility of EAGAIN being returned. + */ + if (eofb->eof_scan_owner == ip->i_ino) + need_iolock = false; } - ret = xfs_free_eofblocks(ip->i_mount, ip, true); + ret = xfs_free_eofblocks(ip->i_mount, ip, need_iolock); /* don't revisit the inode if we're not waiting */ if (ret == EAGAIN && !(flags & SYNC_WAIT)) diff --git a/fs/xfs/xfs_icache.h b/fs/xfs/xfs_icache.h index 9cf017b..152757f 100644 --- a/fs/xfs/xfs_icache.h +++ b/fs/xfs/xfs_icache.h @@ -27,6 +27,7 @@ struct xfs_eofblocks { kgid_t eof_gid; prid_t eof_prid; __u64 eof_min_file_size; + xfs_ino_t eof_scan_owner; }; #define SYNC_WAIT 0x0001 /* wait for i/o to complete */ @@ -84,6 +85,7 @@ xfs_fs_eofblocks_from_user( dst->eof_flags = src->eof_flags; dst->eof_prid = src->eof_prid; dst->eof_min_file_size = src->eof_min_file_size; + dst->eof_scan_owner = NULLFSINO; dst->eof_uid = INVALID_UID; if (src->eof_flags & XFS_EOF_FLAGS_UID) { -- 1.8.3.1 From bfoster@redhat.com Tue Jun 3 09:49:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 226207F3F for ; Tue, 3 Jun 2014 09:49:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9F529AC005 for ; Tue, 3 Jun 2014 07:49:42 -0700 (PDT) X-ASG-Debug-ID: 1401806979-04cb6c10091b84a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id qW7DQqAwQSwVhI8s for ; Tue, 03 Jun 2014 07:49:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndTh006763 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndVO000387 for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 29B721248A9; Tue, 3 Jun 2014 10:49:38 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3 0/4] xfs: run eofblocks scan on ENOSPC Date: Tue, 3 Jun 2014 10:49:34 -0400 X-ASG-Orig-Subj: [PATCH v3 0/4] xfs: run eofblocks scan on ENOSPC Message-Id: <1401806978-59205-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401806981 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi all, Here's v3 of the eofblocks scan on ENOSPC series. The primary change is the insertion of patch 2, which implements a union inode filter for eofblocks scans. This facilitates the EDQUOT handling in patch 3 to cover multiple quotas with a single scan. Version 2 and associated feedback is available here: http://oss.sgi.com/archives/xfs/2014-05/msg00527.html There was also some discussion about dropping the iolock in favor of introducing the scan owner field, but it's not clear if that is totally safe. FWIW, the scan owner field is kernel only, so can be removed and replaced with smarter locking any time down the road. Thoughts, reviews, flames appreciated. Brian v3: - Removed NULLFSINO check in eofblocks scan owner logic, added ASSERT. - Added union-based eofblocks scan filter patch and use in quota ENOSPC scan. v2: - Drop flush mechanism during eofblocks scan (along with prereq patch). - Simplify scan logic on ENOSPC. Separate EDQUOT from ENOSPC and tie ENOSPC scan to inode flush. - Eliminate unnecessary project quota handling from xfs_inode_free_quota_eofblocks() (ENOSPC is a separate path). Brian Foster (4): xfs: add scan owner field to xfs_eofblocks xfs: support a union-based filter for eofblocks scans xfs: run an eofblocks scan on ENOSPC/EDQUOT xfs: squash prealloc while over quota free space as well fs/xfs/xfs_dquot.h | 15 +++++++++ fs/xfs/xfs_file.c | 23 ++++++++++--- fs/xfs/xfs_fs.h | 3 ++ fs/xfs/xfs_icache.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++-- fs/xfs/xfs_icache.h | 3 ++ fs/xfs/xfs_iomap.c | 20 +++++++---- 6 files changed, 148 insertions(+), 12 deletions(-) -- 1.8.3.1 From bfoster@redhat.com Tue Jun 3 09:49:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id AD38A7F47 for ; Tue, 3 Jun 2014 09:49:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 56087AC003 for ; Tue, 3 Jun 2014 07:49:43 -0700 (PDT) X-ASG-Debug-ID: 1401806980-04bdf0599e50f6e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id nEwUhrLYDBk8hauP for ; Tue, 03 Jun 2014 07:49:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndgU014237 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53EndAV024676 for ; Tue, 3 Jun 2014 10:49:39 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 623781248D5; Tue, 3 Jun 2014 10:49:38 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v3 4/4] xfs: squash prealloc while over quota free space as well Date: Tue, 3 Jun 2014 10:49:38 -0400 X-ASG-Orig-Subj: [PATCH v3 4/4] xfs: squash prealloc while over quota free space as well Message-Id: <1401806978-59205-5-git-send-email-bfoster@redhat.com> In-Reply-To: <1401806978-59205-1-git-send-email-bfoster@redhat.com> References: <1401806978-59205-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401806981 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Commit 4d559a3b introduced heavy prealloc. squashing to catch the case of requesting too large a prealloc on smaller filesystems, leading to repeated flush and retry cycles that occur on ENOSPC. Now that we issue eofblocks scans on EDQUOT/ENOSPC, squash the prealloc against the minimum available free space across all applicable quotas as well to avoid a similar problem of repeated eofblocks scans. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner --- fs/xfs/xfs_iomap.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index 6c5eb4c..28629e9 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -397,7 +397,8 @@ xfs_quota_calc_throttle( struct xfs_inode *ip, int type, xfs_fsblock_t *qblocks, - int *qshift) + int *qshift, + int64_t *qfreesp) { int64_t freesp; int shift = 0; @@ -406,6 +407,7 @@ xfs_quota_calc_throttle( /* over hi wmark, squash the prealloc completely */ if (dq->q_res_bcount >= dq->q_prealloc_hi_wmark) { *qblocks = 0; + *qfreesp = 0; return; } @@ -418,6 +420,9 @@ xfs_quota_calc_throttle( shift += 2; } + if (freesp < *qfreesp) + *qfreesp = freesp; + /* only overwrite the throttle values if we are more aggressive */ if ((freesp >> shift) < (*qblocks >> *qshift)) { *qblocks = freesp; @@ -476,15 +481,18 @@ xfs_iomap_prealloc_size( } /* - * Check each quota to cap the prealloc size and provide a shift - * value to throttle with. + * Check each quota to cap the prealloc size, provide a shift value to + * throttle with and adjust amount of available space. */ if (xfs_quota_need_throttle(ip, XFS_DQ_USER, alloc_blocks)) - xfs_quota_calc_throttle(ip, XFS_DQ_USER, &qblocks, &qshift); + xfs_quota_calc_throttle(ip, XFS_DQ_USER, &qblocks, &qshift, + &freesp); if (xfs_quota_need_throttle(ip, XFS_DQ_GROUP, alloc_blocks)) - xfs_quota_calc_throttle(ip, XFS_DQ_GROUP, &qblocks, &qshift); + xfs_quota_calc_throttle(ip, XFS_DQ_GROUP, &qblocks, &qshift, + &freesp); if (xfs_quota_need_throttle(ip, XFS_DQ_PROJ, alloc_blocks)) - xfs_quota_calc_throttle(ip, XFS_DQ_PROJ, &qblocks, &qshift); + xfs_quota_calc_throttle(ip, XFS_DQ_PROJ, &qblocks, &qshift, + &freesp); /* * The final prealloc size is set to the minimum of free space available -- 1.8.3.1 From arnd@arndb.de Tue Jun 3 09:50:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id EE5127F4E for ; Tue, 3 Jun 2014 09:50:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 869EFAC008 for ; Tue, 3 Jun 2014 07:50:11 -0700 (PDT) X-ASG-Debug-ID: 1401807009-04cb6c100c1b8590001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.13]) by cuda.sgi.com with ESMTP id kgGkOQCIarjdxy3c (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 03 Jun 2014 07:50:10 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.13 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue105) with ESMTP (Nemesis) id 0Lxfpr-1WlIoF1wTL-017GJx; Tue, 03 Jun 2014 16:48:01 +0200 From: Arnd Bergmann To: "Joseph S. Myers" Cc: "H. Peter Anvin" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Tue, 03 Jun 2014 16:37:46 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <18158267.ZX0ZMPkVDT@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5011138.W0gbOc20Qp@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:lhh16hhzDga+wuX0yot35qy8ewce/OLryeDVZ6Ib54z x8bh0dGp6kRHA5Pjkmp0eBlHXBwS878NPxUOpTgF6cynLgREKg pj+XgUwhISmBPt1+yqI8X+5tuqHJpdzrwZ57d/+K1P4skoa2T8 E1ohenQx6w28BbWlO0+R2wUEOcrMsUFcNTynqQX8TxKHrXM82E Vg4egsuBsozesDVmx0ou5ldMVIm5DbIlQo8Osv2gaIdsuDYV+v efLD4/ROf9J5woNWw7EoxtLSNvkMN61+G7645T2fYb0MCYjmEa LJZsTQjYOKSUdZkhlH2z8fjpe6SHvIB8ivM52ElBpf5ArfXSDj ivfVx9Ov9bPZVP4lx1h4= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.13] X-Barracuda-Start-Time: 1401807010 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6345 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Tuesday 03 June 2014 14:33:10 Joseph S. Myers wrote: > On Tue, 3 Jun 2014, Arnd Bergmann wrote: > > > I think John Stultz and Thomas Gleixner have already started looking > > at how the timekeeping code can be updated. Once that is done, we should > > be able to add a functional 64-bit gettimeofday/settimeofday syscall > > pair. While I definitely agree this is one of the most basic things to > > have, it's also not an area of the kernel that is easy to change. > > 64-bit clock_gettime / clock_settime instead of gettimeofday / > settimeofday should avoid the need for the kernel to have a 64-bit version > of struct timeval. (Userspace 64-bit gettimeofday / settimeofday would > need to use a combination of the syscalls if the tz pointer is non-NULL.) Yes, that's what I meant. Arnd From bfoster@redhat.com Tue Jun 3 09:54:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 16C927F47 for ; Tue, 3 Jun 2014 09:54:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C37398F8040 for ; Tue, 3 Jun 2014 07:54:01 -0700 (PDT) X-ASG-Debug-ID: 1401807240-04bdf0599e50fdf0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 7ReDfaoIOxIA4H8F for ; Tue, 03 Jun 2014 07:54:00 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53Es0Bb016323 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 3 Jun 2014 10:54:00 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s53Erx5R013822; Tue, 3 Jun 2014 10:53:59 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id B14091248A9; Tue, 3 Jun 2014 10:53:58 -0400 (EDT) From: Brian Foster To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com Subject: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Date: Tue, 3 Jun 2014 10:53:58 -0400 X-ASG-Orig-Subj: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-Id: <1401807238-59437-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401807240 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 XFS can allocate significant amounts of space to files via speculative preallocation. Such preallocation may not be reclaimed automatically on file close() if a file is repeatedly opened and extended. For smaller filesystems with relatively large and slow growing files, this preallocation can linger for some time, including contributing to out of space conditions. Create a situation where an fs is near out of space while several files still have lingering, significant preallocations. Verify that new writers reclaim the preallocated space rather than return ENOSPC. Repeat a similar test for quota limits and EDQUOT. Signed-off-by: Brian Foster --- v2: - Added a post-test scratch fs check. - Use a loop device to reduce the space requirement. - Added support for analogous EDQUOT test and added to quota group. - Some refactoring, cleanups, etc. v1: http://oss.sgi.com/archives/xfs/2014-05/msg00531.html tests/xfs/014 | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/014.out | 1 + tests/xfs/group | 1 + 3 files changed, 214 insertions(+) create mode 100755 tests/xfs/014 create mode 100644 tests/xfs/014.out diff --git a/tests/xfs/014 b/tests/xfs/014 new file mode 100755 index 0000000..ef08bee --- /dev/null +++ b/tests/xfs/014 @@ -0,0 +1,212 @@ +#!/bin/bash +# FS QA Test No. xfs/014 +# +# Test the behavior of XFS dynamic speculative preallocation at ENOSPC and +# EDQUOT conditions. Speculative preallocation allocates post-EOF space to files +# as they are extended. This test creates conditions where an fs is near a space +# limit with lingering, relatively significant preallocations and verifies that +# new writers reclaim said preallocations rather than prematurely fail with +# ENOSPC/EDQUOT. +# +#----------------------------------------------------------------------- +# Copyright (c) 2014 Red Hat, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter +. ./common/quota + +_cleanup() +{ + cd / + umount $LOOP_MNT 2>/dev/null + umount $SCRATCH_MNT 2>/dev/null + rm -f $tmp.* +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# Create a file using a repeated open, extending write and close pattern. This +# causes the preallocation to persist after the file is closed. Preallocation +# will not be reclaimed unless the inode is evicted or we hit an allocation +# failure. +_spec_prealloc_file() +{ + file=$1 + + rm -f $file + + # a few file extending open-write-close cycles should be enough to + # trigger the fs to retain preallocation. write 256k in 32k intervals to + # be sure + for i in $(seq 0 32768 262144) + do + $XFS_IO_PROG -fc "pwrite $i 32k" $file | \ + _filter_xfs_io >> $seqres.full + done + + # write a 4k aligned amount of data to keep the calculations simple + $XFS_IO_PROG -c "pwrite 0 128m" $file | _filter_xfs_io >> $seqres.full + + size=`stat -c "%s" $file` + blocks=`stat -c "%b" $file` + blocksize=`stat -c "%B" $file` + + prealloc_size=$((blocks * blocksize - size)) + if [ $prealloc_size -eq 0 ] + then + echo "Warning: No speculative preallocation for $file." \ + "Check use of the allocsize= mount option." + fi + + # keep a running total of how much preallocation we've created + TOTAL_PREALLOC=$((TOTAL_PREALLOC + prealloc_size)) +} + +_consume_free_space() +{ + dir=$1 + + # calculate the rough amount of free space in MB + fsblocksize=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bsize | \ + awk '{ print $3 }'` + blocksavail=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bavail | \ + awk '{ print $3 }'` + freesp=$((fsblocksize * blocksavail / 1024 / 1024)) + + # allocate all but 10MB + freesp=$((freesp - 10)) + $XFS_IO_PROG -fc "falloc 0 ${freesp}M" $dir/spc +} + +# Create several files with preallocation and consume the remaining free space +# via fallocate to the put the fs at ENOSPC. Create a set of background writers +# to write into ENOSPC and cause the preallocation to be reclaimed and +# reallocated to the new writers. +_test_enospc() +{ + dir=$1 + + rm -rf $dir/* + + TOTAL_PREALLOC=0 + for i in $(seq 0 3) + do + _spec_prealloc_file $dir/pre$i + done + + _consume_free_space $dir + + # consume 1/2 of the current preallocation across the set of 4 writers + write_size=$((TOTAL_PREALLOC / 2 / 4)) + for i in $(seq 0 3) + do + $XFS_IO_PROG -fc "pwrite 0 $write_size" $dir/file.$i | \ + _filter_xfs_io >> $seqres.full & + done + + wait +} + +# Create preallocations accounted by both user and group quotas. Set the +# associated quota hard limits to put them at EDQUOT. Verify that a new writer +# reclaims the preallocated space and proceeds without error. +_test_edquot() +{ + dir=$1 + + rm -rf $dir/* + + TOTAL_PREALLOC=0 + _spec_prealloc_file $dir/user + chown $qa_user $dir/user + + _spec_prealloc_file $dir/group + chgrp $qa_group $dir/group + + # writing to a file under both quotas means both will be reclaimed on + # allocation failure + touch $dir/file + chown $qa_user $dir/file + chgrp $qa_group $dir/file + + # put both quotas at EDQUOT + blks=`$XFS_QUOTA_PROG -xc "quota -u $qa_user" $dir | \ + tail -n 1 | awk '{ print $2 }'` + $XFS_QUOTA_PROG -xc "limit -u bhard=${blks}k $qa_user" $dir + blks=`$XFS_QUOTA_PROG -xc "quota -g $qa_grup" $dir | \ + tail -n 1 | awk '{ print $2 }'` + $XFS_QUOTA_PROG -xc "limit -g bhard=${blks}k $qa_group" $dir + + # each quota has a single file worth of preallocation to reclaim. leave + # some wiggle room and write to 1/3 the total. + write_size=$((TOTAL_PREALLOC / 3)) + $XFS_IO_PROG -c "pwrite 0 $write_size" $dir/file | \ + _filter_xfs_io >> $seqres.full +} + +# real QA test starts here +_supported_fs xfs +_supported_os Linux + +_require_scratch +_require_xfs_io_command "falloc" +_require_loop +_require_quota +_require_user +_require_group + +rm -f $seqres.full + +_scratch_mkfs_xfs | _filter_mkfs >> $seqres.full 2>&1 +_scratch_mount + +# make sure the background eofblocks scanner doesn't interfere +orig_sp_time=`cat /proc/sys/fs/xfs/speculative_prealloc_lifetime` +echo 9999 > /proc/sys/fs/xfs/speculative_prealloc_lifetime + +LOOP_FILE=$SCRATCH_MNT/$seq.fs +LOOP_MNT=$SCRATCH_MNT/$seq.mnt + +$MKFS_XFS_PROG -d "file=1,name=$LOOP_FILE,size=$((1024*1024*1024 * 10))" | \ + _filter_mkfs >> $seqres.full 2>&1 + +mkdir -p $LOOP_MNT +mount -t xfs -o loop,uquota,gquota $LOOP_FILE $LOOP_MNT || \ + _fail "Failed to mount loop fs." + +_test_enospc $LOOP_MNT +_test_edquot $LOOP_MNT + +umount $LOOP_MNT + +echo $orig_sp_time > /proc/sys/fs/xfs/speculative_prealloc_lifetime + +umount $SCRATCH_MNT +_check_scratch_fs + +status=0 +exit diff --git a/tests/xfs/014.out b/tests/xfs/014.out new file mode 100644 index 0000000..a825535 --- /dev/null +++ b/tests/xfs/014.out @@ -0,0 +1 @@ +QA output created by 014 diff --git a/tests/xfs/group b/tests/xfs/group index 19fd968..13f07b8 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -10,6 +10,7 @@ 010 auto quick repair 012 rw auto quick 013 auto metadata stress +014 auto enospc quick quota 016 rw auto quick 017 mount auto quick stress 018 deprecated # log logprint v2log -- 1.8.3.1 From bfoster@redhat.com Tue Jun 3 13:29:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 85E667F3F for ; Tue, 3 Jun 2014 13:29:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1D747AC005 for ; Tue, 3 Jun 2014 11:29:03 -0700 (PDT) X-ASG-Debug-ID: 1401820131-04cbb050fa2fd640001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id AXWyfeaXZ6xltIYB for ; Tue, 03 Jun 2014 11:28:51 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s53ISpDt024675 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 3 Jun 2014 14:28:51 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s53ISoka020107; Tue, 3 Jun 2014 14:28:50 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 76A351248A9; Tue, 3 Jun 2014 14:28:49 -0400 (EDT) From: Brian Foster To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com Subject: [PATCH] xfs/013: allow non-write fsstress operations in background workload Date: Tue, 3 Jun 2014 14:28:49 -0400 X-ASG-Orig-Subj: [PATCH] xfs/013: allow non-write fsstress operations in background workload Message-Id: <1401820129-6543-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401820131 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com It has been reported that test xfs/013 probably uses more space than necessary, exhausting space if run against a several GB sized ramdisk. xfs/013 primarily creates, links and removes inodes. Most of the space consumption occurs via the background fsstress workload. Remove the fsstress -w option that suppresses non-write operations. This slightly reduces the storage footprint while still providing a background workload for the test. Signed-off-by: Brian Foster --- Dave, I was able to squeeze an xfs/013 run into a 3GB ramdisk on my VM with this tweak. Let me know if this works for you. If not, we could probably start turning off some of the heavier allocating fsstress ops so long as the cost isn't too much. I'm measuring the effectiveness of this test via the fibt stats exported to /proc. Brian tests/xfs/013 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xfs/013 b/tests/xfs/013 index e95d027..d47bf53 100755 --- a/tests/xfs/013 +++ b/tests/xfs/013 @@ -121,7 +121,7 @@ _create $SCRATCH_MNT/dir1 $COUNT _cleaner $SCRATCH_MNT $LOOPS $MINDIRS & # start a background stress workload on the fs -$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -w -n 9999999 -p 2 -S t \ +$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -n 9999999 -p 2 -S t \ >> $seqres.full 2>&1 & # Each cycle clones the current directory and makes a random file replacement -- 1.8.3.1 From david@fromorbit.com Tue Jun 3 16:29:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 1B2D67F3F for ; Tue, 3 Jun 2014 16:29:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 844AFAC00D for ; Tue, 3 Jun 2014 14:28:59 -0700 (PDT) X-ASG-Debug-ID: 1401830929-04cbb050fb310380001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id sp3LqBLaum2zB9XC for ; Tue, 03 Jun 2014 14:28:50 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnoOAKY9jlN5LL1s/2dsb2JhbABZgwdSVYIeqCIDAQEBBpgcAYEOF3SCJQEBBAE6HCMFCwgDDgoJJQ8FJQMhE4g6Bw7RRBcWhT+HA4ExSQeEQASaCZM0g0orL4EC Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail07.adl2.internode.on.net with ESMTP; 04 Jun 2014 06:58:48 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrwG2-00021l-LE; Wed, 04 Jun 2014 07:28:34 +1000 Date: Wed, 4 Jun 2014 07:28:34 +1000 From: Dave Chinner To: Martin Papik Cc: Stefan Ring , Linux fs XFS Subject: Re: XFS filesystem claims to be mounted after a disconnect Message-ID: <20140603212834.GG14410@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect References: <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <538DA7FF.4080002@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538DA7FF.4080002@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401830930 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6355 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 03, 2014 at 01:48:31PM +0300, Martin Papik wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > On 06/03/2014 12:55 PM, Stefan Ring wrote: > > From skimming this thread, it seems that there is some hardware > > issue at work here, but nonetheless, I had a very similar situation > > a while ago that was rather puzzling to me at the time, having to > > do with mount namespaces: > > http://oss.sgi.com/pipermail/xfs/2012-August/020910.html > > > > Hardware issue or not, IMHO XFS has some issues. No issues, XFS just behaves differently to hot-unplug scenarios to ext4. the ext4 behaviour is actually problematic when it comes to data and filesystem security in error conditions and so it is not a model we shoul dbe following. To summarise, yanking the device out from behind XFS iis causin an EIO error to a critical metadata write and it is shutting down to prevent further error and/or corruption propagation. You have to unmount the XFS shutdown filesystem before you can access the filesystem and mount point again. The fact that ext4 is not failing when you yank the plug is a bad sign. That's actually a major potential for Bad Stuff because there's no guarantee that the device you plugged back in is the same device, yet ext4 appears to think it is just fine. What happens next is likely to be filesystem corruption and data loss. > $ cat /proc/mounts | grep media/T > --- no output --- > $ lsof | grep TEST > hexedit 24010 martin 3u unknown > /TEST...FILE (stat: Input/output error) Yup, EIO - the device is gone, filesystem shutdown. This is a correct reposnse to the conditions you have created. > hexedit 24011 martin 3u REG 259,6 > 4198400 12 /TEST...FILE > > After reconnecting the device ext4 mounts, xfs does not. Yup - XFS refuses to mount a filesystem with a duplicate UUID, preventing you from mounting the same filesystem from two different logical block device instances that point to the same physical disk. That's the only sane thing to do in enterprise storage systems that use multi-pathing to present failure-tolerant access to a physical device. > dmegs contains this (among other [unrelated] things): > > [3095915.107117] sd 60:0:0:0: [sdf] 976773167 512-byte logical blocks: > (500 GB/465 GiB) > [3095915.108343] sd 60:0:0:0: [sdf] Write Protect is off > [3095915.108360] sd 60:0:0:0: [sdf] Mode Sense: 1c 00 00 00 > [3095915.110633] sd 60:0:0:0: [sdf] Write cache: enabled, read cache: > enabled, doesn't support DPO or FUA > [3095915.207622] sdf: sdf69 sdf100 sdf101 sdf102 sdf103 sdf104 sdf105 > [3095915.210148] sd 60:0:0:0: [sdf] Attached SCSI disk > [3095917.969887] XFS (sdf100): Mounting Filesystem > [3095918.209464] XFS (sdf100): Starting recovery (logdev: internal) > [3095918.260450] XFS (sdf100): Ending recovery (logdev: internal) > [3096069.218797] XFS (sdf100): metadata I/O error: block 0xa02007 > ("xlog_iodone") error 19 numblks 64 #define ENODEV 19 /* No such device */ Yup, that's what happened to the filesystem - you unplugged the device and it: > [3096069.218808] XFS (sdf100): xfs_do_force_shutdown(0x2) called from > line 1115 of file > /build/buildd/linux-lts-raring-3.8.0/fs/xfs/xfs_log.c. Return address > = 0xffffffffa07f4fd1 > [3096069.218830] XFS (sdf100): Log I/O Error Detected. Shutting down > filesystem > [3096069.218833] XFS (sdf100): Please umount the filesystem and > rectify the problem(s) triggered a shutdown and told you what to do next. > [3096099.254131] XFS (sdf100): xfs_log_force: error 5 returned. > [3096129.289338] XFS (sdf100): xfs_log_force: error 5 returned. > [3096159.324525] XFS (sdf100): xfs_log_force: error 5 returned. > [3096185.296795] sd 61:0:0:0: [sdg] 976773167 512-byte logical blocks: > (500 GB/465 GiB) > [3096185.297431] sd 61:0:0:0: [sdg] Write Protect is off > [3096185.297447] sd 61:0:0:0: [sdg] Mode Sense: 1c 00 00 00 > [3096185.298022] sd 61:0:0:0: [sdg] Write cache: enabled, read cache: Then the device was hot-plugged and it came back as a different block device. > sdf100 (the old device) and sdg100 (the reconnected device) are > different, but XFS won't touch it. > > # xfs_repair /dev/sdg100 > xfs_repair: /dev/sdg100 contains a mounted filesystem > > fatal error -- couldn't initialize XFS library Yup, because the filesystem is still mounted at /mnt/TEST. XFS checks whether the filesystem on the block device is mounted, not whether the block device *instance* is mounted. Again, this is needed in redundant path storage setups because, for example, /dev/sdc and /dev/sdx might be the same physical disk and filesystem but have different paths to get them. > Also please do carefully note the difference between the lsof output > for the hung file descriptor for xfs and ext4. ext4 reports everything > the same as before, except for the mount path. xfs report changes, the > device ID is missing, the file changes from REG to unknown. Of course - it can't be queried because the filesystem has shut down and it returned an error. > So, AFAIK and IMHO this is an issue with XFS. The impact can be the > inability to recover from a device disconnect, since so far I don't > see a good way to figure out which processes are holding up the FS. > And besides, having to kill processes to mount a filesystem (xfs) is > not a happy state of affairs. I think you have incorrect expectations of how filesystems should handle device hot-unplug and a later replug. You're expecting a filesystem that is designed for robustness in data center environments and complex redundant path storage configurations to behave like a filesystem designed for your laptop. Hot-unplug is a potential data loss event. Silent data loss is the single worst evil a filesystem can perpetrate on a user because the user does not know they lost their important cat videos until they try to show them to their friends. Now, would you prefer to know you lost your cat videos straight away (XFS behaviour), or a few months later when you try to retreive them (ext4 behaviour)? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 3 16:38:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B247B7F3F for ; Tue, 3 Jun 2014 16:38:20 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2CFC2AC008 for ; Tue, 3 Jun 2014 14:38:19 -0700 (PDT) X-ASG-Debug-ID: 1401831497-04cbb050fa3112b0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id BTPvj3Apv9WH46oc for ; Tue, 03 Jun 2014 14:38:17 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmwOAAJAjlN5LL1s/2dsb2JhbABZgweDRagiAwEBAQaYHAGBDhd0giUBAQU6HCMQCAMYCSUPBSUDIROIQdFfFxaFP4gmVweEQASaCZM0g0orgTE Received: from ppp121-44-189-108.lns20.syd7.internode.on.net (HELO dastard) ([121.44.189.108]) by ipmail07.adl2.internode.on.net with ESMTP; 04 Jun 2014 07:08:15 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WrwPC-00026X-QW; Wed, 04 Jun 2014 07:38:02 +1000 Date: Wed, 4 Jun 2014 07:38:02 +1000 From: Dave Chinner To: Arnd Bergmann Cc: "H. Peter Anvin" , "Joseph S. Myers" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <20140603213802.GH14410@dastard> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <7175692.dpgYFMbTaP@wuerfel> <538CF346.2070504@zytor.com> <5011138.W0gbOc20Qp@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5011138.W0gbOc20Qp@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401831497 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6355 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 03, 2014 at 04:22:19PM +0200, Arnd Bergmann wrote: > On Monday 02 June 2014 14:57:26 H. Peter Anvin wrote: > > On 06/02/2014 12:55 PM, Arnd Bergmann wrote: > The possible uses I can see for non-ktime_t types in the kernel are: > * inodes need 96 bit timestamps to represent the full range of values > that can be stored in a file system, you made a convincing argument > for that. Almost everything else can fit into 64 bit on a 32-bit > kernel, in theory also on a 64-bit kernel if we want that. Just ot be pedantic, inodes don't *need* 96 bit timestamps - some filesystems can *support up to* 96 bit timestamps. If the kernel only supports 64 bit timestamps and that's all the kernel can represent, then the upper bits of the 96 bit on-disk inode timestamps simply remain zero. If you move the filesystem between kernels with different time ranges, then the filesystem needs to be able to tell the kernel what it's supported range is. This is where having the VFS limit the range of supported timestamps is important: the limit is the min(kernel range, filesystem range). This allows the filesystems to be indepenent of the kernel time representation, and the kernel to be independent of the physical filesystem time encoding.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From rientjes@google.com Tue Jun 3 16:43:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 40B5D7F3F for ; Tue, 3 Jun 2014 16:43:27 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B0B01AC008 for ; Tue, 3 Jun 2014 14:43:26 -0700 (PDT) X-ASG-Debug-ID: 1401831805-04cbb050fc311ab0001-NocioJ Received: from mail-ig0-f175.google.com (mail-ig0-f175.google.com [209.85.213.175]) by cuda.sgi.com with ESMTP id j4ykrExdXkzenkCD (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 14:43:25 -0700 (PDT) X-Barracuda-Envelope-From: rientjes@google.com X-Barracuda-Apparent-Source-IP: 209.85.213.175 X-Barracuda-IPDD: Level1 [google.com/209.85.213.175] Received: by mail-ig0-f175.google.com with SMTP id uq10so5522356igb.14 for ; Tue, 03 Jun 2014 14:43:24 -0700 (PDT) X-Barracuda-IPDD: Level1 [google.com/209.85.213.175] X-Barracuda-IPDD: Level1 [google.com/209.85.213.175] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version:content-type; bh=55XL2FyS/3CnWBbS19BbAcN0SP0TlWG96DuZ8t0FVzQ=; b=ZbKJmFRaiBNnZF3x5JoC2sX0uUVsxNdHNh7/RiKAkSGBQo21+3LKyduwM1QzhRBAHx D2qrOg0nH2ld0EZ9mM6xhMg8AJj9lGYATfVnURkRCTo9l+agHLWJQXkhaOYZVC8TgNZG 67d62+3Oc2m19HyrP5Wc9MwALc4IL6MSh3xDrU9q5fcMvo34+kJWkt7ubi1GUm3Om0xv kvmi3EH+S5KCU/W0QULcrkaCY9ehpdexWWzzYGRJbzzQ878C31ZZFCTgHFUTmrYFoGw5 Mm73Cc7963o7U/57rG/rA6HOVKZXj0WWDC5xwG1U0mpxe9buzxyHaSGd5vWcFojmpCRp sz0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; bh=55XL2FyS/3CnWBbS19BbAcN0SP0TlWG96DuZ8t0FVzQ=; b=FRNvSOMD8i3TBqOdq6eDbz3UsRW9l8/z5WNJEElJC3lh7cQaQt7+Z8YWtuMjN49mMm H4n8j5LyV6V7bf/Ia6C5V0tAPEjB/tMgEFFHe1TIeRtNO9bswUumq3H4BhSj8h1Px1pr mmDbRjNAIHvWodo8zu0WISv2Va1hURMSKc8PwhdVsYPHpVbvLmdwqb1aoDuBvfr6hx6V QiZnTuGaXaSNVUpxwiUv/TipyZcug66a8D1CtpAvH+/wSfg6+5XixLYR3JHoRhp3vbqq tOOwR4UIE7rjj0gQnVYnxXROv9o9ZL9a9SA32GDKDcQegY5c43zAIypT/AWH55T9VvkZ tmlw== X-Gm-Message-State: ALoCoQnkzObWs5RzoFULMJympmXIwREGPhDcVTIx1vjUC/x6T2MNoEv3ylw99gdw9KVmlbHRQRUt X-Received: by 10.42.98.145 with SMTP id s17mr13739804icn.73.1401831804880; Tue, 03 Jun 2014 14:43:24 -0700 (PDT) Received: from [2620:0:1008:1101:be30:5bff:fed8:5e64] ([2620:0:1008:1101:be30:5bff:fed8:5e64]) by mx.google.com with ESMTPSA id q5sm39846241igg.10.2014.06.03.14.43.23 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 03 Jun 2014 14:43:23 -0700 (PDT) Date: Tue, 3 Jun 2014 14:43:22 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Tetsuo Handa cc: Motohiro.Kosaki@us.fujitsu.com, david@fromorbit.com, riel@redhat.com, kosaki.motohiro@jp.fujitsu.com, fengguang.wu@intel.com, kamezawa.hiroyu@jp.fujitsu.com, akpm@linux-foundation.org, hch@infradead.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] mm/vmscan: Do not block forever atshrink_inactive_list(). In-Reply-To: <201405262045.CDG95893.HLFFOSFMQOVOJt@I-love.SAKURA.ne.jp> X-ASG-Orig-Subj: Re: [PATCH] mm/vmscan: Do not block forever atshrink_inactive_list(). Message-ID: References: <20140520004449.GE18954@dastard> <20140519225915.3370328d.akpm@linux-foundation.org> <20140520063024.GH18954@dastard> <201405202358.ADF10119.SMOFOQLFtOVHJF@I-love.SAKURA.ne.jp> <6B2BA408B38BA1478B473C31C3D2074E31D59D8673@SV-EXCHANGE1.Corp.FC.LOCAL> <201405262045.CDG95893.HLFFOSFMQOVOJt@I-love.SAKURA.ne.jp> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: mail-ig0-f175.google.com[209.85.213.175] X-Barracuda-Start-Time: 1401831805 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6355 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Mon, 26 May 2014, Tetsuo Handa wrote: > In shrink_inactive_list(), we do not insert delay at > > if (!sc->hibernation_mode && !current_is_kswapd()) > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > > if sc->hibernation_mode != 0. > Follow the same reason, we should not insert delay at > > while (unlikely(too_many_isolated(zone, file, sc))) { > congestion_wait(BLK_RW_ASYNC, HZ/10); > > /* We are about to die and free our memory. Return now. */ > if (fatal_signal_pending(current)) > return SWAP_CLUSTER_MAX; > } > > if sc->hibernation_mode != 0. > > Signed-off-by: Tetsuo Handa > --- > mm/vmscan.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 32c661d..89c42ca 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -1362,6 +1362,9 @@ static int too_many_isolated(struct zone *zone, int file, > if (current_is_kswapd()) > return 0; > > + if (sc->hibernation_mode) > + return 0; > + > if (!global_reclaim(sc)) > return 0; > This isn't the only too_many_isolated() functions that do a delay, how is the too_many_isolated() in mm/compaction.c different? From mp6058@gmail.com Tue Jun 3 17:37:26 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 2C3027F3F for ; Tue, 3 Jun 2014 17:37:26 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 200F6304067 for ; Tue, 3 Jun 2014 15:37:23 -0700 (PDT) X-ASG-Debug-ID: 1401835039-04cb6c100a1e4430001-NocioJ Received: from mail-we0-f173.google.com (mail-we0-f173.google.com [74.125.82.173]) by cuda.sgi.com with ESMTP id rgfZCUdtqlaPRy5l (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 15:37:20 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.173 Received: by mail-we0-f173.google.com with SMTP id u57so7561272wes.18 for ; Tue, 03 Jun 2014 15:37:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Z8XIyBRMg2kTJaQ0kIS2sOOtgCBMWkwX2XmdG6TBsQc=; b=xGJqaR2oKnTNPznFPCSggRf4Ohb6mlXmuAjUpbB46XiEa8GzihEzcCz2CqloJf+rok S5xw91j4XwjE/cJfYTx4knVeBfKJkjbkBagfZ8xgpUgLQiuYbS3NSFi/zED12DNETiX5 4L6iQcUuul24Z5hFEC9puKpbpeupdsWlsSL8zWPdnBqaV4zcTQ4qTrdr4t8PSpNEfdlD 3VZOcjhjFN25mQPNihaJEc5/LjxwK8AxGzEpECZilaxqSLJO+n6i4iQqa/rYPvMUXpXy YpXr7zK/nfELq/31TFti/2TYv24d3O6bVwNvfGv4WDUn9KIRnzR1AFP20L1EZJvnglCy IugA== X-Received: by 10.180.84.7 with SMTP id u7mr36290928wiy.31.1401835039524; Tue, 03 Jun 2014 15:37:19 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id rw4sm1119164wjb.44.2014.06.03.15.37.17 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 03 Jun 2014 15:37:18 -0700 (PDT) Message-ID: <538E4E1B.1020003@gmail.com> Date: Wed, 04 Jun 2014 01:37:15 +0300 From: Martin Papik User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Linux fs XFS Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140603212834.GG14410@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-we0-f173.google.com[74.125.82.173] X-Barracuda-Start-Time: 1401835040 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6356 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 I think you're trying too hard to defend XFS which may be causing you to miss my point. Or it could be my bad communication. When I yank and replug a device, I can only remount the device only if I kill certain processes. But this limitation exists only on the same box. I.e. it won't prevent me from mounting the same disk on a different machine, just the same one. So here are a few questions. (1) If the device vanished, why not just terminate the mount instance? After all it's not like the device comes back one day and the processes will be able to continue writing to the files. If you could do that it would be good, but you yourself said you can't. (2) Following the methods of the prior experiments I did this, connected the disk to PC1, hexedit file, yank disk, plug disk, at this point PC1 won't touch the disk, moved the disk to PC2, it automatically, silently (Mounting Filesystem ++ Ending clean mount) mounts the FS, then move the disk back and the disk still doesn't mount, claiming it's mounted, never mind that since then the FS was mounted somewhere else and for all intents and purposes it a completely different disk, to which (question 1) the potentially unwritten data will never be written back. I apologize, but I really don't see what XFS is protecting me from or how and I doubt its success rate. Can you please explain? (3) Isn't it possible that XFS just doesn't recognize that whatever error condition happened is permanent and the disk won't come back. Isn't XFS just forcing me to take a manual action by accident? Imagine, I have some files, just saved them, didn't call fsync, the data is still in some cache, the cable is yanked, and the data is lost. But in this case the XFS won't complain. Only if there's a process. Seems more like circumstance than design. Is it? Is this an actual intentional behavior. Designed, as opposed to just happening. Again, I apologize, but it really seems to me that this isn't right, that it's neither intentional nor correct. I mean, if it was intentional, why not prevent me from mounting the FS on PC2, it wasn't cleanly unmounted, there was a file open, clearly there was some rationale to stop the auto-mount. And if it didn't stop me from mounting on PC2, why does it stop me on PC1, if after all the unwritten data will never ever be written. > Yup - XFS refuses to mount a filesystem with a duplicate UUID, > preventing you from mounting the same filesystem from two > different logical block device instances that point to the same > physical disk. That's the only sane thing to do in enterprise > storage systems that use multi-pathing to present failure-tolerant > access to a physical device. Actually, IMHO it would also be sane to forget you ever saw a UUID after the last underlying physical device is gone and you're not going to be ever writing to this. Since if you're never touching the FS with UUID XYZ then it's not mounted enough to prevent use. IMHO. But yes, as long as you do have a functioning relationship with UUID XYZ through /dev/sda1, lock /dev/sdb1 if it has the same UUID. But not after you've lost all block devices. ........ Or attempting to put my understanding of the situation in humorous terms "the kernel is preventing access to /dev/sdg100 out of grief for the death of /dev/sdf100". Lame joke, yes, but think please, what is the actual benefit of me having to kill a process, after which I yank again, plug again, and the FS mounts silently. I really don't get this. How is this not a bug? Martin On 06/04/2014 12:28 AM, Dave Chinner wrote: > On Tue, Jun 03, 2014 at 01:48:31PM +0300, Martin Papik wrote: >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 >> >> On 06/03/2014 12:55 PM, Stefan Ring wrote: >>> From skimming this thread, it seems that there is some >>> hardware issue at work here, but nonetheless, I had a very >>> similar situation a while ago that was rather puzzling to me at >>> the time, having to do with mount namespaces: >>> http://oss.sgi.com/pipermail/xfs/2012-August/020910.html >>> >> >> Hardware issue or not, IMHO XFS has some issues. > > No issues, XFS just behaves differently to hot-unplug scenarios to > ext4. the ext4 behaviour is actually problematic when it comes to > data and filesystem security in error conditions and so it is not a > model we shoul dbe following. > > To summarise, yanking the device out from behind XFS iis causin an > EIO error to a critical metadata write and it is shutting down to > prevent further error and/or corruption propagation. You have to > unmount the XFS shutdown filesystem before you can access the > filesystem and mount point again. > > The fact that ext4 is not failing when you yank the plug is a bad > sign. That's actually a major potential for Bad Stuff because > there's no guarantee that the device you plugged back in is the > same device, yet ext4 appears to think it is just fine. What > happens next is likely to be filesystem corruption and data loss. > >> $ cat /proc/mounts | grep media/T --- no output --- $ lsof | grep >> TEST hexedit 24010 martin 3u unknown /TEST...FILE >> (stat: Input/output error) > > Yup, EIO - the device is gone, filesystem shutdown. This is a > correct reposnse to the conditions you have created. > >> hexedit 24011 martin 3u REG 259,6 >> 4198400 12 /TEST...FILE >> >> After reconnecting the device ext4 mounts, xfs does not. > > Yup - XFS refuses to mount a filesystem with a duplicate UUID, > preventing you from mounting the same filesystem from two > different logical block device instances that point to the same > physical disk. That's the only sane thing to do in enterprise > storage systems that use multi-pathing to present failure-tolerant > access to a physical device. > >> dmegs contains this (among other [unrelated] things): >> >> [3095915.107117] sd 60:0:0:0: [sdf] 976773167 512-byte logical >> blocks: (500 GB/465 GiB) [3095915.108343] sd 60:0:0:0: [sdf] >> Write Protect is off [3095915.108360] sd 60:0:0:0: [sdf] Mode >> Sense: 1c 00 00 00 [3095915.110633] sd 60:0:0:0: [sdf] Write >> cache: enabled, read cache: enabled, doesn't support DPO or FUA >> [3095915.207622] sdf: sdf69 sdf100 sdf101 sdf102 sdf103 sdf104 >> sdf105 [3095915.210148] sd 60:0:0:0: [sdf] Attached SCSI disk >> [3095917.969887] XFS (sdf100): Mounting Filesystem >> [3095918.209464] XFS (sdf100): Starting recovery (logdev: >> internal) [3095918.260450] XFS (sdf100): Ending recovery (logdev: >> internal) [3096069.218797] XFS (sdf100): metadata I/O error: >> block 0xa02007 ("xlog_iodone") error 19 numblks 64 > > #define ENODEV 19 /* No such device */ > > Yup, that's what happened to the filesystem - you unplugged the > device and it: > >> [3096069.218808] XFS (sdf100): xfs_do_force_shutdown(0x2) called >> from line 1115 of file >> /build/buildd/linux-lts-raring-3.8.0/fs/xfs/xfs_log.c. Return >> address = 0xffffffffa07f4fd1 [3096069.218830] XFS (sdf100): Log >> I/O Error Detected. Shutting down filesystem [3096069.218833] >> XFS (sdf100): Please umount the filesystem and rectify the >> problem(s) > > triggered a shutdown and told you what to do next. > >> [3096099.254131] XFS (sdf100): xfs_log_force: error 5 returned. >> [3096129.289338] XFS (sdf100): xfs_log_force: error 5 returned. >> [3096159.324525] XFS (sdf100): xfs_log_force: error 5 returned. >> [3096185.296795] sd 61:0:0:0: [sdg] 976773167 512-byte logical >> blocks: (500 GB/465 GiB) [3096185.297431] sd 61:0:0:0: [sdg] >> Write Protect is off [3096185.297447] sd 61:0:0:0: [sdg] Mode >> Sense: 1c 00 00 00 [3096185.298022] sd 61:0:0:0: [sdg] Write >> cache: enabled, read cache: > > Then the device was hot-plugged and it came back as a different > block device. > >> sdf100 (the old device) and sdg100 (the reconnected device) are >> different, but XFS won't touch it. >> >> # xfs_repair /dev/sdg100 xfs_repair: /dev/sdg100 contains a >> mounted filesystem >> >> fatal error -- couldn't initialize XFS library > > Yup, because the filesystem is still mounted at /mnt/TEST. XFS > checks whether the filesystem on the block device is mounted, not > whether the block device *instance* is mounted. Again, this is > needed in redundant path storage setups because, for example, > /dev/sdc and /dev/sdx might be the same physical disk and > filesystem but have different paths to get them. > >> Also please do carefully note the difference between the lsof >> output for the hung file descriptor for xfs and ext4. ext4 >> reports everything the same as before, except for the mount path. >> xfs report changes, the device ID is missing, the file changes >> from REG to unknown. > > Of course - it can't be queried because the filesystem has shut > down and it returned an error. > >> So, AFAIK and IMHO this is an issue with XFS. The impact can be >> the inability to recover from a device disconnect, since so far I >> don't see a good way to figure out which processes are holding up >> the FS. And besides, having to kill processes to mount a >> filesystem (xfs) is not a happy state of affairs. > > I think you have incorrect expectations of how filesystems should > handle device hot-unplug and a later replug. You're expecting a > filesystem that is designed for robustness in data center > environments and complex redundant path storage configurations to > behave like a filesystem designed for your laptop. > > Hot-unplug is a potential data loss event. Silent data loss is the > single worst evil a filesystem can perpetrate on a user because > the user does not know they lost their important cat videos until > they try to show them to their friends. Now, would you prefer to > know you lost your cat videos straight away (XFS behaviour), or a > few months later when you try to retreive them (ext4 behaviour)? > > Cheers, > > Dave. > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTjk4IAAoJELsEaSRwbVYrOyQQAIkEibi8/SNJkKpghkXEb8ZZ Ek+DO6xSeKg6glzXsZppQuKGPVytqJ0/J8X8+I98khnrI0+U07vzjHB/L7PFyZ/m afdrnROcxtJxgXF/td/a1+lZjx3JXZnXxidEkDIpJmb9EpjLErgHDyPqbBmVTcja o6FVAYG57av1LeTm07jL7T75f7Egb1i/LYMH44g/KKUYjo+b3Hr7LckkG58PGZZj a3bAeEnfnQnXCBSRJP6zsESiB3OZmfTCbN3m2BGLRMdfBYC4tp+duouWLn5raCWn cWjVfY9XzbfAR7ls2oKAN29Yfvz9mBecTwiL7F9cDRxpCtvfQXYBcyexkuK6w8Dn +FnsVP4DcrbxlMf7nf9c3kAxL0epis6WKKc+d2aiZZvwyZcqNGXx02Sm5/cB8Qqk 4Vrwe8/Ja2BcJFEK9WaT8DOLn91pIyVcUubH5yWVm830w/aYOWR+B7ZgUyH4HAee /DZrnMyzivE+hwEdFBuYnLxGypWhC/m+Zc3HpYOiycsn6t5lXXThmyfK/uzK5Vn1 qUirSp0IfBiCJaqvQGL/SyGAyWRUHHIj7Z/ZQb3WJblobN9gPYX9vRdno3TaIJas fQNMePWdpxxExFnj2mEWTFcanFwaIPQNmWxbPebiSn++KEdk1VPhtShrBD3ei5dO D895KEfSbfhA5ZIayc3x =M2a5 -----END PGP SIGNATURE----- From mp6058@gmail.com Tue Jun 3 17:59:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 89FEA7F47 for ; Tue, 3 Jun 2014 17:59:00 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2021EAC004 for ; Tue, 3 Jun 2014 15:59:00 -0700 (PDT) X-ASG-Debug-ID: 1401836337-04cb6c10061e7f60001-NocioJ Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by cuda.sgi.com with ESMTP id I2V8XoOXF55vR8Se (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 15:58:58 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.48 Received: by mail-wg0-f48.google.com with SMTP id k14so7572408wgh.7 for ; Tue, 03 Jun 2014 15:58:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=b9B2RBAHo5kyXW5hTbHwIhpyQjFBIFOnkG6kqEAdpRk=; b=QamnKDtdLgUpr3PBthxSo1ItZY9QnqULV8ZXLyFmtApiNz3gEA8Uhx3Q0MI1//pwCj 4zWXd6BOj1g5nDk7uq8Wdewy/t9Y6HLCE4BA/qz9uLFryjp4SgKkr4w4H34Abl9GGauY epbSpbONnXTUvIQ67Wmnr5TE7e9bMt+Z2n22VB5rXO7NaQxhZlCXpsSVMyrrBvDVpfUI hh0GDzj2tRNTbdr8XrZkTy8ApsP4YQkrEUSRl8986bC3XcWlsZFwNJ1XK8OEEIrRTtXS Cr6iMVrGBeSoHCxTenVCOO6j1N+DhmkAkCOq0gud8VGHQ7anOcyqHJfU8oiTW0bn4o5m XK+A== X-Received: by 10.180.98.163 with SMTP id ej3mr37066441wib.9.1401836337125; Tue, 03 Jun 2014 15:58:57 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id ht5sm1173167wjb.49.2014.06.03.15.58.55 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 03 Jun 2014 15:58:56 -0700 (PDT) Message-ID: <538E532E.7050008@gmail.com> Date: Wed, 04 Jun 2014 01:58:54 +0300 From: Martin Papik User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Linux fs XFS Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <5363E65C.6010006@sandeen.net> <5363ECE8.6030706@gmail.com> <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140603212834.GG14410@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wg0-f48.google.com[74.125.82.48] X-Barracuda-Start-Time: 1401836337 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6357 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 >> [3096069.218830] XFS (sdf100): Log I/O Error Detected. Shutting >> down filesystem [3096069.218833] XFS (sdf100): Please umount the >> filesystem and rectify the problem(s) > > triggered a shutdown and told you what to do next. Okay, here I'll pick nits. I hope you're not sick of me yet. 1) I would LOVE to unmount the FS, but how? umount /dev/xxx ... device no longer there. umount /media/xxx ... mount point no longer there. 2) I can't rectify the problems exactly because the FS is mounted (according to xfs_repair [ustat]), yet not mounted (according to /proc/mounts). .... unless rectifying the problem means reporting this as a bug. :-) 3) "Shutting down filesystem" ... isn't this when the new device should no longer be detected as mounted? 4) come to think of it, if XFS is shutting down, why isn't it unmounting itself? Anyway, sorry if I'm being annoying, but I'm really really convinced this is wrong. :-) Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTjlMuAAoJELsEaSRwbVYrzOAP/36uqrKeKBlAss8ILg9cwdtI cXxGG7kAPCI2r+jTNCmHnMsJW4ujptVB3jllIlNPiF+oglZHEFf2bhfoYL8D5q+0 oxHiaOuvU590hBfELf+yPHNxkTPpUirhF5VymwqD+ZvV/TEjuw/VvGZ8pAU4bZHv v4vfDX2ExCHqK3d5j7D5u5YF4wD754yTq+5Qz5L944JKubXCK2uo0xt7i3QluIMJ dcEHPw1LXIKjjmsTZ2BaCSUwtfLGnQhGp2mHQY2Oe8KeRx8Jog7reNjazcFqI5hn Ap6Q9ugSbtSn200e4P2pBbQOEsaHgfA9HzAQYZ6rhQk/Wrjr2I34uVxySNDn0RQk EbjBFV04DjoiLPfff/tWvHtUNR3yZ3X0ssV5kLbfub4nPk0dMApaDI/pB8j//+Qu 4CHZgtodi//9hOFaBX9h/3vJl5aD6XddUVznZGP+0W/W2Gifev5xr+jSiUK00xk6 xLGelmUdtkq5IlFNizXZU/QcTzLW2gcB2oyW0NpoMBqEhsGCFG6IE85H/POtV7Io otgBiWxBgxYEzGm73krja3yQlflKfuPK+SKJZue/liK5eNuIt8FRFmMH8jK/dGTc 6BMZ66Mnt2Pn7UkewLFmH0XtAPcMO7lyCEBBN0iG0s3f7Vg1T7b0tamNcaThkPt/ 476Ebh9LGukDmcNXeyXo =C9nD -----END PGP SIGNATURE----- From namjae.jeon@samsung.com Tue Jun 3 23:57:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1CDA07F3F for ; Tue, 3 Jun 2014 23:57:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id DC47E8F8074 for ; Tue, 3 Jun 2014 21:57:41 -0700 (PDT) X-ASG-Debug-ID: 1401857858-04cbb050fd332e60001-NocioJ Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by cuda.sgi.com with ESMTP id S65XdZCIH2fxdB1V (version=TLSv1 cipher=RC4-MD5 bits=128 verify=NO) for ; Tue, 03 Jun 2014 21:57:40 -0700 (PDT) X-Barracuda-Envelope-From: namjae.jeon@samsung.com X-Barracuda-Apparent-Source-IP: 203.254.224.24 X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N6M00BYQOG1CAD0@mailout1.samsung.com> for xfs@oss.sgi.com; Wed, 04 Jun 2014 13:57:37 +0900 (KST) X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] X-Barracuda-IPDD: Level2 [samsung.com/203.254.224.24] Received: from epcpsbgm2.samsung.com ( [172.20.52.114]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id 8E.17.14704.147AE835; Wed, 04 Jun 2014 13:57:37 +0900 (KST) X-AuditID: cbfee68f-b7fef6d000003970-27-538ea741a452 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id C2.DF.07139.147AE835; Wed, 04 Jun 2014 13:57:37 +0900 (KST) Received: from DONAMJAEJEO06 ([10.88.104.63]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N6M006RROG1LB50@mmp1.samsung.com>; Wed, 04 Jun 2014 13:57:37 +0900 (KST) From: Namjae Jeon To: 'Theodore Ts'o' , 'Dave Chinner' Cc: 'linux-ext4' , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, 'Ashish Sangwan' , =?UTF-8?Q?'Luk=C3=A1=C5=A1_Czerner'?= References: <003601cf6aa7$883103b0$98930b10$@samsung.com> <000d01cf7ca3$98335c50$c89a14f0$@samsung.com> <002201cf7e59$2e684c10$8b38e430$@samsung.com> <20140602150258.GG30598@thunk.org> In-reply-to: <20140602150258.GG30598@thunk.org> Subject: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Date: Wed, 04 Jun 2014 13:57:37 +0900 X-ASG-Orig-Subj: RE: [PATCH v2 0/10] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate Message-id: <000e01cf7fb1$814ab6d0$83e02470$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: quoted-printable X-Mailer: Microsoft Outlook 14.0 Thread-index: AQOcBKJD5lk5ojpc7FDcCMzPaSWP+QCjXdQQAXmE8b8CRXdbEAIX9EgtAn5X6noBZB3wwJd0cicA Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFIsWRmVeSWpSXmKPExsWyRsSkSNdxeV+wwdsjshZLJ15itthy7B6j xbIHm1ksZs67w2axZ+9JFovLu+awWbT2/GS3WNR3i9GBw+PUIgmPpjNHmT1WX9jK6PF+31U2 j74tqxg9Pm+SC2CL4rJJSc3JLEst0rdL4MrY9eIaU8FSwYqnx3kaGE/ydjFyckgImEjs/DWH CcIWk7hwbz1bFyMXh5DAUkaJ732fgRIcYEWvF6lCxBcxSny49B+q6C+jxPGZ71hBitgEtCX+ bBEFGSQi4CnR9PIVO0gNs8ALRokpr66xQzR8ZZI4tPgRK0gVp4C+xMaPe8GahQX8JXas8wMJ swioSly6080MYvMKWEqs/dzBCGELSvyYfI8FxGYWUJeYNG8RM4StLfHk3QVWiA8UJHacfc0I cUSMxMxDh5kgakQk9r14xwhyg4TAX3aJaRP6mCCWCUh8m3yIBeJLWYlNB5gh5khKHFxxg2UC o8QsJKtnIVk9C8nqWUhWLGBkWcUomlqQXFCclF5krFecmFtcmpeul5yfu4kRGM+n/z3r38F4 94D1IcZkoPUTmaVEk/OB6SCvJN7Q2MzIwtTE1NjI3NKMNGElcd77D5OChATSE0tSs1NTC1KL 4otKc1KLDzEycXBKNTBOC/qgvMXFQ+6u+lZbXybXlbs+FezNv2ESrbT2kZNFyOK5e+4kS6Y9 ijyzU77Pt4PPr3Oqrbr+2nnPVXzemXA7tPibGpx/r8PjfKXNu1WY4/ExqzTmuonKOo+410dm y+uqPfcOqY7c8n2OvM8T7ziZyts3ZdT3Rai/8DJ/KadgEhK4LNjgnxJLcUaioRZzUXEiAA9H N6P9AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOKsWRmVeSWpSXmKPExsVy+t9jAV3H5X3BBu8bRC2WTrzEbLHl2D1G i2UPNrNYzJx3h81iz96TLBaXd81hs2jt+clusajvFqMDh8epRRIeTWeOMnusvrCV0eP9vqts Hn1bVjF6fN4kF8AW1cBok5GamJJapJCal5yfkpmXbqvkHRzvHG9qZmCoa2hpYa6kkJeYm2qr 5OIToOuWmQN0kJJCWWJOKVAoILG4WEnfDtOE0BA3XQuYxghd35AguB4jAzSQsIYxY9eLa0wF SwUrnh7naWA8ydvFyMEhIWAi8XqRahcjJ5ApJnHh3nq2LkYuDiGBRYwSHy79h3L+Mkocn/mO FaSBTUBb4s8WUZAGEQFPiaaXr9hBapgFXjBKTHl1jR2i4SuTxKHFj1hBqjgF9CU2ftwL1iws 4C+xY50fSJhFQFXi0p1uZhCbV8BSYu3nDkYIW1Dix+R7LCA2s4C6xKR5i5ghbG2JJ+8usEJc qiCx4+xrRogjYiRmHjrMBFEjIrHvxTvGCYxCs5CMmoVk1Cwko2YhaVnAyLKKUTS1ILmgOCk9 10ivODG3uDQvXS85P3cTIzhZPJPewbiqweIQowAHoxIP74SbvcFCrIllxZW5hxglOJiVRHj1 FvQFC/GmJFZWpRblxxeV5qQWH2JMBvp0IrOUaHI+MJHllcQbGpuYGVkamRtaGBmbkyasJM57 sNU6UEggPbEkNTs1tSC1CGYLEwenVAOjv5dXVm9K6tzXuY7XJ9xhuVgV+XO3WOWHybYCrBFS 9ZNNj4mI9QQt2fN7BoeqxANNZXYL0XfMfyS897JuEBA9dWqzYusj+YhDQSs9GhXq1z6vzQo6 fnfmZmmLQ39PmDz4c2EHX8CsuFWPP15c+MwrMf7m/+sfC21nzgyseW3F8Lqvu2nuYfHVSizF GYmGWsxFxYkAS0b23FoDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Barracuda-Connect: mailout1.samsung.com[203.254.224.24] X-Barracuda-Start-Time: 1401857859 X-Barracuda-Encrypted: RC4-MD5 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 > On Mon, Jun 02, 2014 at 03:06:13PM +0200, Luk=C3=A1=C5=A1 Czerner = wrote: > > > > So what will happen when there is not enough space when = "inserting a > > > > range" ? And how should user proceed from there ? > > > If insert range fails with an ENOSPC error, user could use = collapse > > > range on the same range to remove the hole. > > > And after freeing more space, he can again try inserting range. > > > Ofcourse, this type of guidance should be properly documented in > > > manpage. When updating fallocate(2) manpage, I will keep in mind = to > > > describe ENOSPC handling. > > > > Why collapse ? The hole is already there right ? Why not just use > > fallocate to allocate the space for the hole. And that's my point > > actually. Why not do it this way in the first place, because this is > > really counterintuitive. >=20 > It's worse than that. It's possible that the reason why you got the > ENOSPC warning was because the operation to move the extents down > required allocating a block, and it was *that* block allocation which > failed. So it's not deterministic whether or not the file's extent > mappings were modified after a ENOSPC error, and so it's not clear > whether or not a collapse_range function will undo the range that had > been inserted --- or whether it ends up deleting existing data blocks. >=20 > In generally, you really want system calls to have all-or-nothing > effects, where if the system call returns an error, the state of the > file has not been changed. And for that reason, I agree with = Luk=C3=A1=C5=A1 > that it is really a good idea to decouple moving the blocks down, and > allocating space --- and to make sure that if there is any failure > while inserting the range, the state of the file is not modified at = all. Okay, I will remove allocating space part in insert range patch. But renaming flags as FALLOC_FL_INSERT_HOLE is needed to concent with XFS people. Because Dave prefered to call it FALLOC_FL_INSERT_RANGE so that it looks like it is related to collapse range. Hi Dave. Do you have any objection about renaming as insert hole ? Thanks for opinions! >=20 > Cheers, >=20 > - Ted From ybru@biz-offer4.ru Wed Jun 4 01:22:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 25D947F47 for ; Wed, 4 Jun 2014 01:22:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B871E8F8033 for ; Tue, 3 Jun 2014 23:22:27 -0700 (PDT) X-ASG-Debug-ID: 1401862940-04bdf059a155fed0001-NocioJ Received: from biz-offer4.ru (biz-offer4.ru [37.9.53.181]) by cuda.sgi.com with SMTP id lvhC9n3GvQJ0MnRB for ; Tue, 03 Jun 2014 23:22:21 -0700 (PDT) X-Barracuda-Envelope-From: ybru@biz-offer4.ru X-Barracuda-Apparent-Source-IP: 37.9.53.181 Message-ID: <18840105786D439095E2A01F096BF849@cslta> From: =?windows-1251?B?z/Du5OLo5uXt6OU=?= To: Subject: =?windows-1251?B?0ODx8fvr6ugg5Ov/IMLg+OXj7iDz8e/l+O3u?= =?windows-1251?B?4+4g4ejn7eXx4CE=?= Date: Wed, 4 Jun 2014 10:22:16 +0400 X-ASG-Orig-Subj: =?windows-1251?B?0ODx8fvr6ugg5Ov/IMLg+OXj7iDz8e/l+O3u?= =?windows-1251?B?4+4g4ejn7eXx4CE=?= MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_043E_01CF7FDE.DBDC7840" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Windows Mail 6.0.6001.18416 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18645 X-Barracuda-Connect: biz-offer4.ru[37.9.53.181] X-Barracuda-Start-Time: 1401862940 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_TG035a, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6365 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 BSF_SC0_TG035a Message contains invalid style definition This is a multi-part message in MIME format. ------=_NextPart_000_043E_01CF7FDE.DBDC7840 Content-Type: text/plain; charset="windows-1251" Content-Transfer-Encoding: quoted-printable =C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5! =C2=FB =E7=E0=ED=E8=EC=E0=E5=F2=E5=F1= =FC =E1=E8=E7=ED=E5=F1=EE=EC =E8 =E2=E0=F8=E5=E9 =EA=EE=EC=EF=E0=ED=E8=E8= =E8/=E8=EB=E8 =EB=FE=E1=EE=EC=F3 =E4=F0=F3=E3=EE=EC=F3 =E2=E0=F8=E5=EC=F3 =EF=F0=EE=E5=EA= =F2=F3 =ED=F3=E6=ED=E0 =F0=E5=EA=EB=E0=EC=E0 =EF=EE =E1=E8=E7=ED=E5=F1=E0= =EA=F2=E8=E2=ED=FB=EC, =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=EC =EB=FE=E4=FF=EC =E8 =EA=EE=EC=EF=E0=ED=E8=FF=EC? =CF=F0=E5=E4=EB=E0=E3=E0=E5=EC email-=F0=E0=F1=F1=FB=EB=EA=E8! =C2 =ED=E0=EB=E8=F7=E8=E8 =E1=E0=E7=FB =CC=EE=F1=EA=E2=FB(12.5=EC=EB=ED.= =E0=E4=F0=E5=F1=EE=E2) =E8 =F0=E5=E3=E8=EE=ED=EE=E2 =D0=EE=F1=F1=E8=E8(1= 7=EC=EB=ED.). =CC=E8=ED=E8=EC=E0=EB=FC=ED=FB=E9 =EE=E1=FA=E5=EC =E7=E0=EA=E0=E7=E0(2.5= =EC=EB=ED.)- 4000=F0=F3=E1=EB=E5=E9 =E7=E0 =F0=E0=F1=F1=FB=EB=EA=F3. =C2=F1=FF =CC=EE=F1=EA=E2=E0(12.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)- 1500= 0=F0=F3=E1=EB=E5=E9. =C2=F1=FF =D0=EE=F1=F1=E8=FF(29.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)- 2500= 0=F0=F3=E1=EB=E5=E9. =20 =C1=E0=E7=FB =F1=EE=E4=E5=F0=E6=E0=F2 =E0=E4=F0=E5=F1=E0 =E1=E8=E7=ED=E5= =F1-=E0=EA=F2=E8=E2=ED=FB=F5 =E8 =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED= =FB=F5 =EB=FE=E4=E5=E9-=20 =F2=E5=F5, =EA=EE=EC=F3 =E1=F3=E4=F3=F2 =E8=ED=F2=E5=F0=E5=F1=ED=FB =E2=E0= =F8=E8 =E1=E8=E7=ED=E5=F1-=EF=F0=E5=E4=EB=EE=E6=E5=ED=E8=FF. =CF=EE=F1=F2=EE=FF=ED=ED=FB=EC =E8 =EA=F0=F3=EF=ED=FB=EC =E7=E0=EA=E0=E7= =F7=E8=EA=E0=EC- =E1=EE=EB=FC=F8=E8=E5 =F1=EA=E8=E4=EA=E8! =D2=E0=EA=E6=E5 =E4=E5=E9=F1=F2=E2=F3=E5=F2 =E0=EA=F6=E8=FF- =EF=F0=E8 =E7= =E0=EA=E0=E7=E5 =EE=E4=ED=EE=E2=F0=E5=EC=E5=ED=ED=EE 2=F5 =E1=E0=E7- 3=FE =F0=E0=F1=F1=FB=EB=E0=E5=EC =C1=CE=CD=D3=D1=CE=CC! =C7=E0=EA=E0=E7 =F0=E5=EA=EB=E0=EC=FB: +7(926)1888-017 MAIL: Mosrek1 "=F1=EE=E1=E0=EA=E0" yahoo.com (=CF=E8=F8=E8=F2=E5 =D2=CE= =CB=DC=CA=CE =ED=E0 =FD=F2=EE=F2 =E0=E4=F0=E5=F1, =E0 =ED=E5 =E2 =EE=F2=E2= =E5=F2 =ED=E0 =EF=E8=F1=FC=EC=EE!) ------=_NextPart_000_043E_01CF7FDE.DBDC7840 Content-Type: text/html; charset="windows-1251" Content-Transfer-Encoding: quoted-printable
=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5= ! =C2=FB =E7=E0=ED=E8=EC=E0=E5=F2=E5=F1=FC =E1=E8=E7=ED=E5=F1=EE=EC =E8 =E2= =E0=F8=E5=E9=20 =EA=EE=EC=EF=E0=ED=E8=E8 =E8/=E8=EB=E8
=EB=FE=E1=EE=EC=F3 =E4=F0=F3=E3=EE=EC= =F3 =E2=E0=F8=E5=EC=F3 =EF=F0=EE=E5=EA=F2=F3 =ED=F3=E6=ED=E0=20 =F0=E5=EA=EB=E0=EC=E0 =EF=EE =E1=E8=E7=ED=E5=F1=E0=EA=F2=E8=E2=ED=FB= =EC, =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=EC
=EB=FE=E4=FF=EC =E8 =EA=EE=EC=EF=E0=ED= =E8=FF=EC?
 =CF=F0=E5=E4=EB=E0=E3=E0= =E5=EC=20 email-=F0=E0=F1=F1=FB=EB=EA=E8!
 
 =C2 =ED=E0=EB=E8=F7=E8=E8 =E1=E0= =E7=FB =CC=EE=F1=EA=E2=FB(12.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2) =E8=20 =F0=E5=E3=E8=EE=ED=EE=E2 =D0=EE=F1=F1=E8=E8(17=EC=EB=ED.).
 =CC=E8= =ED=E8=EC=E0=EB=FC=ED=FB=E9 =EE=E1=FA=E5=EC =E7=E0=EA=E0=E7=E0(2.5=EC=EB=ED= .)- 4000=F0=F3=E1=EB=E5=E9=20 =E7=E0 =F0=E0=F1=F1=FB=EB=EA=F3.
 =C2=F1=FF =CC=EE=F1=EA=E2=E0(1= 2.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)-=20 15000=F0=F3=E1=EB=E5=E9.
 =C2=F1=FF =D0=EE=F1=F1=E8=FF(2= 9.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)-=20 25000=F0=F3=E1=EB=E5=E9.
 
 =C1=E0=E7=FB =F1=EE=E4=E5=F0=E6= =E0=F2 =E0=E4=F0=E5=F1=E0 =E1=E8=E7=ED=E5=F1-=E0=EA=F2=E8=E2=ED=FB=F5= =20 =E8 =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=F5 =EB=FE=E4=E5=E9-
 =F2=E5=F5, =EA=EE=EC=F3=20 =E1=F3=E4=F3=F2 =E8=ED=F2=E5=F0=E5=F1=ED=FB =E2=E0=F8=E8 =E1=E8=E7=ED=E5=F1= -=EF=F0=E5=E4=EB=EE=E6=E5=ED=E8=FF.
 =CF=EE=F1=F2=EE=FF=ED=ED=FB=EC= =E8 =EA=F0=F3=EF=ED=FB=EC=20 =E7=E0=EA=E0=E7=F7=E8=EA=E0=EC- =E1=EE=EB=FC=F8=E8=E5 =F1=EA=E8=E4=EA=E8!=
 =D2=E0=EA=E6=E5 =E4=E5=E9=F1=F2=E2=F3=E5=F2 =E0=EA=F6=E8=FF- =EF= =F0=E8 =E7=E0=EA=E0=E7=E5=20 =EE=E4=ED=EE=E2=F0=E5=EC=E5=ED=ED=EE 2=F5 =E1=E0=E7-
 3=FE =F0=E0= =F1=F1=FB=EB=E0=E5=EC =C1=CE=CD=D3=D1=CE=CC!
 
   =C7=E0=EA=E0=E7 =F0=E5=EA= =EB=E0=EC=FB:=20 +7(926)1888-017
   MAIL: Mosrek1 "=F1=EE=E1= =E0=EA=E0"=20 yahoo.com
(=CF=E8=F8=E8=F2=E5 =D2=CE=CB=DC=CA=CE= =ED=E0 =FD=F2=EE=F2 =E0=E4=F0=E5=F1, =E0 =ED=E5 =E2 =EE=F2=E2=E5=F2 =ED=E0= =20 =EF=E8=F1=FC=EC=EE!)
------=_NextPart_000_043E_01CF7FDE.DBDC7840-- From androidpos13@gmail.com Wed Jun 4 01:38:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_IMAGE_RATIO_06,HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C04D87F50 for ; Wed, 4 Jun 2014 01:38:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id DBAE1AC003 for ; Tue, 3 Jun 2014 23:38:00 -0700 (PDT) X-ASG-Debug-ID: 1401863875-04cb6c100620a820001-NocioJ Received: from mail-ob0-f194.google.com (mail-ob0-f194.google.com [209.85.214.194]) by cuda.sgi.com with ESMTP id 7qgjsrxpjjuRiEau (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 03 Jun 2014 23:37:56 -0700 (PDT) X-Barracuda-Envelope-From: androidpos13@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.194 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.194] Received: by mail-ob0-f194.google.com with SMTP id va2so2100210obc.9 for ; Tue, 03 Jun 2014 23:37:55 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.194] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.194] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=NXsd99oHlUgtwqfIvaruudmkDMj/M5vFpiP64+5VEAE=; b=wH2geJuSStOJLQ+kXp3yCallaQnR5u3jlGdPPJtv4eaDyRRn4joBGVumbZ7M+z5taA QjZaCW8zkF0cyn54jX5c8W/O1MJeUU8MqMZc2a4KxN58K2LgPDMAVdw75B5/0RSuHRdD yP2BtRuDXAuBFXWaGljBuMIa/mpLTWID4qGtSRKQGlpmzdckOsBrj9r5EaV8TvE8KrBM l5GLvsY3Pznf65wKumlqzlS4H93XJ4r9zoTO9zBAWjzWRYX/7P37vSgkBZsouX9nDCpF K1ncT+ACeAViazOdkdV5ooXutaOz87fgWOB0rpWMFmBM6YIZ4klhnT7Qoh3jEzqYH8r6 Fkgg== MIME-Version: 1.0 X-Received: by 10.182.60.4 with SMTP id d4mr54447217obr.4.1401863874816; Tue, 03 Jun 2014 23:37:54 -0700 (PDT) Received: by 10.76.113.170 with HTTP; Tue, 3 Jun 2014 23:37:54 -0700 (PDT) Date: Wed, 4 Jun 2014 12:07:54 +0530 Message-ID: Subject: Android Invoice/Billing/POS app for Phone/Tablets From: ANDROID POS X-ASG-Orig-Subj: Android Invoice/Billing/POS app for Phone/Tablets To: Rajashekhar M B Content-Type: multipart/related; boundary=089e0158ac8648833704fafcde38 X-Barracuda-Connect: mail-ob0-f194.google.com[209.85.214.194] X-Barracuda-Start-Time: 1401863875 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.50 X-Barracuda-Spam-Status: No, SCORE=0.50 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0224, DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_RATIO_06, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6365 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_IMAGE_RATIO_06 BODY: HTML has a low ratio of text to image area 0.00 HTML_MESSAGE BODY: HTML included in message 0.50 BSF_SC0_MV0224 FULL: Custom rule MV0224 --089e0158ac8648833704fafcde38 Content-Type: multipart/alternative; boundary=089e0158ac8648832f04fafcde37 --089e0158ac8648832f04fafcde37 Content-Type: text/plain; charset=UTF-8 Dear User, Greetings for the day !!! *Tycoon SMB* (Small & Medium Business) is a comprehensive *INVOICE / RETAIL BILLING / POS *application incorporating "*Best in Trade*" practices specially for Individual run businesses, service producers, utility shops,corner shops, moving shops, line salesman, route sales, hawker etc. [image: Inline image 1] App will handle your billing/invoicing, customer ,out standing credit & receivables & dynamic stock management. Multiple bill printing options allows you to print invoices on most network enabled printers, selected blue tooth printers or mail a *PDF* or just send an *SMS *invoice. Multiple report options Sales, Cash Receipts, Expenses, Stock, Profits, Tax reports, Expenses, Withdrawals , Day End Reports allows you to control & mange your business in a professional manner. We have the paid/full/unlimited version at Google Pay as "*Tycoon SMB Pro*" available for you at price of just *20$ !!!*. *Downloads :* *Paid :* https://play.google.com/store/apps/details?id=com.tycoon.ui.pos OR search for "*Tycoon SMB Pro*" on your play store . *Free :* https://play.google.com/store/apps/details?id=com.tycoon.ui.sangrahana.standalone OR search for "*Tycoon SMB*" on your play store . Kindly ignore the message, if it is not interests you. --------- Thanks & Regards *Tycoon SMB Team* *Phone*:+91 9035000033 *Email:* support@tycoontech.com *Facebook*: www.facebook.com/TycoonPos --089e0158ac8648832f04fafcde37 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Dear User,
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
<= div class=3D"gmail_quote">
=

Greetings for the day !!!

Tycoon SMB=C2=A0(Small & Medium Business) is a com= prehensive=C2=A0INVOICE / RETAIL BILLING / POS=C2=A0application inco= rporating "Best in Trade" practices specially for Individu= al run businesses, service producers, utility shops,corner shops, moving sh= ops, line salesman, route sales, hawker etc.

3D"Inline

App will handle your billing/invoicing, customer ,out sta= nding credit & receivables & dynamic stock management.

Multiple bill printing options allows you to print invoic= es on most network enabled printers, selected blue tooth printers or mail a= =C2=A0PDF=C2=A0or just send an=C2=A0SMS=C2=A0invoice.<= /div>
Multiple report options Sales, Cash R= eceipts, Expenses, Stock, Profits, Tax reports, Expenses, Withdrawals , Day= End Reports allows you to control & mange your business in a professio= nal manner.=C2=A0

We have t= he paid/full/unlimited version at Google Pay =C2=A0as "Tycoon SMB P= ro" available for you at price of just 20$ !!!.=C2=A0
=

Downloads :

Paid :=C2= =A0https://play.google.com/store/apps/details?id=3Dcom= .tycoon.ui.pos=C2=A0 OR search for "Tycoon SMB Pro" on= your play store .

Free :=C2=A0https://play.google.com/stor= e/apps/details?id=3Dcom.tycoon.ui.sangrahana.standalone=C2=A0OR search = for "Tycoon SMB" on your play store .

Kindly ignore the message, if it is not interests you.<= /div>

----= -----
Thanks & Regards

Tycoon SMB Team
Phone:+91 9035000033

































































































































--089e0158ac8648832f04fafcde37-- --089e0158ac8648833704fafcde38 Content-Type: image/png; name="image.png" Content-Disposition: inline; filename="image.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_140585a3884d4318 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 RXoeKzEm/iM94UhNffhqi6dauur7eognvJKMt6e25CN+ie5lxI92oEOLdHSlE9seV7yoH3GZJ8mo jji1vvejJDPGL+kstCUCSwSmR2DsGOOYjjLqw0vPRaavVuRHh0gWubXNDzVYZSuSJ2m1kjefebzo 5q1H0yLC9evdFyame7tI7jICmsddYm6LtfMVym0duiz68eLK5NUm0B+0Xoa2HbN7K8nWlvjyl1pt HFbfj00DkRw8TjI8g6O3funz/A0nJU5WJCySVy0a+mxjBT3vh/roCZM2uBRh0vcrbIkZ/vFYXteL eRvQ1adWMi2ax/A+e7xaWxiqPZZ04Gl8opVqYZT887iS8zTheZ5ovo6+yC+v59ted2kvEVgisH0E dMzVkIaOv3z8HqaFgAceyN/V5bNoLAQcH+cfp7jxQP7lLCWZDz3ugXR+Pz3N38CN+LFf82uh35sR OB7bIecOG7w5O5Vk5Yf6siu6+kO1dLmI5jyFry/atwmb5bqEZc9+QEureI2v6JH8oKcaGn0KiQm6 9NlkBxpt34fmEybx5Lcw1R+rtQKZcELulRYhT0OCgT/NeCO2fJHfGtNzn/vcND5OGn58Ub/UJ5qx gKtydtq1oXkfkgzzYT6vznKsxWfWKB1Wd+sXGVk9PMjfnrSbswkHf+Db39upPrEP9Z6d2tvIFkjo qQ+f36I9O1o9Yg+Vnp4c2q2djHNi7p6az3csFneo7cR5cmCfOTJc+ugTJ/TPTo9Wtw/yc6Inhsm8 y/5pM3F3jU6hm+3neNCmHBx0D7ZD07gS0/6RXNtvwim6avFVN2KpSzttbl4U1xSnRinaFtZgrR3U hEr63o8SDvEaKvITmdpYh/THeLZGMyayFX/UZ9v/ffHj9XTawvIyeiY6ykpGOpGv/lkBQLqS8XXE s7OdZ6/sTuhgKZhbk/f2tf94Ggrqnx003xFuBKHbD6uuDsyRI1w7tD9sbe/nVH7toDu/cyjYV1lX Tzi7megHR8azffnA5NG/bt8XvGb3d/nyGHJHNk/20bN0y5dz5IENBPqN5vwLHrbll9qHMFLpxwmS ZDO//C+++xJ1Yt/L0k7XOqvN45bldc5szJzPrl07SosDR0d5DHftXvf//vTPXP2/3/Yt6Y4Tiwb6 XNrQNcJjJ4PNea41PtLQ/mFeNOpuh7KmO92s8aNt7avQ2dSX/5yvjbE6xUe2Zq5ai/Caaz81esSK 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 8ODO9MGZ09TDjx4CS3ov+ISL7v/+3//bBtbOZBFxHu+8486GjfwdDXvmM5+5dRZd+bqdZ9zofN3G YfJHptP0VAM3UgOZ31kn2KQN9Fu/9Vs3P/IjP7L5yI/8yG5udibRWJfWtruWC8+cMqAR3QoE+7RP +7TNm970pv5FEeuJeWEjh+OESHo6F9YaPS3fLA3ss+Ws1WyW/b/zne/cfPmXf/nmC77gCzZ/4A/8 gd4D4ziZN2fddq1/Xhax/rPfEZc9ahE+dp2XPIHn9lOf9Gb1GV9tzG3fiLYO47eGp3+cydYfv7Dk 4Ria/2f6QGunmy09R66Q8gMxA17Aop1D+yLFm+fb/WyaGqHyBtFzGv0rQJOBN6+lPPMasg68GQ4/ /VjD57J8814Dp3J1e3/QLZEHKgoaPSo20hZPZgjP8TjXp4fjJZ7L5XFfqm9SeouJkYsGg/KkBkIa 2LqzOkWZYr8pXu5fXVrUs5R1tXT54ubyxQ9UvFgnnpc6f+XSPQ1XFxz5LtepqPbTZjal9saHAgxX h5ajPHTPbGagpdHJgnYgWdelnHQfn9RJDwvBmesDO4ouBhHcD/uwD9tcvjKcebzy3Mz7P/D+3hRt mI961KN6LLKxcibnDTO80B/VtvrTcKqBG60B6wR77PWgHD02/L73vW/zUz/1U5s/8kf+yHZjnNtl y5nrM3ydz3yBax3zXTm0P/3TP7357//9v2+dSfWcSYEcmddrfqflUw3cLA1k7c16LLVWC+aIwC7Z p5NK80M+p+mxdXhOs37/7//9tZ4PZ2PmOefxm8vJ43EjAn5zOIz/Gm+mOUk+9HRwksjtzq/QlAba R+KEe8lGvFR7ql8GbBh4RX5U90YbHPeK7qCK48SWOzZifpP7SuEWaf/qIFU4+HLq2B+5dLJZZ4L7 5NXneTxPooPwmWkP4xF40vA/8oQySg7yvhTDw/DSWF/RL4bBAM/QUIVzBfMTQegT00bKUny27ZR3 FxjctDHja6OGoCfPlm5hPE8seOObk1zGIUPaMtFEvqoQeBtFydQfEiXbQXsfyPWXPCcJwUs603Tf VnzmfsJVbryZcIF3ff1Z14eHehuvAMapjkN518Pu2vzO7/zO5rM/+7O3m2Z058r2iU984uarv/qr N4973ONaTzZZ7YS3PP0pn4ZTDdwsDXDqfvM3f7Of5/2Jn/iJze/93u/15sn22CAnzyn8R33UR7Vt 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 khDWMpVNK2nEtikb4j6Gckm8OFaJqSZzJzkxj8e8rm2xaWq48a49Wu9Wpndtulk1dPNojXM9S84s uJMwEjmSPOQwNpI5kjVKvuRMmx8wyR080PkSNm2vJuZkzvysakJLgmh7keWdmprNvOi3DV4xLXOm qU/2eS6wFZuQiQ4ntcBbaR5oHmgeaB6oPTAkDz6O+tgMZW4bD9xt412DO4lifeQP6PLKH1+zoa9D vmqSqS7md3AufXPZmIedI/FkNTFyAmIIzwwQoVlcKqkSK4+rarOFXGFLzBkWPUJOd8sesukXmxzl iweAuaCzjKHEV5Y0C346cTSdx+eY6LjnvoQFv/vWT98yot3FVNuS6bHNtLSNo4a+9AcaaE88oURJ XWoYfQ+opqVf02dYzQctSQYrz0tdwmOZlgMP74nicrmdo2nsnQedzQbPjbQ8rGN+66fPDrtICdpq Byp88/mxNeutdYG3D2bRGQ9vbteyxvr8GNhIBJ3IuTZ9+EidfF8jekhGnZCaB1nQk8yR9GEzsmlz KdwFeE4K4UcWcuG1PNesSIJjQz77AG3k2C/otj3osS3W2ermgeaB5oHmgWkPcPz0sTRj4riawtcY DfTAj1Lm8fvYnuUXewcI/BzrXcxjuSUeda+T44kaFeiJLcSgTKdgMhVTNLroL+u2Onigj7giOuSy FXsGHyDPMm3TWG07jaOfN+BZB33wwNTo58xygGObaQx3Db+LYfBgK/16i3F2eVHoFPO+CaUFL+IA G0NtPtrmdQ3MZQ9dfDmnOL/8LQmpn+biJlCWj8tgkFLeGbmjHWFlVSuTu1oV0yBJGOPMQytR56+9 TvcxXIpFy9VNXk8jnBJBLnbfpNVKbIB++aIeGtFcsFPEm/D1kA8eIu+2Uy9tl8RG5xy6HI6M8tRz yGCnLVfQ+zFz70QurHdG6eDdJ0UHEsks+FLHvZNqot/+cw2d7XKbGluAlx9D+XFkPL4DX+QUPVkO tC7sKP3O0l2mrlf23PelZ3jzvNI3jWUB8+pi3aZPyXgngpZrea6hB2e8+7nOuoHXfWCtNA80DzQP fKx7oMQG7idUxFI85Ljq2u04fgqeSz7+ArecTJPb++GhtcwxWlYd61Loujgq9JKWH3e08oi9u8ov 4p5G8gi1iTH9rVKKzWvndWWN5ziUIN6sd06urF+j+F/GQbxfEh9f0OEJ7iX5hlvieGNMifu6Yic+ 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 4AeXLy3QRsbEyiTdKsSYc4MufEtPrl6LRqyWTo0/166l1+JHX6VvR12Nosn6HOwagHYxp/Jq+ugh Z8s2sV2zbfHEzPJaHDXd7Nf4pOBal37O53xOGa8sHhmb8FkMgsXxwnHAQpDHRzgGeJSEcc0HpYc8 5CFl/P/nf/5nCZljyQ9L8NDhg9fb3/72wmfMg8/451gD3wK/V+bo9DCm5D38nnwKuyWLmLGOvm1o 3rctvG35tfG0LdY2dnP7V8sJPDdxpNvEMtfGWLL+Nrmsxrv+SaKNbH2I2Nb/xt+xQ2hYX8SfQhqC PH69Nke9x7YBAhnre3RRoA6BbVKlOIp1+xB51GNbnUzn6EQb9aVRFuvkoZWLnm3EQXdq00+LRqxt 6/rP9vKnKDZT8l1kYD/vec8rkyM4TGBMiEyGTGQ8N8kEynNfTKBetSRX6r/2ta9dPeEJT1g96UlP Wv3pn/5pmSC5gvPQhz509Xu/93urJz/5yauf+ZmfWb3hDW9YfdInfdLqi7/4i8vky1VK/PzlX/7l 6q677lp93ud9Xrla8xVf8RVlMcrkzaQ61b9WbuBbavbKoDV55PV0W3L5eVzJr9G5fmu2c3jiq0ub IpXfo+L07KJcG7FtH4LWfNR40TfjPbatY8eCj/3I+Of2NMcJcq5Awnv6059ervD/wi/8Qhn/X/ql X7p6ylOeUq78Y8845/b4p33apxUcnmH+zu/8ztVnfMZnlOPrW7/1W4s+z1ky5h0z2BlHKz7lUvxZ h9ZKTx5toq54mRfb0XYfdX2CZV06F598UszrlJ26UzqnKdt3PL3cLfWX9XNbf1LkcdsllzUceS1c 5BRp1ju1BWV2vO92q4P66cnVa1F3qHRKTx1pSzfyo26u03aLNtRr/CV9RXeJfsu/cWSa9ffdzv7m tufGAR4l42r/yZ/8yeXKIFdYXEyymCOnLCK5ovKZn/mZm0Wnt7iZSPnm6pd8yZdsrmw+5znPWb3s ZS8rtn57nEmRZzTvvvvugsEkCg/sV77ylauv+7qvK1c/X/jCF66+6qu+qlzB/KzP+qxyW9EYa9T+ 1GQ1nvpLaQ0r8iJe5FuPcuq5RDkydeSrH9vqKJtDW/ZiKbctZuRnmTo1Ove4zPi5nbGzPLbV7fGi vFYHBz6FZx65isjikUUd45+x7VV0eNwS55jheUo+hL35zW9effzHf3xZZHKcoM+HLHShYPEh7fu/ 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 zxzsnk4NN/o963ov/m3jEzf2X17ErPGivFaPNuJHXs0m8mq6NV606dXn2hsvNNvEtno9vzV5xKnJ a7yavzk4PZ0abs3/WfF68W8bl7i9/qvX8tOzb9nJX4KPL/WzX/iZh48aT99ScXu6Pbl4S6l9ws5f kuHqJP5OxsYVTfvlVdm6xxivOGqKfVkfxffxBac2UN5ROTy0ofkiqq9IFwEsVMZPLvBinrPc9nW/ oJzqqInJOvLHJNSvUJq8SK2bvEPS0/J1PBf9HuW4ltpnDxkvy3fFFy/7ORSu/u5rNOfP/rX4yjPd l37GYX9GXqzva1/bF7Gl+paqB406NX7kzalv2xfj0Me2ONpLM678+xpt9bPFn9v/nn1P3tuP2Ncw WvwcN48OlMdzLo23tmtY2WbUOT6v9uLMGHPbrXjwpyzWxUWmXF6N1uKOPOq2Yx0s+dajXP9Rp+W/ p1Ozi7xsj295sV6ziTnCJrajvvXrekFpUnod7SXBZLRoK+ktffnb+N3GRn+HoDmeXvsQMewD07Ei lv3IfOVS9Wxf0DED5iXmT96uOYo44kdeDT/KrUOxj23rYBR5DazBO2G7xi4467rxZohoi0y9zM92 6snv6auXaQsn87Pdtv4yzn2tbV7OOn/G0cov8qxjW5ntFsYSPlgxJ7G+BGe+bv3dkvbpqI8s/NCt fy9gvr+6Jtf04nU9+y3ViiuVQ4qG91QeLUSVTVFxoNbt45RdS9ayFbtlh7xli811uaCc6nTusJ2X 0ulYp50L8ikf6qOT/Snr+VDvvNBWf3v96MlbuKfd7xyncflQeise9VryDxZ+zp/9bvGRI8v5m9IX M9KWfouvrXIoMdjOcttzqXjoU7cdaQ1r2zyAG0vGibKpegvnYvxPZe1IlvOnpMVX3qOHtgc/+8jt qRj50grb8A6cQiMeY5HvIEDZxIUOzTMvYxz1QHLMtWBjX6N8Clc9dA5V5vif65s8UKTaTfmI+1p9 6XW5oDT4SKc66c6VamdbCj/W1cvJlh9p9F/DiLqt+rZ2LTz4Ma6sh7/64ZY1t2/3+tTLbc9+TmQ1 H3Nxe3o17DkxnZZOL/5d4gA79z/7y+25/rSL+PJ6GFmv1+7hZXnGy/JaO9rEPtV0p3gRZ0ovymr+ 5uL09GrY0fdZ13vx7xIf2L3+H9I/sffwY3zU1Y98czDKjs8I8Eb+8QUS9jWM41i2Dkdjn/Bi/yId +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 MPLRag4ad5gYO0alyJ0Mi4XmxMJr2/kTM2qZxVv52lZbws+hkOs9584YpSPcyI5tl/HZhvLMy9h9 8uhqB3y2ZT7L97F53xjjyHZHvCxfyt+sT+6R85roZb/VTi1rSb66tSxOOeWcV16pdiqf8pIMufbB mYc/lzzGM34fPezti5vz/UXza1vuqk/FGz96ymxHeHnColwfHaeFN4Pm2GpEyir/bS8v1Ytjg40E jgmh+5RzZzt/cvcvbnE7YWQCyQqlWCh3HZGzsd/NY9d+Qd4Eb46fMcRk/Dk/0lVvju7S2SXX7r44 8Xeluf6/EBPK3GA0tg0A38aXto7GtDI6MZ31KCaQ0KdPH7dnJXlzjF9quLjsn7FglZG3yHgeg19t 4K1WbL2KF3RIL1+9bp/F4EPoXEGxWukJhPKLsK1vKM9yEgOJcjtgIp87axNOf8Cw5TqZh39IUk+6 j272UfWybB9bGZN1tQvPfMaaz7K5fMZmH/KlWR9eLWdctiNOmnG78srvg2789wuGHON92N/Xhn0Z /CamjXaOi/wIAzrjMibnN1b3w6Ob7ao/x5vzpV6VU648sZnqT2wtg1WmnmUpfPXE7EOz/gg/J7+N r5H9aqeW8W8MyLJcPnbFZbl8KHwxlEm13Lnbf7WnL+1so/YraQN0zo+0d8lHOvfBs77aumsc2d7I FrwRH/+Zbx7qPpDH+ZSXtfhSwne/+932C2NH8VPI8Dnf8s7DWbz1zUQTHPpsvAk+l3LcFaM+/Ll8 1ZkrZ/1sz7qpZzzibQfllYrXpvLMl3cXWuP4hZtQ1sZjFbAlPusTq5JHUeZbkZfxTcnLi/iJsHiD +zre9H716ONYifx4dXn+6erbv/q1pvIv/8XvxiLkq3Yb+/Tk8erP/uzPVt/+TnyW4Dw6fTx3Ge+g rV6//Gz1OFYp493D1cvP4lce4lkPJonXMcFk57LyuU6sHvJvOsg4IG50rIgHyy0FLh7S5MhrnKa3 NtYzVk92tQc/8+by6kvtmBmv7C4Uu0s29bvkI+vnfNVZklXsUnnJzkiW62h9Rjh4ypf8Z9nIDnL5 u+yJyzZvk9dO7M51GvkWJwhM5SHLvJxXb46OfFZ7S7pzvrRb5bU8Z1u+dixL5WuvUnDwxKl3V6qf aifzD/GZ9apNyrtsIWfLdnLZfJVrO/PJ5/IonsoTjx+S5Yq7bVl72t9lR7y4ffXEf960xpv9K4Oy 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 --089e0158ac8648833704fafcde38-- From jack@suse.cz Wed Jun 4 04:48:33 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 6E24D7F50 for ; Wed, 4 Jun 2014 04:48:33 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 66FE930406B for ; Wed, 4 Jun 2014 02:48:33 -0700 (PDT) X-ASG-Debug-ID: 1401875302-04cbb050fb349380001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id shaHUmzUc4d3CycG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 02:48:23 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 36DF8AC7A for ; Wed, 4 Jun 2014 09:48:22 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id BD0DD81C3B; Wed, 4 Jun 2014 11:48:20 +0200 (CEST) From: Jan Kara To: xfs@oss.sgi.com Cc: Jan Kara Subject: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() Date: Wed, 4 Jun 2014 11:48:13 +0200 X-ASG-Orig-Subj: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() Message-Id: <1401875293-16227-1-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1401875303 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6369 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the result should be a number of a form (k*prod+mod) however due to sign mistake the result is different. As a result allocations on raid arrays could be misaligned in some cases. This also seems to fix occasional assertion failure: XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) in xfs_alloc_ag_vextent_size(). Signed-off-by: Jan Kara --- fs/xfs/xfs_alloc.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c index c1cf6a336a72..6a0281b16451 100644 --- a/fs/xfs/xfs_alloc.c +++ b/fs/xfs/xfs_alloc.c @@ -257,14 +257,12 @@ xfs_alloc_fix_len( k = rlen % args->prod; if (k == args->mod) return; - if (k > args->mod) { - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) - return; - } else { - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < - (int)args->minlen) - return; - } + if (k > args->mod) + rlen = rlen - (k - args->mod); + else + rlen = rlen - args->prod + (args->mod - k); + if ((int)rlen < (int)args->minlen) + return; ASSERT(rlen >= args->minlen); ASSERT(rlen <= args->maxlen); args->len = rlen; -- 1.8.1.4 From jeff.liu@oracle.com Wed Jun 4 07:41:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B7BD67F53 for ; Wed, 4 Jun 2014 07:41:21 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 40543AC003 for ; Wed, 4 Jun 2014 05:41:21 -0700 (PDT) X-ASG-Debug-ID: 1401885679-04cbb050fd35ac00001-NocioJ Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by cuda.sgi.com with ESMTP id mGvnenjwvrSBESY1 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 05:41:19 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.69 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s54CfIjS022263 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 4 Jun 2014 12:41:19 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s54CfHIw015628 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 4 Jun 2014 12:41:18 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s54CfHh9015619 for ; Wed, 4 Jun 2014 12:41:17 GMT Received: from [192.168.1.101] (/27.213.197.174) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 04 Jun 2014 05:41:17 -0700 Message-ID: <538F13EA.5030005@oracle.com> Date: Wed, 04 Jun 2014 20:41:14 +0800 From: Jeff Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "xfs@oss.sgi.com" Subject: Re: [PATCH v3 04/10] xfs: fix error handling at xfs_inumbers References: <538D92D7.8000401@oracle.com> X-ASG-Orig-Subj: Re: [PATCH v3 04/10] xfs: fix error handling at xfs_inumbers In-Reply-To: <538D92D7.8000401@oracle.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-Barracuda-Connect: aserp1040.oracle.com[141.146.126.69] X-Barracuda-Start-Time: 1401885679 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6371 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Sorry, there is an issue in this patch, an updated version was shown as following, From: Jie Liu To fetch the file system number tables, we currently just ignore the errors and proceed to loop over the next AG or bump agino to the next chunk in case of btree operations failed, that is not properly because those errors might hint us potential file system problems. This patch rework xfs_inumbers() to handle the btree operation errors as well as the loop conditions. Signed-off-by: Jie Liu --- fs/xfs/xfs_itable.c | 96 ++++++++++++++++++++++------------------------------- 1 file changed, 39 insertions(+), 57 deletions(-) diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index dd68696..4b41910 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -536,7 +536,7 @@ xfs_inumbers( xfs_agnumber_t agno = XFS_INO_TO_AGNO(mp, *lastino); xfs_agino_t agino = XFS_INO_TO_AGINO(mp, *lastino); struct xfs_btree_cur *cur = NULL; - xfs_buf_t *agbp = NULL; + struct xfs_buf *agbp = NULL; struct xfs_inogrp *buffer; int bcount; int left = *count; @@ -550,61 +550,40 @@ xfs_inumbers( bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer))); buffer = kmem_alloc(bcount * sizeof(*buffer), KM_SLEEP); - while (left > 0 && agno < mp->m_sb.sb_agcount) { + do { struct xfs_inobt_rec_incore r; int stat; - if (agbp == NULL) { + if (!agbp) { error = xfs_ialloc_read_agi(mp, NULL, agno, &agbp); - if (error) { - /* - * If we can't read the AGI of this ag, - * then just skip to the next one. - */ - ASSERT(cur == NULL); - agbp = NULL; - agno++; - agino = 0; - continue; - } + if (error) + break; + cur = xfs_inobt_init_cursor(mp, NULL, agbp, agno, XFS_BTNUM_INO); error = xfs_inobt_lookup(cur, agino, XFS_LOOKUP_GE, &stat); - if (error) { - xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); - cur = NULL; - xfs_buf_relse(agbp); - agbp = NULL; - /* - * Move up the last inode in the current - * chunk. The lookup_ge will always get - * us the first inode in the next chunk. - */ - agino += XFS_INODES_PER_CHUNK - 1; - continue; - } + if (error) + break; + if (!stat) + goto next_ag; } + error = xfs_inobt_get_rec(cur, &r, &stat); - if (error || stat == 0) { - xfs_buf_relse(agbp); - agbp = NULL; - xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); - cur = NULL; - agno++; - agino = 0; - continue; - } + if (error) + break; + if (!stat) + goto next_ag; + agino = r.ir_startino + XFS_INODES_PER_CHUNK - 1; buffer[bufidx].xi_startino = XFS_AGINO_TO_INO(mp, agno, r.ir_startino); buffer[bufidx].xi_alloccount = XFS_INODES_PER_CHUNK - r.ir_freecount; buffer[bufidx].xi_allocmask = ~r.ir_free; - bufidx++; - left--; - if (bufidx == bcount) { - long written; + if (++bufidx == bcount) { + long written; + error = formatter(ubuffer, buffer, bufidx, &written); if (error) break; @@ -612,25 +591,26 @@ xfs_inumbers( *count += bufidx; bufidx = 0; } - if (left) { - error = xfs_btree_increment(cur, 0, &stat); - if (error) { - xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); - cur = NULL; - xfs_buf_relse(agbp); - agbp = NULL; - /* - * The agino value has already been bumped. - * Just try to skip up to it. - */ - agino += XFS_INODES_PER_CHUNK; - continue; - } - } - } + if (!--left) + break; + + error = xfs_btree_increment(cur, 0, &stat); + if (error) + break; + if (stat) + continue; + +next_ag: + xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); + cur = NULL; + xfs_buf_relse(agbp); + agbp = NULL; + agino = 0; + } while (++agno < mp->m_sb.sb_agcount); + if (!error) { if (bufidx) { - long written; + long written; error = formatter(ubuffer, buffer, bufidx, &written); if (!error) @@ -638,11 +618,13 @@ xfs_inumbers( } *lastino = XFS_AGINO_TO_INO(mp, agno, agino); } + kmem_free(buffer); if (cur) xfs_btree_del_cursor(cur, (error ? XFS_BTREE_ERROR : XFS_BTREE_NOERROR)); if (agbp) xfs_buf_relse(agbp); + return error; } -- 1.8.3.2 From bfoster@redhat.com Wed Jun 4 08:35:57 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 37A167F55 for ; Wed, 4 Jun 2014 08:35:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1E2F68F8037 for ; Wed, 4 Jun 2014 06:35:53 -0700 (PDT) X-ASG-Debug-ID: 1401888952-04cbb050fc361a00001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 2UKDS3DNhwDlFng7 for ; Wed, 04 Jun 2014 06:35:53 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s54DZqTv020095 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 4 Jun 2014 09:35:52 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s54DZqLA030579; Wed, 4 Jun 2014 09:35:52 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 64B921248A9; Wed, 4 Jun 2014 09:35:51 -0400 (EDT) Date: Wed, 4 Jun 2014 09:35:51 -0400 From: Brian Foster To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140604133551.GA55624@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401875293-16227-1-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401875293-16227-1-git-send-email-jack@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401888953 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 04, 2014 at 11:48:13AM +0200, Jan Kara wrote: > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > result should be a number of a form (k*prod+mod) however due to sign > mistake the result is different. As a result allocations on raid arrays > could be misaligned in some cases. > > This also seems to fix occasional assertion failure: > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > in xfs_alloc_ag_vextent_size(). > Do you happen to have a reproducer for this? The meaning of args->prod (the structure definition comment calls it the prod value) is not clear to me. I see that we set it to an extent size hint if one exists (in xfs_bmap_btalloc()), so I'll go with that. args->mod then becomes the modulo of the file offset against that alignment hint. > Signed-off-by: Jan Kara > --- > fs/xfs/xfs_alloc.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c > index c1cf6a336a72..6a0281b16451 100644 > --- a/fs/xfs/xfs_alloc.c > +++ b/fs/xfs/xfs_alloc.c > @@ -257,14 +257,12 @@ xfs_alloc_fix_len( We get here and take the extent length, mod against the alignment and compare to the mod of the offset. > k = rlen % args->prod; > if (k == args->mod) > return; > - if (k > args->mod) { > - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) > - return; > - } else { > - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < > - (int)args->minlen) > - return; > - } > + if (k > args->mod) > + rlen = rlen - (k - args->mod); If the length mod is greater than the offset mod, reduce the length by the delta of the mods. > + else > + rlen = rlen - args->prod + (args->mod - k); Otherwise (length mod is less than offset mod), reduce by a full alignment size and add back the difference to match the offset mod. This seems correct to me. > + if ((int)rlen < (int)args->minlen) > + return; > ASSERT(rlen >= args->minlen); > ASSERT(rlen <= args->maxlen); The rlen >= minlen assert seems kind of pointless here, but what about changing both instances of these two asserts to the following: ASSERT(rlen >= args->minlen && rlen <= args->maxlen); ... and add a new one after the length adjustment along the lines of: ASSERT((rlen % args->prod) == args->mod); Thoughts? Would this have caught the problem you've found earlier? Brian > args->len = rlen; > -- > 1.8.1.4 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From arnd@arndb.de Wed Jun 4 10:06:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 09F707F3F for ; Wed, 4 Jun 2014 10:06:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E36BA30406B for ; Wed, 4 Jun 2014 08:06:41 -0700 (PDT) X-ASG-Debug-ID: 1401894399-04cbb050fb36c510001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by cuda.sgi.com with ESMTP id ImLb3CHALbSNSMOC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 08:06:40 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.131 Received: from klappe2.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue001) with ESMTP (Nemesis) id 0MWKkb-1XKYKG1Akr-00XLcI; Wed, 04 Jun 2014 17:05:29 +0200 From: Arnd Bergmann To: "Joseph S. Myers" Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Wed, 4 Jun 2014 17:05:27 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready User-Agent: KMail/1.12.2 (Linux/3.8.0-35-generic; KDE/4.3.2; x86_64; ; ) Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, hpa@zytor.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <4233989.Saca0ocOUr@wuerfel> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201406041705.27599.arnd@arndb.de> X-Provags-ID: V02:K0:9Z7B6PH1fuP6xB7kyWGg/6G67MAwbOH4t4QcAuprpi2 rWcYe+/0KZDPwrPRKDIi/irf01ZChYBUtRqE6QgWERHOfmR7oD woB+VczEIn/MfjBtlwQql+Yi+4HBWgC46GMnN0Dysih35H41/4 ObvZqn7tBO4ioZnsksnJLzpg6P+DcsPhUqWQ7KwH86fuMtGR2g 5h7KbMtjkNE6xI2jL7miGhWILvq9uxSEpruFHgbkrzcT8Chs9c lmPfDlCGPinHDX/ZYF3Yz9CBm0e+ux0rgSoOe4Y48HUECQj+X3 2ixb66mne6qPvQ3wpA3mtJ3/jhWzfpBXf2RoK4O0HzcZrMtf1s 3ynQO5ayLv9OJWAmZKik= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.131] X-Barracuda-Start-Time: 1401894399 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6374 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Monday 02 June 2014, Joseph S. Myers wrote: > On Mon, 2 Jun 2014, Arnd Bergmann wrote: > > > Ok. Sorry about missing linux-api, I confused it with linux-arch, which > > may not be as relevant here, except for the one question whether we > > actually want to have the new ABI on all 32-bit architectures or only > > as an opt-in for those that expect to stay around for another 24 years. > > For glibc I think it will make the most sense to add the support for > 64-bit time_t across all architectures that currently have 32-bit time_t > (with the new interfaces having fallback support to implementation in > terms of the 32-bit kernel interfaces, if the 64-bit syscalls are > unavailable either at runtime or in the kernel headers against which glibc > is compiled - this fallback code will of course need to check for overflow > when passing a time value to the kernel, hopefully with error handling > consistent with whatever the kernel ends up doing when a filesystem can't > support a timestamp). If some architectures don't provide the new > interfaces in the kernel then that will mean the fallback code in glibc > can't be removed until glibc support for those architectures is removed > (as opposed to removing it when glibc no longer supports kernels predating > the kernel support). Ok, that's a good reason to just provide the new interfaces on all architectures right away. Thanks for the insight! Arnd From arnd@arndb.de Wed Jun 4 10:07:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5372A7F3F for ; Wed, 4 Jun 2014 10:07:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 19C438F804B for ; Wed, 4 Jun 2014 08:07:08 -0700 (PDT) X-ASG-Debug-ID: 1401894426-04bdf0599f596660001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.13]) by cuda.sgi.com with ESMTP id wfBcAe20lclWSA5q (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 08:07:07 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.13 Received: from klappe2.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue103) with ESMTP (Nemesis) id 0MRB2F-1XEW940iqd-00UWfD; Wed, 04 Jun 2014 17:03:57 +0200 From: Arnd Bergmann To: Dave Chinner Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Wed, 4 Jun 2014 17:03:47 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready User-Agent: KMail/1.12.2 (Linux/3.8.0-35-generic; KDE/4.3.2; x86_64; ; ) Cc: "H. Peter Anvin" , "Joseph S. Myers" , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, john.stultz@linaro.org, hch@infradead.org, tglx@linutronix.de, geert@linux-m68k.org, lftan@altera.com, linux-fsdevel@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, linux-scsi@vger.kernel.org, logfs@logfs.org, ocfs2-devel@oss.oracle.com, reiserfs-devel@vger.kernel.org, samba-technical@lists.samba.org, xfs@oss.sgi.com References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5011138.W0gbOc20Qp@wuerfel> <20140603213802.GH14410@dastard> In-Reply-To: <20140603213802.GH14410@dastard> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201406041703.47592.arnd@arndb.de> X-Provags-ID: V02:K0:s1xrSbJGgzru8gfa8MxhGBDhE9VbqVkmkEHBQt9CYbW nIkBl/8wTdfgs9V7pWhhbfIo0tfHW7bko3rH8i9iNri/uRHIfn eaYylJV4h90+Udh7hWpsur3TV35RwqMzQjb9KzK2fYhlWOB4Gu M+4d7Bzpj+pdwtx7C8ekGQFkBp0Q56Y/DULO/aCxN85bO356oW PzWS6LNdeBIaMYja86SS2BAgOZnb3qTNsVmb69iCMyG8tjZUvc XgQrQSj2TFQ5lggDtFSSOZifvWgBZGDZ67rZ/iHMF416IDS0Fr eVDHX1K4+fLWlW2tw0DYBHMntBHZ4Bkw02+sHFP7/MGGwDqBMZ KcipDzc4PYHgLTAj3IZg= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.13] X-Barracuda-Start-Time: 1401894426 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6374 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tuesday 03 June 2014, Dave Chinner wrote: > On Tue, Jun 03, 2014 at 04:22:19PM +0200, Arnd Bergmann wrote: > > On Monday 02 June 2014 14:57:26 H. Peter Anvin wrote: > > > On 06/02/2014 12:55 PM, Arnd Bergmann wrote: > > The possible uses I can see for non-ktime_t types in the kernel are: > > * inodes need 96 bit timestamps to represent the full range of values > > that can be stored in a file system, you made a convincing argument > > for that. Almost everything else can fit into 64 bit on a 32-bit > > kernel, in theory also on a 64-bit kernel if we want that. > > Just ot be pedantic, inodes don't need 96 bit timestamps - some > filesystems can *support up to* 96 bit timestamps. If the kernel > only supports 64 bit timestamps and that's all the kernel can > represent, then the upper bits of the 96 bit on-disk inode > timestamps simply remain zero. I meant the reverse: since we have file systems that can store 96-bit timestamps when using 64-bit kernels, we need to extend 32-bit kernels to have the same internal representation so we can actually read those file systems correctly. > If you move the filesystem between kernels with different time > ranges, then the filesystem needs to be able to tell the kernel what > it's supported range is. This is where having the VFS limit the > range of supported timestamps is important: the limit is the > min(kernel range, filesystem range). This allows the filesystems > to be indepenent of the kernel time representation, and the kernel > to be independent of the physical filesystem time encoding.... I agree it makes sense to let the kernel know about the limits of the file system it accesses, but for the reverse, we're probably better off just making the kernel representation large enough (i.e. 96 bits) so it can work with any known file system. We need another check at the user space boundary to turn that into a value that the user can understand, but that's another problem. Arnd From jack@suse.cz Wed Jun 4 10:10:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 27B197F3F for ; Wed, 4 Jun 2014 10:10:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1A46F30406B for ; Wed, 4 Jun 2014 08:10:39 -0700 (PDT) X-ASG-Debug-ID: 1401894636-04cbb050fa36cc50001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id A4OFWCO5syg0fbNL (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 08:10:37 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 5EDFBAC0B; Wed, 4 Jun 2014 15:10:36 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 6206E81C3B; Wed, 4 Jun 2014 17:10:34 +0200 (CEST) Date: Wed, 4 Jun 2014 17:10:34 +0200 From: Jan Kara To: Brian Foster Cc: Jan Kara , xfs@oss.sgi.com Subject: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140604151034.GE14887@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401875293-16227-1-git-send-email-jack@suse.cz> <20140604133551.GA55624@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140604133551.GA55624@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1401894637 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6374 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed 04-06-14 09:35:51, Brian Foster wrote: > On Wed, Jun 04, 2014 at 11:48:13AM +0200, Jan Kara wrote: > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > > result should be a number of a form (k*prod+mod) however due to sign > > mistake the result is different. As a result allocations on raid arrays > > could be misaligned in some cases. > > > > This also seems to fix occasional assertion failure: > > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > > in xfs_alloc_ag_vextent_size(). > > Do you happen to have a reproducer for this? No, IBM triggered this during their testing on powerPC. I can ask them if they can share the test if you are interested. > The meaning of args->prod (the structure definition comment calls it the > prod value) is not clear to me. I see that we set it to an extent > size hint if one exists (in xfs_bmap_btalloc()), so I'll go with that. > args->mod then becomes the modulo of the file offset against that > alignment hint. > > > Signed-off-by: Jan Kara > > --- > > fs/xfs/xfs_alloc.c | 14 ++++++-------- > > 1 file changed, 6 insertions(+), 8 deletions(-) > > > > diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c > > index c1cf6a336a72..6a0281b16451 100644 > > --- a/fs/xfs/xfs_alloc.c > > +++ b/fs/xfs/xfs_alloc.c > > @@ -257,14 +257,12 @@ xfs_alloc_fix_len( > > We get here and take the extent length, mod against the alignment and > compare to the mod of the offset. > > > k = rlen % args->prod; > > if (k == args->mod) > > return; > > - if (k > args->mod) { > > - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) > > - return; > > - } else { > > - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < > > - (int)args->minlen) > > - return; > > - } > > + if (k > args->mod) > > + rlen = rlen - (k - args->mod); > > If the length mod is greater than the offset mod, reduce the length by > the delta of the mods. > > > + else > > + rlen = rlen - args->prod + (args->mod - k); > > Otherwise (length mod is less than offset mod), reduce by a full > alignment size and add back the difference to match the offset mod. > > This seems correct to me. > > > + if ((int)rlen < (int)args->minlen) > > + return; > > ASSERT(rlen >= args->minlen); > > ASSERT(rlen <= args->maxlen); > > The rlen >= minlen assert seems kind of pointless here, but what about > changing both instances of these two asserts to the following: Well, rlen has been decreased so rlen >= minlen makes sense. rlen <= maxlen seems to be the obvious one to me. > ASSERT(rlen >= args->minlen && rlen <= args->maxlen); > > ... and add a new one after the length adjustment along the lines of: > > ASSERT((rlen % args->prod) == args->mod); > > Thoughts? Would this have caught the problem you've found earlier? Yes, this would have caught the bug. Should I add this assertion an resend? Honza -- Jan Kara SUSE Labs, CR From bfoster@redhat.com Wed Jun 4 10:54:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 7FD377F3F for ; Wed, 4 Jun 2014 10:54:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 40DD230406B for ; Wed, 4 Jun 2014 08:54:14 -0700 (PDT) X-ASG-Debug-ID: 1401897252-04bdf0599f59c410001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ZAVTAJ4hUWwSH4SV for ; Wed, 04 Jun 2014 08:54:12 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s54FsCap014785 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 4 Jun 2014 11:54:12 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s54FsBjw003969; Wed, 4 Jun 2014 11:54:12 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id D6D631248A9; Wed, 4 Jun 2014 11:54:10 -0400 (EDT) Date: Wed, 4 Jun 2014 11:54:10 -0400 From: Brian Foster To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140604155410.GB55624@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401875293-16227-1-git-send-email-jack@suse.cz> <20140604133551.GA55624@bfoster.bfoster> <20140604151034.GE14887@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140604151034.GE14887@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401897252 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 04, 2014 at 05:10:34PM +0200, Jan Kara wrote: > On Wed 04-06-14 09:35:51, Brian Foster wrote: > > On Wed, Jun 04, 2014 at 11:48:13AM +0200, Jan Kara wrote: > > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > > > result should be a number of a form (k*prod+mod) however due to sign > > > mistake the result is different. As a result allocations on raid arrays > > > could be misaligned in some cases. > > > > > > This also seems to fix occasional assertion failure: > > > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > > > in xfs_alloc_ag_vextent_size(). > > > > Do you happen to have a reproducer for this? > No, IBM triggered this during their testing on powerPC. I can ask them if > they can share the test if you are interested. > I think it would be generally interesting, particularly to see if we could create an xfstests test..? > > The meaning of args->prod (the structure definition comment calls it the > > prod value) is not clear to me. I see that we set it to an extent > > size hint if one exists (in xfs_bmap_btalloc()), so I'll go with that. > > args->mod then becomes the modulo of the file offset against that > > alignment hint. > > > > > Signed-off-by: Jan Kara > > > --- > > > fs/xfs/xfs_alloc.c | 14 ++++++-------- > > > 1 file changed, 6 insertions(+), 8 deletions(-) > > > > > > diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c > > > index c1cf6a336a72..6a0281b16451 100644 > > > --- a/fs/xfs/xfs_alloc.c > > > +++ b/fs/xfs/xfs_alloc.c > > > @@ -257,14 +257,12 @@ xfs_alloc_fix_len( > > > > We get here and take the extent length, mod against the alignment and > > compare to the mod of the offset. > > > > > k = rlen % args->prod; > > > if (k == args->mod) > > > return; > > > - if (k > args->mod) { > > > - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) > > > - return; > > > - } else { > > > - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < > > > - (int)args->minlen) > > > - return; > > > - } > > > + if (k > args->mod) > > > + rlen = rlen - (k - args->mod); > > > > If the length mod is greater than the offset mod, reduce the length by > > the delta of the mods. > > > > > + else > > > + rlen = rlen - args->prod + (args->mod - k); > > > > Otherwise (length mod is less than offset mod), reduce by a full > > alignment size and add back the difference to match the offset mod. > > > > This seems correct to me. > > > > > + if ((int)rlen < (int)args->minlen) > > > + return; > > > ASSERT(rlen >= args->minlen); > > > ASSERT(rlen <= args->maxlen); > > > > The rlen >= minlen assert seems kind of pointless here, but what about > > changing both instances of these two asserts to the following: > Well, rlen has been decreased so rlen >= minlen makes sense. rlen <= > maxlen seems to be the obvious one to me. > That was more a commentary on the fact that the assert now immediately follows a check for the negation of the assert, where we return. The assert below seems a bit more generic and just makes it stand out a little less (to me). Not really a big deal. > > ASSERT(rlen >= args->minlen && rlen <= args->maxlen); > > > > ... and add a new one after the length adjustment along the lines of: > > > > ASSERT((rlen % args->prod) == args->mod); > > > > Thoughts? Would this have caught the problem you've found earlier? > Yes, this would have caught the bug. Should I add this assertion an > resend? Yeah, if you don't mind. I think that one is definitely beneficial. Brian > > Honza > > -- > Jan Kara > SUSE Labs, CR From jack@suse.cz Wed Jun 4 11:54:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E1D307F3F for ; Wed, 4 Jun 2014 11:54:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id CD92B304071 for ; Wed, 4 Jun 2014 09:53:59 -0700 (PDT) X-ASG-Debug-ID: 1401900837-04cb6c100a2481e0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id IbUnKFCAnTU9ov6j (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 04 Jun 2014 09:53:57 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D9C2FAC7A; Wed, 4 Jun 2014 16:53:56 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 4FE3781C3B; Wed, 4 Jun 2014 18:53:55 +0200 (CEST) From: Jan Kara To: xfs@oss.sgi.com Cc: Brian Foster , Jan Kara Subject: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Date: Wed, 4 Jun 2014 18:53:53 +0200 X-ASG-Orig-Subj: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Message-Id: <1401900833-25485-1-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1401900837 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6377 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the result should be a number of a form (k*prod+mod) however due to sign mistake the result is different. As a result allocations on raid arrays could be misaligned in some cases. This also seems to fix occasional assertion failure: XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) in xfs_alloc_ag_vextent_size(). Also add an assertion that the result of xfs_alloc_fix_len() is of expected form. Signed-off-by: Jan Kara --- fs/xfs/xfs_alloc.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c index c1cf6a336a72..1351a24d3cdc 100644 --- a/fs/xfs/xfs_alloc.c +++ b/fs/xfs/xfs_alloc.c @@ -257,16 +257,14 @@ xfs_alloc_fix_len( k = rlen % args->prod; if (k == args->mod) return; - if (k > args->mod) { - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) - return; - } else { - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < - (int)args->minlen) - return; - } - ASSERT(rlen >= args->minlen); - ASSERT(rlen <= args->maxlen); + if (k > args->mod) + rlen = rlen - (k - args->mod); + else + rlen = rlen - args->prod + (args->mod - k); + if ((int)rlen < (int)args->minlen) + return; + ASSERT(rlen >= args->minlen && rlen <= args->maxlen); + ASSERT(rlen % args->prod == args->mod); args->len = rlen; } -- 1.8.1.4 From noticias@bacsa.e.telefonica.net Wed Jun 4 12:27:39 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,MIME_BASE64_TEXT autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B77137F3F for ; Wed, 4 Jun 2014 12:27:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9070E8F8040 for ; Wed, 4 Jun 2014 10:27:39 -0700 (PDT) X-ASG-Debug-ID: 1401902850-04cb6c78c6003f0001-NocioJ Received: from emea01-db3-obe.outbound.protection.outlook.com (mail-db3lp0081.outbound.protection.outlook.com [213.199.154.81]) by cuda.sgi.com with ESMTP id K2tZdNUvoZYPwaha (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Wed, 04 Jun 2014 10:27:31 -0700 (PDT) X-Barracuda-Envelope-From: noticias@bacsa.e.telefonica.net X-Barracuda-Apparent-Source-IP: 213.199.154.81 Received: from AMXPR07MB216.eurprd07.prod.outlook.com (10.242.73.18) by AMXPR07MB183.eurprd07.prod.outlook.com (10.242.69.25) with Microsoft SMTP Server (TLS) id 15.0.954.9; Wed, 4 Jun 2014 17:27:30 +0000 Received: from comercialbacsalocal (217.125.108.71) by AMXPR07MB216.eurprd07.prod.outlook.com (10.242.73.18) with Microsoft SMTP Server (TLS) id 15.0.954.9; Wed, 4 Jun 2014 17:27:24 +0000 MIME-Version: 1.0 From: bacsa Reply-To: To: Subject: Balanzas ACS Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_001_18C0_594B4318.435209EE" X-ASG-Orig-Subj: Balanzas ACS X-Mailer: Smart_Send_3_1_6 Date: Wed, 4 Jun 2014 19:27:13 +0200 Message-ID: <29962624685681119056@comercial> X-Originating-IP: [217.125.108.71] X-ClientProxiedBy: AMSPR02CA0036.eurprd02.prod.outlook.com (10.242.225.164) To AMXPR07MB216.eurprd07.prod.outlook.com (10.242.73.18) X-Microsoft-Antispam: BL:0;ACTION:Default;RISK:Low;SCL:0;SPMLVL:NotSpam;PCL:0;RULEID: X-Forefront-PRVS: 0232B30BBC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(428001)(479174003)(189002)(199002)(86152002)(92726001)(99396002)(221733001)(50226001)(81342001)(15975445006)(20776003)(71186001)(19580395003)(85852003)(62966002)(83322001)(46102001)(74482001)(4396001)(17760045001)(66066001)(74502001)(21056001)(83072002)(66926002)(74662001)(81542001)(80022001)(512944002)(43066003)(84326002)(101416001)(58226001)(104166001)(89996001)(50986999)(53806999)(77156001)(79102001)(19617315011)(77982001)(42186004)(87976001)(19618635001)(15202345003)(18206015023)(33716001)(64706001)(102836001)(87286001)(76482001)(89436002)(43062002)(73566001)(73556002)(79896001);DIR:OUT;SFP:;SCL:1;SRVR:AMXPR07MB216;H:comercialbacsalocal;FPR:;MLV:sfv;PTR:InfoNoRecords;MX:1;A:1;LANG:es; Received-SPF: None (: bacsa.e.telefonica.net does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=noticias@bacsa.e.telefonica.net; X-Microsoft-Antispam: BL:0;ACTION:Default;RISK:Low;SCL:0;SPMLVL:NotSpam;PCL:0;RULEID: X-OriginatorOrg: bacsa.es X-Barracuda-Connect: mail-db3lp0081.outbound.protection.outlook.com[213.199.154.81] X-Barracuda-Start-Time: 1401902851 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.32 X-Barracuda-Spam-Status: No, SCORE=1.32 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA038b, BSF_SC0_SA090e, BSF_SC0_SA090n, EXTRA_MPART_TYPE, HTML_MESSAGE, MIME_BASE64_TEXT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6378 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 EXTRA_MPART_TYPE Header has extraneous Content-type:...type= entry 0.00 HTML_MESSAGE BODY: HTML included in message 0.52 MIME_BASE64_TEXT RAW: Message text disguised using base64 encoding 0.40 BSF_SC0_SA090e Custom Rule SA090e 0.20 BSF_SC0_SA090n Custom Rule SA090n 0.20 BSF_SC0_SA038b Custom Rule SA038b ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: multipart/alternative; boundary="----=_NextPart_002_18C0_594B4318.435209EE" ------=_NextPart_002_18C0_594B4318.435209EE Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable =20 902 10 11 83 609 77 03 53 =20 =20 PROMOCI=D3N ESPECIAL =20 VALIDEZ DE LA OFERTA HASTA EL 31/07/2014 =20 SERIE ACS DE DOBLE DISPLAY CON SALIDA PARA REL=C9S =20 =A1=A1=A1OPORTUNIDAD!!! 141,60 =80 IVA Y PORTES INCLUIDOS Nuestra serie de balanzas de precisi=F3n m=E1s econ=F3mica. Su uso cumple c= on la orden 22/XII/94, BOE 03/01/95, apartado b. Dispone de acumulador interno recargable. Puede funcionar con bater=EDa o c= onectada a la red el=E9ctrica. As=ED mismo la balanza cuenta con dos displays: uno en la parte frontal y o= tro en la parte trasera. Las funciones que ofrece la b=E1scula son: Capacidades de 30 kg / 1 g - 15 kg / 0,5g - 6 kg / 0,2 g - 3 kg / 0,1 g. Funci=F3n de pesaje. Funci=F3n de contaje. Funci=F3n de porcentaje. Funci=F3n de l=EDmites con rel=E9s. Bot=F3n de puesta a cero. Bot=F3n de tara. Indicaci=F3n de sobrecarga y de bater=EDa baja. Dimensiones del plato de acero inoxidable: 230mm x 335mm Dimensiones de la b=E1scula: 320mm x 335 mm x 110 mm =20 Modelo Capacidad Divisi=F3n Tama=F1o del plato =20 ACS-3Z 3 kg 0,1 g 335 x 230 =20 ACS-6Z 6 kg 0,2 g 335 x 230 ACS-15Z 15 kg 0,5 g 335 x 230 ACS-30Z 30 kg 1 g 335 x 230 =20 =20 =20 Advertencia legal: De acuerdo con lo dispuesto en la Ley 15/99 de Protecci=F3n de Datos de Car= =E1cter Personal, le informamos que sus datos est=E1n incorporados en un fi= chero automatizado cuyo responsable es B=C1SCULAS Y ARCAS CATALUNYA, S.A. (= CIF A-08944118) quien los utiliza para el intercambio de informaci=F3n sobr= e sus productos y servicios, as=ED como para la gesti=F3n de las relaciones= comerciales presentes o futuras con usted o su empresa. Estos datos no ser= =E1n cedidos ni comunicados a terceros en ning=FAn caso. Podr=E1 ejercer su= s derechos de acceso, rectificaci=F3n, y cancelaci=F3n mediante escrito (ac= ompa=F1ando fotocopia de su DNI) dirigido a B=C1SCULAS Y ARCAS CATALUNYA, S= .A. Pol. Ind. Santiga =96 c/. Talleres, 2 =96 nave 1, 08130 Santa Perpetua = de Mogoda (Barcelona). Si no desea recibir m=E1s comunicaciones de nuestra parte, por favor devu= =E9lvanos este correo indicando BAJA en el Asunto. Este mensaje y, en su ca= so, los ficheros anexos son confidenciales, especialmente en lo que respect= a a los datos personales, y se dirigen exclusivamente al destinatario refer= enciado. Si usted no lo es y lo ha recibido por error o tiene conocimiento = del mismo por cualquier motivo, le rogamos que nos lo comunique por este me= dio y proceda a destruirlo o borrarlo, y que en todo caso se abstenga de ut= ilizar, reproducir, alterar, archivar o comunicar a terceros el presente me= nsaje y ficheros anexos, todo ello bajo pena de incurrir en responsabilidad= es legales. El emisor no garantiza la integridad, rapidez o seguridad del p= resente correo, ni se responsabiliza de posibles perjuicios derivados de la= captura, incorporaciones de virus o cualesquiera otras manipulaciones efec= tuadas por terceros. ------=_NextPart_002_18C0_594B4318.435209EE Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: quoted-printable PROMOCION ACS</TI= TLE> <META content=3D"text/html; charset=3Dwindows-1252" http-equiv=3DContent-Ty= pe><LINK rel=3Dstylesheet type=3Dtext/css href=3D"cid:4618214099-1"> <META name=3DGENERATOR content=3D"MSHTML 8.00.6001.23588"></HEAD> <BODY> <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 width=3D1000 align=3Dcent= er height=3D418> <TR> <TD bgColor=3D#ffffff height=3D19 vAlign=3Dcenter colSpan=3D9 align=3Dmiddl= e><IMG src=3D"cid:3727924061-2" width=3D640 height=3D117></TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTexto14 bgColor=3D#ffffff height=3D19 colSpan=3D2>902 10 11 83<= /TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTexto14 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter colSpan= =3D2 align=3Dright>609 77 03 53</TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D112> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD> <TD bgColor=3D#ffffff height=3D19 width=3D111> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTexto15 bgColor=3D#ffffff height=3D19 colSpan=3D5 align=3Dmiddl= e>PROMOCI=D3N ESPECIAL</TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTexto14 bgColor=3D#ffffff height=3D19 colSpan=3D7 align=3Dmiddl= e>VALIDEZ DE LA OFERTA HASTA EL 31/07/2014</TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTexto15 bgColor=3D#ffffff height=3D19 colSpan=3D7>SERIE ACS DE = DOBLE DISPLAY CON SALIDA PARA REL=C9S</TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19 colSpan=3D5 align=3Dright><IMG alt=3D"" s= rc=3D"cid:0306015776-3" width=3D350 height=3D260></TD> <TD bgColor=3D#ffffff height=3D19 vAlign=3Dbottom colSpan=3D4><IMG alt=3D""= src=3D"cid:7306217905-4" width=3D200 height=3D128></TD></TR> <TR> <TD class=3DTexto15 bgColor=3D#ffffff height=3D19 colSpan=3D9 align=3Dmiddl= e>=A1=A1=A1OPORTUNIDAD!!!<BR><SPAN class=3DTexto16>141,60 =80 </SPAN><BR>IV= A Y PORTES INCLUIDOS </TD></TR> <TR> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 colSpan=3D9> <BLOCKQUOTE> <BLOCKQUOTE> <BLOCKQUOTE> <P>Nuestra serie de balanzas de precisi=F3n m=E1s econ=F3mica. Su uso cumpl= e con la orden 22/XII/94, BOE 03/01/95, apartado b.<BR>Dispone de acumulado= r interno recargable. Puede funcionar con bater=EDa o conectada a la red el= =E9ctrica.<BR>As=ED mismo la balanza cuenta con dos displays: uno en la par= te frontal y otro en la parte trasera.<BR>Las funciones que ofrece la b=E1s= cula son:</P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19 colSpan=3D9> <UL class=3DTextoPrincipal3> <UL> <UL> <UL> <LI>Capacidades de 30 kg / 1 g - 15 kg / 0,5g - 6 kg / 0,2 g - 3 kg / 0,1 g= .=20 <LI>Funci=F3n de pesaje.=20 <LI>Funci=F3n de contaje.=20 <LI>Funci=F3n de porcentaje.=20 <LI>Funci=F3n de l=EDmites con rel=E9s.=20 <LI>Bot=F3n de puesta a cero.=20 <LI>Bot=F3n de tara.=20 <LI>Indicaci=F3n de sobrecarga y de bater=EDa baja. </LI></UL></UL></UL></U= L></TD></TR> <TR> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 colSpan=3D9> <BLOCKQUOTE> <BLOCKQUOTE> <BLOCKQUOTE> <P>Dimensiones del plato de acero inoxidable: 230mm x 335mm<BR>Dimensiones = de la b=E1scula: 320mm x 335 mm x 110 mm<BR></P></BLOCKQUOTE></BLOCKQUOTE><= /BLOCKQUOTE></TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTextoPrincipal bgColor=3D#ffffff height=3D19 vAlign=3Dcenter al= ign=3Dmiddle>Modelo</TD> <TD class=3DTextoPrincipal bgColor=3D#ffffff height=3D19 vAlign=3Dcenter al= ign=3Dmiddle>Capacidad</TD> <TD class=3DTextoPrincipal bgColor=3D#ffffff height=3D19 vAlign=3Dcenter al= ign=3Dmiddle>Divisi=F3n</TD> <TD class=3DTextoPrincipal bgColor=3D#ffffff height=3D19 vAlign=3Dcenter co= lSpan=3D2 align=3Dmiddle>Tama=F1o del plato</TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>ACS-3Z</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>3 kg</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>0,1 g</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter c= olSpan=3D2 align=3Dmiddle>335 x 230</TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>ACS-6Z</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>6 kg</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>0,2 g</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter c= olSpan=3D2 align=3Dmiddle>335 x 230</TD> <TD bgColor=3D#ffffff rowSpan=3D3 colSpan=3D3 align=3Dmiddle><A href=3D"ACS= pedido.html" target=3D_self><IMG border=3D0 alt=3D"" src=3D"cid:2840319332-= 5" width=3D142 height=3D43></A></TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>ACS-15Z</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>15 kg</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>0,5 g</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter c= olSpan=3D2 align=3Dmiddle>335 x 230</TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>ACS-30Z</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>30 kg</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter a= lign=3Dmiddle>1 g</TD> <TD class=3DTextoPrincipal3 bgColor=3D#ffffff height=3D19 vAlign=3Dcenter c= olSpan=3D2 align=3Dmiddle>335 x 230</TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19 vAlign=3Dcenter colSpan=3D2 align=3Dmiddl= e><A href=3D"http://www.bacsa.es/" target=3D_new><IMG border=3D0 alt=3D"" s= rc=3D"cid:2265263568-6" width=3D157 height=3D41></A></TD> <TD bgColor=3D#ffffff height=3D19 colSpan=3D3 align=3Dmiddle><A href=3D"htt= ps://www.facebook.com/pages/Bacsa/142507322476303=3Fref=3Dhl" target=3D_new= ><IMG border=3D0 alt=3D"" src=3D"cid:8690415824-7" width=3D157 height=3D41>= </A></TD> <TD bgColor=3D#ffffff height=3D19 colSpan=3D3 align=3Dmiddle><A href=3D"htt= ps://twitter.com/BACSAIP" target=3D_new><IMG border=3D0 alt=3D"" src=3D"cid= :9061305687-8" width=3D157 height=3D41></A></TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD> <TD bgColor=3D#ffffff height=3D19> </TD></TR> <TR> <TD bgColor=3D#ffffff height=3D19 colSpan=3D9> <DIV align=3Djustify> <P class=3DTexto02>Advertencia legal:</P></DIV> <P class=3DTexto02 align=3Djustify>De acuerdo con lo dispuesto en la Ley 15= /99 de Protecci=F3n de Datos de Car=E1cter Personal, le informamos que sus = datos est=E1n incorporados en un fichero automatizado cuyo responsable es B= =C1SCULAS Y ARCAS CATALUNYA, S.A. (CIF A-08944118) quien los utiliza para e= l intercambio de informaci=F3n sobre sus productos y servicios, as=ED como = para la gesti=F3n de las relaciones comerciales presentes o futuras con ust= ed o su empresa. Estos datos no ser=E1n cedidos ni comunicados a terceros e= n ning=FAn caso. Podr=E1 ejercer sus derechos de acceso, rectificaci=F3n, y= cancelaci=F3n mediante escrito (acompa=F1ando fotocopia de su DNI) dirigid= o a B=C1SCULAS Y ARCAS CATALUNYA, S.A. Pol. Ind. Santiga =96 c/. Talleres, = 2 =96 nave 1, 08130 Santa Perpetua de Mogoda (Barcelona).</P> <P class=3DTexto02 align=3Djustify>Si no desea recibir m=E1s comunicaciones= de nuestra parte, por favor devu=E9lvanos este correo indicando BAJA en el= Asunto. Este mensaje y, en su caso, los ficheros anexos son confidenciales= , especialmente en lo que respecta a los datos personales, y se dirigen exc= lusivamente al destinatario referenciado. Si usted no lo es y lo ha recibid= o por error o tiene conocimiento del mismo por cualquier motivo, le rogamos= que nos lo comunique por este medio y proceda a destruirlo o borrarlo, y q= ue en todo caso se abstenga de utilizar, reproducir, alterar, archivar o co= municar a terceros el presente mensaje y ficheros anexos, todo ello bajo pe= na de incurrir en responsabilidades legales. El emisor no garantiza la inte= gridad, rapidez o seguridad del presente correo, ni se responsabiliza de po= sibles perjuicios derivados de la captura, incorporaciones de virus o cuale= squiera otras manipulaciones efectuadas por terceros.</P></TD></TR></TABLE>= </BODY></HTML> ------=_NextPart_002_18C0_594B4318.435209EE-- ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: text/css; name="1.css" Content-Transfer-Encoding: base64 Content-ID: <4618214099-1> QGNoYXJzZXQgInV0Zi04IjsNCi8qIENTUyBEb2N1bWVudCAqLw0KDQouZm9uZG8gew0KCWJhY2tn cm91bmQtaW1hZ2U6IHVybCguLi9JbWFnZW5lcy9Gb25kb1RhYmxhLmdpZik7DQp9DQouTWVudVN1 cGVyaW9yIHsNCglmb250LWZhbWlseTogQ2FsaWJyaTsNCglmb250LXNpemU6IDE0cHg7DQoJZm9u dC1zdHlsZTogbm9ybWFsOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCXRleHQtdHJhbnNmb3JtOiBj YXBpdGFsaXplOw0KCWNvbG9yOiAjRkZGOw0KfQ0KLlRleHRvUHJpbmNpcGFsIHsNCglmb250LWZh bWlseTogQ2FsaWJyaTsNCglmb250LXNpemU6IDE4cHg7DQoJZm9udC1zdHlsZTogaXRhbGljOw0K CWZvbnQtd2VpZ2h0OiBib2xkOw0KCWNvbG9yOiAjMDAwOw0KfQ0KLlRleHRvUHJpbmNpcGFsMiB7 DQoJZm9udC1mYW1pbHk6IENhbGlicmk7DQoJZm9udC1zaXplOiAxNXB4Ow0KCWZvbnQtc3R5bGU6 IGl0YWxpYzsNCglmb250LXdlaWdodDogYm9sZDsNCgljb2xvcjogIzAwQzsNCn0NCi5UZXh0b1By aW5jaXBhbDMgew0KCWZvbnQtZmFtaWx5OiBDYWxpYnJpOw0KCWZvbnQtc2l6ZTogMThweDsNCglm b250LXN0eWxlOiBpdGFsaWM7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCn0NCi5UZXh0b1ByaW5j aXBhbDQgew0KCWZvbnQtZmFtaWx5OiBDYWxpYnJpOw0KCWZvbnQtc2l6ZTogMThweDsNCglmb250 LXN0eWxlOiBpdGFsaWM7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCgljb2xvcjogI0YwMDsNCn0N Ci5UZXh0bzAxIHsNCglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsN Cglmb250LXNpemU6IDEwcHg7DQoJZm9udC1zdHlsZTogbm9ybWFsOw0KCWZvbnQtd2VpZ2h0OiBi b2xkOw0KCWNvbG9yOiAjMDAwOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5UZXh0bzAyIHsN Cglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6 IHgtc21hbGw7DQoJZm9udC1zdHlsZTogbm9ybWFsOw0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJ Y29sb3I6ICM5OTk7DQp9DQouVGV4dG8wMyB7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRp Y2EsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxMHB4Ow0KCWZvbnQtc3R5bGU6IG5vcm1hbDsN Cglmb250LXdlaWdodDogbm9ybWFsOw0KCWNvbG9yOiAjMDAwOw0KfQ0KLlRleHRvMDQgew0KCWZv bnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTBw eDsNCglmb250LXN0eWxlOiBub3JtYWw7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJY29sb3I6ICNG MDA7DQp9DQouVGV4dG8wNSB7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMt c2VyaWY7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdl aWdodDogYm9sZDsNCgljb2xvcjogI0YwMDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouVGV4 dG8wNiB7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJZm9u dC1zaXplOiAyNHB4Ow0KCWZvbnQtc3R5bGU6IGl0YWxpYzsNCglmb250LXdlaWdodDogYm9sZDsN Cgljb2xvcjogIzAwMDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouVGV4dG8wNyB7DQoJZm9u dC1mYW1pbHk6IENhbGlicmk7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtc3R5bGU6IGl0YWxp YzsNCglmb250LXdlaWdodDogYm9sZDsNCgl0ZXh0LWFsaWduOiByaWdodDsNCn0NCi5UZXh0bzA4 IHsNCglmb250LWZhbWlseTogQ2FsaWJyaTsNCglmb250LXNpemU6IDIwcHg7DQoJZm9udC1zdHls ZTogaXRhbGljOw0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJY29sb3I6ICMwMDA7DQoJdGV4dC1h bGlnbjogY2VudGVyOw0KfQ0KLlRleHRvMDkgew0KCWZvbnQtZmFtaWx5OiBDYWxpYnJpOw0KCWZv bnQtc2l6ZTogMThweDsNCglmb250LXN0eWxlOiBub3JtYWw7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7 DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLlRleHRvMTAgew0KCWZvbnQtZmFtaWx5OiBDYWxp YnJpOw0KCWZvbnQtc2l6ZTogMThweDsNCglmb250LXN0eWxlOiBub3JtYWw7DQoJZm9udC13ZWln aHQ6IG5vcm1hbDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouVGV4dG8xMSB7DQoJZm9udC1m YW1pbHk6IENhbGlicmk7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWZvbnQtc3R5bGU6IGl0YWxpYzsN Cglmb250LXdlaWdodDogbm9ybWFsOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KLlRleHRvMTIg ew0KCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6 ZTogMTVweDsNCglmb250LXN0eWxlOiBub3JtYWw7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCglj b2xvcjogIzAwMDsNCn0NCi5UZXh0bzEzIHsNCglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGlj YSwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6IDIwcHg7DQoJZm9udC1zdHlsZTogbm9ybWFsOw0K CWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJY29sb3I6ICNGOTA7DQp9DQouVGV4dG8xNCB7DQoJZm9u dC1mYW1pbHk6IENhbGlicmk7DQoJZm9udC1zaXplOiAyNHB4Ow0KCWZvbnQtc3R5bGU6IGl0YWxp YzsNCglmb250LXdlaWdodDogYm9sZDsNCgljb2xvcjogIzA5QzsNCn0NCi5UZXh0bzE1IHsNCglm b250LWZhbWlseTogQ2FsaWJyaTsNCglmb250LXNpemU6IDM0cHg7DQoJZm9udC1zdHlsZTogbm9y bWFsOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCWNvbG9yOiAjRjAwOw0KfQ0KLlRleHRvMTYgew0K CWZvbnQtZmFtaWx5OiBDYWxpYnJpOw0KCWZvbnQtc2l6ZTogNDRweDsNCglmb250LXN0eWxlOiBu b3JtYWw7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJY29sb3I6ICNGMDA7DQp9 ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/jpeg; name="2.jpg" Content-Transfer-Encoding: base64 Content-ID: <3727924061-2> /9j/4AAQSkZJRgABAgEAYABgAAD/4Q7QRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodp AAQAAAABAAAApAAAANAADqYAAAAnEAAOpgAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dz ADIwMDk6MDI6MTkgMTA6MzU6MjEAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAACgKADAAQAAAAB AAAAdQAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAA2aAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAABIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAHQCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9N6hTk5GDkUYl32bItreynIjd6b3AtZdt03en9NcR/zB+unH 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 /wCHPJGXtuyUuyRTHjTlStF5TPx8/q31xsb0/P8AsX7IxK22PFbLT6mU91j69l/tbvx6K/eujwOn 04Nb21l1llzzbfdYQbLLCA11thaGs+i1rWsrZXVVX+iprrqXNfVsWft7O2u6icjez9qfam4IYX+l +q7vsj3ZLa/R2+j9m/Rf+CrrgrXMzkYwhDXFDHDUQ4L/AM5xT4YSnH3/AHOBbEbk72//2f/tE4RQ aG90b3Nob3AgMy4wADhCSU0EBAAAAAAABxwCAAACAAAAOEJJTQQlAAAAAAAQ6PFc8y/BGKGie2et xWTVujhCSU0D7QAAAAAAEABgAAAAAQACAGAAAAABAAI4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AA ADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhC SU0ECgAAAAAAAQAAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9QAAAAAASAAvZmYAAQBsZmYA BgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAA AAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////// //////////////8D6AAAAAD/////////////////////////////A+gAAAAA//////////////// /////////////wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAA ADhCSU0EGgAAAAADPQAAAAYAAAAAAAAAAAAAAHUAAAKAAAAABABsAG8AZwBvAAAAAQAAAAAAAAAA AAAAAAAAAAAAAAABAAAAAAAAAAAAAAKAAAAAdQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA AAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAdQAAAABSZ2h0 bG9uZwAAAoAAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGlj ZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3Jp Z2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAA BmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25n AAAAAAAAAABCdG9tbG9uZwAAAHUAAAAAUmdodGxvbmcAAAKAAAAAA3VybFRFWFQAAAABAAAAAAAA bnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5j ZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVt AAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNl VmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JU eXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAA DGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAM AAAAAT/wAAAAAAAAOEJJTQQRAAAAAAABAQA4QklNBBQAAAAAAAQAAAABOEJJTQQMAAAAAA22AAAA AQAAAKAAAAAdAAAB4AAANmAAAA2aABgAAf/Y/+AAEEpGSUYAAQIAAEgASAAA/+0ADEFkb2JlX0NN AAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwM DBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwM DBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAdAKADASIAAhEBAxEB /90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAAB 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 1MabL73Ndcz2+yy22/0/5v8A4lYeCPqv6/TPTPVvtfqV+l6ow59P7Ng/YvW93oel+zdnoeh+vf0/ 11rfWb/md9s+sH245f7T2U+v6W31PR9Kr/kv7T+p/wBF+1fad/636P7T/wAAhwcvRHpr9L1fZxHi ZDzXxf3cc6y+5Uo4R7Mfl/yntY/a4P70+F2MLpv1Jdi4+Eyzp+TkW1OFdodU+yzaHtturh26z0/S u935no2f6NVPqj9WKcLNHVcHqlHUcYtfU51ABaZjT1a7bWbmuaz2rJ6gOhbq/th6oW/szI9T0BiA /Z/TyvW+0/Y3et6fq+r6Hr/5P+3+l6X/AGpXX/Vb0Ps2XtOScz7U79onMFYu+0enT9IYc4fp/ZPs no/Zf0Xo/wDC+qnViMon08Q+SiwDJ8QjizR/W+1P/dHHDjj/AIc8kZe27JS7JFMeNOVK0XlM/Hz+ rfXGxvT8/wCxfsjErbY8VstPqZT3WPr2X+1u/Hor966PA6fTg1vbWXWWXPNt91hBsssIDXW2Foaz 6LWtaytldVVf6Kmuupc19WxZ+3s7a7qJyN7P2p9qbghhf6X6ru+yPdktr9Hb6P2b9F/4KuuCtczO RjCENcUMcNRDgv8AznFPhhKcff8Ac4FsRuTvb//ZOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABv AGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAEwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8A cAAgAEMAUwAzAAAAAQA4QklNBAYAAAAAAAcACAABAAEBAP/hDpdodHRwOi8vbnMuYWRvYmUuY29t L3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3pr YzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2Jl IFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3NjcyMCwgTW9uIEZlYiAxOSAyMDA3IDIyOjQwOjA4ICAg ICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt cmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4YXA9 Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcv ZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bo b3Rvc2hvcC8xLjAvIiB4bWxuczp4YXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21t LyIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHhtbG5zOmV4aWY9 Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4YXA6Q3JlYXRlRGF0ZT0iMjAwOS0wMi0x OFQxNTozMzoxMiswMTowMCIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDItMTlUMTA6MzU6MjErMDE6 MDAiIHhhcDpNZXRhZGF0YURhdGU9IjIwMDktMDItMTlUMTA6MzU6MjErMDE6MDAiIHhhcDpDcmVh dG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzIiBkYzpmb3JtYXQ9ImltYWdlL2pw ZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOklu c3RhbmNlSUQ9InV1aWQ6MERDMkQ0OTY2OEZFREQxMUJERTlCNkYwMUFFQzUyMjUiIHRpZmY6T3Jp ZW50YXRpb249IjEiIHRpZmY6WFJlc29sdXRpb249Ijk2MDAwMC8xMDAwMCIgdGlmZjpZUmVzb2x1 dGlvbj0iOTYwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZmOk5hdGl2ZURp Z2VzdD0iMjU2LDI1NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2 LDMwMSwzMTgsMzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7MzJGQzk2 RURCOTc1MjQ0RDFDODlGRDgwNTgyMDkxRDMiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI2NDAiIGV4 aWY6UGl4ZWxZRGltZW5zaW9uPSIxMTciIGV4aWY6Q29sb3JTcGFjZT0iLTEiIGV4aWY6TmF0aXZl RGlnZXN0PSIzNjg2NCw0MDk2MCw0MDk2MSwzNzEyMSwzNzEyMiw0MDk2Miw0MDk2MywzNzUxMCw0 MDk2NCwzNjg2NywzNjg2OCwzMzQzNCwzMzQzNywzNDg1MCwzNDg1MiwzNDg1NSwzNDg1NiwzNzM3 NywzNzM3OCwzNzM3OSwzNzM4MCwzNzM4MSwzNzM4MiwzNzM4MywzNzM4NCwzNzM4NSwzNzM4Niwz NzM5Niw0MTQ4Myw0MTQ4NCw0MTQ4Niw0MTQ4Nyw0MTQ4OCw0MTQ5Miw0MTQ5Myw0MTQ5NSw0MTcy OCw0MTcyOSw0MTczMCw0MTk4NSw0MTk4Niw0MTk4Nyw0MTk4OCw0MTk4OSw0MTk5MCw0MTk5MSw0 MTk5Miw0MTk5Myw0MTk5NCw0MTk5NSw0MTk5Niw0MjAxNiwwLDIsNCw1LDYsNyw4LDksMTAsMTEs MTIsMTMsMTQsMTUsMTYsMTcsMTgsMjAsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMzA7NzJBQTQ5NzND RkZFMDYyOTdCMjVEN0VEQTU4NTg1NTciLz4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQg ZW5kPSJ3Ij8+/+4ADkFkb2JlAGRAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQEBAQEBAgIBAgIDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAdQKAAwER AAIRAQMRAf/dAAQAUP/EAQ4AAAEDBAMBAAAAAAAAAAAAAAAICQoDBAcLAgUGAQEBAAAGAwEAAAAA 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 ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="3.gif" Content-Transfer-Encoding: base64 Content-ID: <0306015776-3> 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 ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="4.gif" Content-Transfer-Encoding: base64 Content-ID: <7306217905-4> R0lGODlhyACAAPcAAAQKFEyIS3WIqkNLU4nIpzxNjYOqszS6P1NtT7nI29Xn8w0dbJCnzVprkmbB eTtObHeGkX2IxLnX44rCpE/QWSQrM2yarFtqdFxsrDM6QzulQVO4XSQ6XFNdTcTa9KOns5m4zURc cWt8jkdbk5WYqLTJ7FWmgml7hOr3+zZLYVSjXCQ0fNXZ4Km93cXJ1i08UGy4kElhfIWTmy/DP1Zs f3WItY62vyMuRFTGXY2etuTo7T2sQ7W5zbK4wXymvFB8TIaYxml7pGVufaGpvVZebDw+TIqHlE5c pC1AglSGXGp9rUFNnMDe4D5SYxkoc2vLdWHHbLzO3FpsoSszO4F9jH+QpU5UUFPcX5TGxNfv+8PY 7I6erELETp+wwlGUUkxcY6q/0U5jlFzGZI6xv259vGrAhMrg99/f4y9DVE+sU0y4U1BzS5uxzTdL hIKYuS9BXMfP2rO+wzRFjV3PZZTAw42X1UFUj7bJ5ISQyCEsPFGgVG6Ck2TCjFxyhHqQuGl0ghwt fBohLmSmnFStXFSYXLvGy1R8VCMzdIbOpWJ1jFyygOvx9AwVIYLGnE62bHS2nImwtD1VbDxCRLvR 7Cg1R1OJVHWJnJSUnIqKnE+ybEpjdLnB0Vhkbz1ET1hlpkdVnWBzonift5yu3BQidGJ1rlNjTYyh x2iylFSabD1UhJTGtM3n/ExcnKK3w8rf7ExUYJCQpNjg7FV0VMbR5IyS1Ofx/FK+XHqChPz+/K/C 3nW+jTTKRJeitkzKVFdiZEuyUEq+UU6mUlymjGzKhLzQ5FFknFCOTGvGelHWW6eutCk6fk5mfFPK XTyyRE2CTG6CnTRGhG+CsBwudDRGXVTWZCAmMk6yYGSyjE9MT4+otJ6qz8bW44SXqmRrczw8RMza 9Ki4z3d8hPj5+0RNXD/DRJyetJOnvjQ1PJ2erE3FVK2xwVVdZNXh9aWyzcG/xHrDk8XIzMXS7BQi bIyOlFiOYH+CjVKaU13KZG6CvZSe3FSCVSQ6dJyanHLGhHyOnI2OnCH5BAAAAAAALAAAAADIAIAA Bwj/AMMJDEelnsCCVBIqLGjECMOGEP9hMlKv4b95DWXIuMSxY0d+JNDxQ/eB5IcPyZKpS9mjZUt3 MN3BkwmvUMyZMTfFlHmTJ06dMAvp7AFP56ajRWEadddDqbtC8OC4KOSiJrwE8KJKpboplzseMFvy 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 EXVUzZMgxUAop5NQCYD+p4BSR0AAADs= ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="5.gif" Content-Transfer-Encoding: base64 Content-ID: <2840319332-5> R0lGODlhjgArAPf/ACIhJDQ0ND4/P1BPUgsLEXV2clZWWWhpaFxcYEJCQ4OEfWVlZTIzM05OUE1N T1JSUzY3NywsLjk6Ojk5OUFBQUBBQjs8O2xta1lYXEtMTj0+PlVVVmNkYxwcH4GCe1BRUj9AQD9A QBwcHkRERU5NUXFyb1taXDo7O1dXWERERi8vMFFRU0tLTW5vbElJShcWGUZHSWdoZ0VFRmFiY11f Xzw9Pzs7OxoaHD0+P0lJSmZnZiYmKUNDRD0+QFRTViMjJUVFSB0dICkpLP///zQzMzo7Ozk6OTg5 OE5OT0xNTTc4N09QUDc3N09PTzo7OlNUVDc3N1BRUT4/P2BhYTg5OFZWVzc3NltbW4GBezU1NkRG RT9AQENEREBBQDw8PEZHRkFDQkxMTEJDQ0dISDw9PT0+PkpLS0lKSkhJSTExMjg5ODMzNDc5ORsb HkNEQzU1NRwcHzY3NzQ1NRsaHTs9PT4/QDw+P0ZISB0cHzY4OD0+PsG9uE1OTjQ2NiQlJz4/PxkZ HEVGR0VGRT0+PTk8O09QUFtcXRobHVhYWVpbXFdYWSAgI1FSUoaFgTU1Nzk7OhgZGzAwMSQkJjU1 Nj4/QTg4NzAwMVVVV1ZWWDg4OEBAQDg5OUpKS0dISFNUVDs8Oz4/QC0uL1NUVTg5O0ZGR2BhYT8/ QDw9PUZGR19gYENERFNTVDc4OD0/PlRTVUJCQ8PAuzw9PTw9PU9OTzQ1NlZXWEtLS1BPUEFDQl1e XkZGR1tbXltdXUtMTElKS0dISEZHRxgXGlBPUUJDQ0NDRFhZWltaXEtMTVJTUzk5OERFRUBBQUhJ SUdISX+Aej8/PzIyMzk6OlNUVTc4OmpraXR0cDc5OTg6Ojs9PkZGSEBBQ0JDRC4uL0tMTXJ0cEBA QlVUWF9fYWJjZD5AQFNRVTc4Nzw+PVxbXTEyMlVUVkJDRkhISj4/QEBAQ1NTVnh5dD9AQTk7PDk7 PD0+PRkYGzU2N05QUUxMTyQkJkZISkpLTTY2OEhJTC8vMFlZXP///yH5BAEAAP8ALAAAAACOACsA AAj/AP8JHEiwoMGDCBMqXMiwocOHECNKnEixosWLC/dg0EOko8ePIEOKHEmypMmTKFOqLKkHw56C jf4geKdAgQcPWHLq3Mmzp8+fQIMKHUq0qNGcNz04q2bsT6OBewJ4U1CAGodSWLNq3cq1q9evYMOK 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 r1oWLsGIrGdN61o/JCAAOw== ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="6.gif" Content-Transfer-Encoding: base64 Content-ID: <2265263568-6> R0lGODlhnQApAPf/AMvX1te1tbKzs5mZm8aDg/rFxO7u7tHS06qqqrTMy+smK2pqa+no6PzY1sV3 d+Li4t3d3dXV1rq6uvipqPi4t+kyN/AUHfV4efX19ev8/JKSkvn5+bmXl6amptDb23p6e/aYmNmm pvJoalNUVKy4uYqKivD9/QAAAISEhO0WHSgoKP39/ctnaO4ZITw8PPX//sLCwkpKSt/t7tra2sPD w9lGSd7g4nNzc+Py8sGmpsnJyf729O0eJjExMb18fL2Jic3Ozfzh4OwQGL++vvNJS+bm5tFUVvFW WewMFdfY2dLU1evx8vDx8fn//w8PD+Xp6vqFhd04Pe87Purq6p6enuQsMcOQkZWVleTHx77Y17u+ wcHGyNeJifWNjP3t7Mnj49BZXOVXW9rq6d7k5aKiouDg4Nh1eNJOUe0cJObk5PNfYfqMjLa5vP77 +tbIyPT09N3f4NXj4vH6+umZms7Gxurt7dXW16/Av9+Zmtzy8sVvcPv//+4cJNja2+bn6Nrc3d/p 6ra3t+Hk5tnm5vWAgM3P0e0FDefn5vX7+8bHxuwYH9rZ2ZqbnPINFt7i5NDf3sbKyfAXH+caIe0b Iu9ER+Li4dHT1OseJNvb266vr/3o5svKyv/+/dnb28tfYe4bI9zc3MTGx/Lz8+whJ+0XH+Pj482+ vf/8+/749uwUHN/n5+Di4szMzMd/gOkWHa+fnp+fn+obI////+Xl5eTk5MXFxf7+/v7//+Xk5OXl 5O0dJe0SG9/f3+zs7Dc3N+Tk47/Cxn9/f9fX15ybnNnZ2Kamp6SorEBAQOnp6f///pSUlMvLzMTE xO7CwqCfoNjY2NTU1I+Pj46RkuDw7+UgJtDQz/v7+/b395eXl6SkpJycnFxcXOmkpPzw76CgoOfp 6+rq6f7+///+/sjIyP/+/+r397y8vLfBwOHh4aioqL+xsORNUPBOUOfo6PJvcOvr69FjZZOTk+Tk 5bO5uOTl5vagn+wPF2RkZNbu7uoSGfzOzebm5bOko8bQzx4eH////yH5BAEAAP8ALAAAAACdACkA AAj/AP8JlPVEHgMGyJAdXMiwocOHECNKnEixosWLGBEmZHDIjwyBIAXWeZBrVpEis1KqXMmypcuX MGPKnEmzps2bKk/SSuMIUch/G/6UekCLHq2jSGmVWsq0qVOmSJ9KXXp0qtVSVa9CVarVadauYKUm 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 ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="7.gif" Content-Transfer-Encoding: base64 Content-ID: <8690415824-7> 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 tWAbtmI7tmTbDCrgAxHqFAEBADs= ------=_NextPart_001_18C0_594B4318.435209EE Content-Type: image/gif; name="8.gif" Content-Transfer-Encoding: base64 Content-ID: <9061305687-8> R0lGODlhnQApAPf/ABBlla7AxqG2vYmqupattVB6kNvk6VJlfEpabTlHWL/N0t3d3WiSp9Pe48zM zHOgsxJUd8HP0xWJrf///4mcqPb29vLy8peXl+jo6BFsmRuqxE6EnsjU2HCGkyBpl06IohSApoez xRiauRJxnHKrvhaQsuXl5cbT15eutjV2khZIZxg4TRaMsBmdu/T09MLQ1Ka6wRqjwCiWtuLi4hqi vhqowxJliiFaeRFolhmcug9ikkuXtam8wtra2iSHrEmowxeVtrKysrTFyjOZuCRyl9bW1kq41O7u 7hR+pRBYeBWFqpuxuLHCyDunx7LEyaS4v2d6ixN4obbGzKy+xDdie9DQ0A9djyyivw9hihiWtjOI pBJhhqfL1xNxlcTS1xJwmzGyzQ9gkczZ3SVig5nD05i6xw9ekBNpjIuhrZyyulChu/r6+hSCqBJ2 oDNqhsbT1hFrmBBdhSBSbxJ0nqWmpyqtyLbS3lWowg9bgBxCWeLs8BeTtPH3+LjIzRR5nq/Bx1S+ 2hJpkhV+oaa+yb2/wE+RqxN7pBFhgBaLrbjIzJyhphlmihJslR1tmkFxi8TR1SV9nrvKzxiYtxqn whaJql2GmlaZsJK1wOHp7R1hgRR1mhNhkhNskMTV3hErPiFMZR5+pqq9w6i7wpeuvB+ivzqMs5+0 vB6qxSaNsKa6xpivtzFcdbrN0/D09hRvkqq2vx6mwhVxnBFnjzqBnbXP2BR3nMTP1xqiwKe8wuvu 7xR7oKO3vg9gkvDz9RJ0lxN9oRyowhZikxqhvsXf50JQYg1TcBJOcBxnlRt3ohRzlxmhvhqmwRmf vJ60u7zL0LnJzhWHq5WstA9jkyBQbfv7/BFumn3A0T6SrrXI0hdsmj20z7LJ0K+5xCKCpw9fkKa3 w0GNqhhxnTihviJnjd7m6urr60KvzajS3bjO16jCy6CruN/l6H2SoVtygxdpl5adohugvdPW19TT 0xBlkBRpmLbV4JaosRZ4l6KyuZ+1vKS0u4q9zu/z9Z69yMDV3P///yH5BAEAAP8ALAAAAACdACkA AAj/AP8JHEgNjZsbchIqXMiwocOHECNKnEhx4qoDGDNq3MixI8d29qgNHDmSnZwUO34AWsmypcuX LOXAnEmzps2bOFv+2JFCDhUO5AwIHUq0qNGjQxVwY3eAAsmB/AqM+WEETJ1TGrJq3cq1a1Y5RryK HUu2rNmzWU/VAWPkx5gCJzjInUu3rt26J/LGFSOmgQIoUHqR5OBolpE6wNCaBau4sePHY4HVMTKr EhO9mDNj5qA575vPbzD3RQNFzEhH4LSdmsSadY3XrSfBjl1Ddu3ZYGW7fl27dW/YvGf7vj3cNnDh tnUPD/47OO1T2sBVwuzFS+bq1albx849+wnrDdRB/xlYIIU2YMuWsU7PflmMGLduvX+ffpJ6++uX gb1/P3/r+vb1F6B6/LH3338EtpdgfQIGiB+CBtoHjDYpsPPII15guN2FHFanIYcfXphhdyc0wA47 /1QwjTmwxMDefPMp00IOkoiQAzPCzPdievTdYASML9KnoI5Duuieezq6SB+MQBrp5JHtCckjk/PB 8sM0Cjzywgsgbunll1yCqOWWWo554QsZHlABOynUEQMNNDApDDw0lsACCyWUIEkLwggD559xwhnD DebAGOd7gr55qKLzJYoooIsm6uikjr5paaNUItooDXWkgMaWEYDpZaigRmAqmKem+qUY7KBBxTWk MP/DjDK00spMCyLsgUgI6GAiRjriZNGCrLUWSyuhxiar7LLMNuvss8+Sck0BpipgagTWXotttQp0 m6222Fr7bQSPvNLONENkIYIILQzLTA407gFNCBXUW4E/qLCgrruy9isrof4GLPDABBds8MEIEwyP OKt46/DDEEcscbfYHvCJDJSwsEcWNcIribwk2FvBr1qwobEk8KacQ7stEAovyzC/DPPMNMescrsy 54yzzDHjPKPNK9vM8hWfOOOwM0g/nLS3RhuttNPdGs0BAp/QsgMISiBSwsZA6OpDLiLb248giOwB xLpoo51JE2m37fbbcMct99x0x0000njnrffefOv/rQDeU6tQrxgk+MFGxixQIkg6YYu8DdklZMGx JJRTvnblmGeueeUyWDPMMOf8MPnmWfxgDRCbp6766ppfocIzsD8Tyey0RwI77bfLnrvtscseCdKR vIGA4PaSU7ggIAiiReNhlwECJVsDIf30a09v/fXYdz0EH3oMMAAtXLCQvfQsDDOBGmaPr/767Mug Qh/PwN/7/LH3Yf/9idgfP/2xP4JAHuQIGzke0IUu9IN5IsuFFp6HCDztYWt7yIQ49kDBClrwghZk ARlacYNDeNAVlMBgBZUwiwfcA4IiTKEKV1hBGeShD1KA4f1mSEMYSiGGMbShDG14Q/v5Lw/Mc0E6 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 c+z5FAEBADs= ------=_NextPart_001_18C0_594B4318.435209EE-- From nicolas.pitre@linaro.org Wed Jun 4 12:30:40 2014 Return-Path: <nicolas.pitre@linaro.org> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E24737F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 12:30:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B61D8304077 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 10:30:37 -0700 (PDT) X-ASG-Debug-ID: 1401903035-04cbb07527008b0001-NocioJ Received: from mail-qg0-f54.google.com (mail-qg0-f54.google.com [209.85.192.54]) by cuda.sgi.com with ESMTP id UiT2E9fgldQ3MmLm (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 10:30:36 -0700 (PDT) X-Barracuda-Envelope-From: nicolas.pitre@linaro.org X-Barracuda-Apparent-Source-IP: 209.85.192.54 Received: by mail-qg0-f54.google.com with SMTP id q108so16369631qgd.27 for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 10:30:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; bh=ApM5KFOLKRpa/xB/aO77atfU37PCIngqnwZb5nvxC6I=; b=X3rGlmloNG71tJ4LTTsFbW4QQ9qz34quolPU7UxOcONsUBc3EUOkozs0JA2jc+IUlD aIVyvcFD8EUo9eKfpg9OKaHALLLUIPPn7dpm/S7qDCTQYLsTnqlytVTKRpAHYdZ2S/8F ciaAKZveCdea+H9i9ylpYSUK8Y+dP/ceSZihUEqwki/0Fz0tzEZK4wboI6NYhdMDAwO5 Yg1g18WzyZ0JJ5hQDxHOQzU7Hg0xiAovuuYXgT1V8El8GEqC/DoHBLiSrLgAS2ZtEWeu WkoUD6biNdjSIYgVd3lHlWs+bKntzQSYR4x7sZjxSaa6iCcHVcwKnz+DDXPhPqZCpv4b tPvQ== X-Gm-Message-State: ALoCoQkvOWIwLFRhhdcik7s8hfZ8crcwFsfHvdb6H7gTNjuC42DKJMb/bwBO9CFNZh85zOBatP3b X-Received: by 10.224.19.196 with SMTP id c4mr8424728qab.86.1401903035605; Wed, 04 Jun 2014 10:30:35 -0700 (PDT) Received: from xanadu.home (modemcable177.143-130-66.mc.videotron.ca. [66.130.143.177]) by mx.google.com with ESMTPSA id l10sm5074719qae.41.2014.06.04.10.30.33 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Jun 2014 10:30:35 -0700 (PDT) Date: Wed, 4 Jun 2014 13:30:32 -0400 (EDT) From: Nicolas Pitre <nicolas.pitre@linaro.org> To: Arnd Bergmann <arnd@arndb.de> cc: Dave Chinner <david@fromorbit.com>, hch@infradead.org, linux-mtd@lists.infradead.org, "H. Peter Anvin" <hpa@zytor.com>, logfs@logfs.org, linux-afs@lists.infradead.org, "Joseph S. Myers" <joseph@codesourcery.com>, linux-arch@vger.kernel.org, linux-cifs@vger.kernel.org, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, geert@linux-m68k.org, linux-ext4@vger.kernel.org, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, xfs@oss.sgi.com, john.stultz@linaro.org, tglx@linutronix.de, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, lftan@altera.com, linux-btrfs@vger.kernel.org Subject: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <201406041703.47592.arnd@arndb.de> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <alpine.LFD.2.11.1406041308300.17310@knanqh.ubzr> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <5011138.W0gbOc20Qp@wuerfel> <20140603213802.GH14410@dastard> <201406041703.47592.arnd@arndb.de> User-Agent: Alpine 2.11 (LFD 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: mail-qg0-f54.google.com[209.85.192.54] X-Barracuda-Start-Time: 1401903035 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6378 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, 4 Jun 2014, Arnd Bergmann wrote: > On Tuesday 03 June 2014, Dave Chinner wrote: > > Just ot be pedantic, inodes don't need 96 bit timestamps - some > > filesystems can *support up to* 96 bit timestamps. If the kernel > > only supports 64 bit timestamps and that's all the kernel can > > represent, then the upper bits of the 96 bit on-disk inode > > timestamps simply remain zero. > > I meant the reverse: since we have file systems that can store > 96-bit timestamps when using 64-bit kernels, we need to extend > 32-bit kernels to have the same internal representation so we > can actually read those file systems correctly. > > > If you move the filesystem between kernels with different time > > ranges, then the filesystem needs to be able to tell the kernel what > > it's supported range is. This is where having the VFS limit the > > range of supported timestamps is important: the limit is the > > min(kernel range, filesystem range). This allows the filesystems > > to be indepenent of the kernel time representation, and the kernel > > to be independent of the physical filesystem time encoding.... > > I agree it makes sense to let the kernel know about the limits > of the file system it accesses, but for the reverse, we're probably > better off just making the kernel representation large enough (i.e. > 96 bits) so it can work with any known file system. Depends... 96 bit handling may get prohibitive on 32-bit archs. The important point here is for the kernel to be able to represent the time _range_ used by any known filesystem, not necessarily the time _precision_. For example, a 64 bit representation can be made of 40 bits for seconds spanning 34865 years, and 24 bits for fractional seconds providing precision down to 60 nanosecs. That ought to be plenty good on 32 bit systems while still being cheap to handle. Nicolas From dhirajbhor21@gmail.com Wed Jun 4 12:33:54 2014 Return-Path: <dhirajbhor21@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 159557F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 12:33:54 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E4F248F8049 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 10:33:53 -0700 (PDT) X-ASG-Debug-ID: 1401903232-04cb6c78c600d00001-NocioJ Received: from mail-qg0-f47.google.com (mail-qg0-f47.google.com [209.85.192.47]) by cuda.sgi.com with ESMTP id qvOjmmIXN9hysBHt (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 10:33:53 -0700 (PDT) X-Barracuda-Envelope-From: dhirajbhor21@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.47 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] Received: by mail-qg0-f47.google.com with SMTP id j107so16140906qga.34 for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 10:33:52 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=WRjlE6btXFx4kldPPoik/jQEWKaPNzWzQNN/rh+Oczg=; b=I6jqwCEyNPOS4MtTjsC/oYuZ7yzYbJhgoxyQ5tdkQ3jHa4m4IscMP1BLd71FAK5qI2 mJYPTNSCoYNmPRagdMaYCDkxtmr+vANjRe8VnEt/K8sVYaVI5xJiud+UdF4wSOcjQjcp 58JrBWMi9NSVzLW8uN8xmQQciYScqwhGD/gyxmP8vCMdfFFleQLrV8hU33yX7m7UKIhF iB9vOIhxON44PF/JEzkz0C5PlIkDzKPnCOJGK+n+KsTPrAsfOEh/XVN/MrnAbN7brfoE 9OyFcW2MeuI6wN7zSLag2YPwHaiLbf2WLyvdz7vIMwybVIXxExZfMUdxb2z43S2V1pX+ GTMw== MIME-Version: 1.0 X-Received: by 10.140.81.16 with SMTP id e16mr68692552qgd.110.1401903232600; Wed, 04 Jun 2014 10:33:52 -0700 (PDT) Received: by 10.96.174.39 with HTTP; Wed, 4 Jun 2014 10:33:52 -0700 (PDT) Date: Wed, 4 Jun 2014 23:03:52 +0530 Message-ID: <CAMqKDv6Ki0vxBkbAJFyZ19C0SqBihSc6kii8cjagtOFF7ECi5A@mail.gmail.com> Subject: Why xfs is not permitted on bootable partitions in RHEL 7? From: Dhiraj Bhor <dhirajbhor21@gmail.com> X-ASG-Orig-Subj: Why xfs is not permitted on bootable partitions in RHEL 7? To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=001a11c119e230697704fb06088e X-Barracuda-Connect: mail-qg0-f47.google.com[209.85.192.47] X-Barracuda-Start-Time: 1401903233 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.41 X-Barracuda-Spam-Status: No, SCORE=0.41 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6378 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --001a11c119e230697704fb06088e Content-Type: text/plain; charset=ISO-8859-1 Hi all, I am new to this mailing list. I came across a issue with xfs while installing RHEL 7. When I created "custom layout" and created /boot partition with xfs file system it shown me error as "/boot filesystem cannot be of type xfs". Why xfs is not allowed on /boot partition? Help me resolving this issue. Thanks, Dhiraj --001a11c119e230697704fb06088e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hi all,</div><div>I am new to this mailing list. I ca= me across a issue with xfs while installing RHEL 7.</div><div>When I create= d=A0"custom layout" and created /boot partition=A0with xfs file s= ystem it shown me error as "/boot filesystem cannot be of type xfs&quo= t;.</div> <div>Why xfs is not allowed on /boot partition?</div><div>Help me resolving= this issue.</div><div>Thanks,</div><div>Dhiraj</div></div> --001a11c119e230697704fb06088e-- From bfoster@redhat.com Wed Jun 4 13:44:47 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E65927F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 13:44:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id BAB728F8040 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 11:44:44 -0700 (PDT) X-ASG-Debug-ID: 1401907482-04bdf0566607190001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id NFb8CAquBAER0XIx for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 11:44:43 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s54IigkW029086 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 4 Jun 2014 14:44:42 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s54Iig8E021909; Wed, 4 Jun 2014 14:44:42 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id BB8E61248A9; Wed, 4 Jun 2014 14:44:40 -0400 (EDT) Date: Wed, 4 Jun 2014 14:44:40 -0400 From: Brian Foster <bfoster@redhat.com> To: Jan Kara <jack@suse.cz> Cc: xfs@oss.sgi.com Subject: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140604184440.GC55624@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401900833-25485-1-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401900833-25485-1-git-send-email-jack@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1401907483 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 04, 2014 at 06:53:53PM +0200, Jan Kara wrote: > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > result should be a number of a form (k*prod+mod) however due to sign > mistake the result is different. As a result allocations on raid arrays > could be misaligned in some cases. > > This also seems to fix occasional assertion failure: > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > in xfs_alloc_ag_vextent_size(). > > Also add an assertion that the result of xfs_alloc_fix_len() is of > expected form. > > Signed-off-by: Jan Kara <jack@suse.cz> > --- Looks good to me. Thanks Jan. Reviewed-by: Brian Foster <bfoster@redhat.com> > fs/xfs/xfs_alloc.c | 18 ++++++++---------- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c > index c1cf6a336a72..1351a24d3cdc 100644 > --- a/fs/xfs/xfs_alloc.c > +++ b/fs/xfs/xfs_alloc.c > @@ -257,16 +257,14 @@ xfs_alloc_fix_len( > k = rlen % args->prod; > if (k == args->mod) > return; > - if (k > args->mod) { > - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) > - return; > - } else { > - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < > - (int)args->minlen) > - return; > - } > - ASSERT(rlen >= args->minlen); > - ASSERT(rlen <= args->maxlen); > + if (k > args->mod) > + rlen = rlen - (k - args->mod); > + else > + rlen = rlen - args->prod + (args->mod - k); > + if ((int)rlen < (int)args->minlen) > + return; > + ASSERT(rlen >= args->minlen && rlen <= args->maxlen); > + ASSERT(rlen % args->prod == args->mod); > args->len = rlen; > } > > -- > 1.8.1.4 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Wed Jun 4 14:14:39 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 8CE6E7F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 14:14:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 79217304081 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 12:14:36 -0700 (PDT) X-ASG-Debug-ID: 1401909273-04cb6c78c609f40001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id zSksEj3u6gqnZPJX for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 12:14:33 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 4441761F87DF; Wed, 4 Jun 2014 14:14:33 -0500 (CDT) Message-ID: <538F701C.8040702@sandeen.net> Date: Wed, 04 Jun 2014 14:14:36 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dhiraj Bhor <dhirajbhor21@gmail.com>, xfs@oss.sgi.com Subject: Re: Why xfs is not permitted on bootable partitions in RHEL 7? References: <CAMqKDv6Ki0vxBkbAJFyZ19C0SqBihSc6kii8cjagtOFF7ECi5A@mail.gmail.com> X-ASG-Orig-Subj: Re: Why xfs is not permitted on bootable partitions in RHEL 7? In-Reply-To: <CAMqKDv6Ki0vxBkbAJFyZ19C0SqBihSc6kii8cjagtOFF7ECi5A@mail.gmail.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1401909273 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.41 X-Barracuda-Spam-Status: No, SCORE=0.41 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=SUBJECT_FUZZY_TION X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6381 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.41 SUBJECT_FUZZY_TION Attempt to obfuscate words in Subject: On 6/4/14, 12:33 PM, Dhiraj Bhor wrote: > Hi all, > I am new to this mailing list. I came across a issue with xfs while installing RHEL 7. Then it's probably a question best left to your RHEL7 support folks... > When I created "custom layout" and created /boot partition with xfs file system it shown me error as "/boot filesystem cannot be of type xfs". > Why xfs is not allowed on /boot partition? > Help me resolving this issue. ... but AFAIK that is supposed to work; it sounds like a bug if it's prohibited - perhaps you can either let your support folks know, or file a bug @ RH bugzilla. Thanks, -Eric > Thanks, > Dhiraj > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From arnd@arndb.de Wed Jun 4 14:27:10 2014 Return-Path: <arnd@arndb.de> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A75547F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 14:27:10 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 23F51AC002 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 12:27:07 -0700 (PDT) X-ASG-Debug-ID: 1401910024-04cb6c78c30b350001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) by cuda.sgi.com with ESMTP id M6fdiD5mMLw1U708 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 12:27:05 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.17.10 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue103) with ESMTP (Nemesis) id 0MVrSa-1XKkvj0iuu-00X1BO; Wed, 04 Jun 2014 21:24:43 +0200 From: Arnd Bergmann <arnd@arndb.de> To: Nicolas Pitre <nicolas.pitre@linaro.org> Cc: Dave Chinner <david@fromorbit.com>, hch@infradead.org, linux-mtd@lists.infradead.org, "H. Peter Anvin" <hpa@zytor.com>, logfs@logfs.org, linux-afs@lists.infradead.org, "Joseph S. Myers" <joseph@codesourcery.com>, linux-arch@vger.kernel.org, linux-cifs@vger.kernel.org, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, geert@linux-m68k.org, linux-ext4@vger.kernel.org, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, xfs@oss.sgi.com, john.stultz@linaro.org, tglx@linutronix.de, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, lftan@altera.com, linux-btrfs@vger.kernel.org Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Wed, 04 Jun 2014 21:24:42 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <8770583.6XeZxCxOY8@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <alpine.LFD.2.11.1406041308300.17310@knanqh.ubzr> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <201406041703.47592.arnd@arndb.de> <alpine.LFD.2.11.1406041308300.17310@knanqh.ubzr> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:DM/lJrJE4mb6T+iFyCL5XBEfoTbYuOXvde6IKvCGOVz G55a3rrYOgf/FNXs0QU64TfDtDIUUWMfGh13elMZbO1rGrrAEg WDWFL6ziSZQCzZE7GmFTeRgbaUc0cLksPQudEA0QrLVCPKvcPy Cqd7r/0pYyfuKZ7kfVvM6xQgYN4QcioF4uYb5pmxgIZ/+MDuH/ uyEiUHVHTKVaIHPpCBPyXHgy55+cgzKqvX24lMmjUyS+b4cOt3 M9BdU4dIwjMKy2cUEyK94ex5FZ14BnAIBl6BxOtMmU4gt2qhcX K2+j3uLaokuufl//ecz94gIUH+90XftVgCzc/cwstCBgC36cWZ TlJ2MJ5Y4O+ZqNmO84Is= X-Barracuda-Connect: mout.kundenserver.de[212.227.17.10] X-Barracuda-Start-Time: 1401910025 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6381 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wednesday 04 June 2014 13:30:32 Nicolas Pitre wrote: > On Wed, 4 Jun 2014, Arnd Bergmann wrote: > > > On Tuesday 03 June 2014, Dave Chinner wrote: > > > Just ot be pedantic, inodes don't need 96 bit timestamps - some > > > filesystems can *support up to* 96 bit timestamps. If the kernel > > > only supports 64 bit timestamps and that's all the kernel can > > > represent, then the upper bits of the 96 bit on-disk inode > > > timestamps simply remain zero. > > > > I meant the reverse: since we have file systems that can store > > 96-bit timestamps when using 64-bit kernels, we need to extend > > 32-bit kernels to have the same internal representation so we > > can actually read those file systems correctly. > > > > > If you move the filesystem between kernels with different time > > > ranges, then the filesystem needs to be able to tell the kernel what > > > it's supported range is. This is where having the VFS limit the > > > range of supported timestamps is important: the limit is the > > > min(kernel range, filesystem range). This allows the filesystems > > > to be indepenent of the kernel time representation, and the kernel > > > to be independent of the physical filesystem time encoding.... > > > > I agree it makes sense to let the kernel know about the limits > > of the file system it accesses, but for the reverse, we're probably > > better off just making the kernel representation large enough (i.e. > > 96 bits) so it can work with any known file system. > > Depends... 96 bit handling may get prohibitive on 32-bit archs. > > The important point here is for the kernel to be able to represent the > time _range_ used by any known filesystem, not necessarily the time > _precision_. > > For example, a 64 bit representation can be made of 40 bits for seconds > spanning 34865 years, and 24 bits for fractional seconds providing > precision down to 60 nanosecs. That ought to be plenty good on 32 bit > systems while still being cheap to handle. I have checked earlier that we don't do any computation on inode time stamps in common code, we just pass them around, so there is very little runtime overhead. There is a small bit of space overhead (12 byte) per inode, but that structure is already on the order of 500 bytes. For other timekeeping stuff in the kernel, I agree that using some 64-bit representation (nanoseconds, 32/32 unsigned seconds/nanoseconds, ...) has advantages, that's exactly the point I was making earlier against simply extending the internal time_t/timespec to 64-bit seconds for everything. Arnd From david@fromorbit.com Wed Jun 4 19:08:38 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6CD5D7F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 19:08:38 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 38D2E8F8039 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 17:08:38 -0700 (PDT) X-ASG-Debug-ID: 1401926911-04bdf05669230c0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id tjBMrJF4XhuiWv8a for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 17:08:32 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoMOADq0j1N5La4v/2dsb2JhbABZgwerewEBAQEBBpgnAYEKF3SCJQEBBAE6HCMFCwgDDgoJJQ8FJQMhE4g6B9JHFxaFP4h9B4MrgRUEmhKTOoNKKw Received: from ppp121-45-174-47.lns20.syd6.internode.on.net (HELO dastard) ([121.45.174.47]) by ipmail07.adl2.internode.on.net with ESMTP; 05 Jun 2014 09:38:31 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsLDv-0006cO-9l; Thu, 05 Jun 2014 10:08:03 +1000 Date: Thu, 5 Jun 2014 10:08:03 +1000 From: Dave Chinner <david@fromorbit.com> To: Martin Papik <mp6058@gmail.com> Cc: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect Message-ID: <20140605000803.GA4523@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect References: <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E532E.7050008@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538E532E.7050008@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401926912 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6388 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 04, 2014 at 01:58:54AM +0300, Martin Papik wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > > > >> [3096069.218830] XFS (sdf100): Log I/O Error Detected. Shutting > >> down filesystem [3096069.218833] XFS (sdf100): Please umount the > >> filesystem and rectify the problem(s) > > > > triggered a shutdown and told you what to do next. > > Okay, here I'll pick nits. I hope you're not sick of me yet. > > 1) I would LOVE to unmount the FS, but how? umount /dev/xxx ... device > no longer there. umount /media/xxx ... mount point no longer there. Oh, something is doing a lazy unmount automatically on device unplug? I missed the implications of that - your system is behaviour exactly as it has been told to behave. That is, lazy unmount only detaches the mount namespace from the mount - it doesn't actually tell the kernel to unmount the filesystem internally, instead it just removes the reference count it has on it. If there are other open references to the filesystem, then it won't actually do the real unmount until those references go away. i.e. lazy unmount is designed to leave the kernel superblock (i.e. the filesystem) mounted internally until the last reference to it goes away. And that leaves the user to find those references and clean them up so the kernel can actually unmount it. Put simply, the system is behaving exactly as it has been asked to act in response to your actions. Whether the automounter is behaving correctly or not, that is a different matter, but it is certainly not an XFS bug that a lazy unmount is leaving you with a mess that you need to cleanup manually. > 2) I can't rectify the problems exactly because the FS is mounted > (according to xfs_repair [ustat]), yet not mounted (according to > /proc/mounts). .... unless rectifying the problem means reporting this > as a bug. :-) Not a bug, it's the desired behaviour of lazy unmounts. Fix userspace not to hold references when unmounting the filesystem... > 3) "Shutting down filesystem" ... isn't this when the new device > should no longer be detected as mounted? No. Filesystems get shut down for all sorts of reasons and the correct action to take after unmounting the filesystem depends on the reason for the shutdown. i.e. a shutdown filesystem requires manual intervention to recover from, and so the filesystem remains mounted until such manual intervention can take place. > 4) come to think of it, if XFS is shutting down, why isn't it > unmounting itself? Because a filesystem cannot unmount itself - that has to be done from userspace. Cheers, Dave. -- Dave Chinner david@fromorbit.com From hpa@zytor.com Wed Jun 4 19:14:12 2014 Return-Path: <hpa@zytor.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2211E7F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 19:14:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id EE4AF8F8035 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 17:14:11 -0700 (PDT) X-ASG-Debug-ID: 1401927250-04bdf0566923e10001-NocioJ Received: from mail.zytor.com ([198.137.202.10]) by cuda.sgi.com with ESMTP id aa5BAQ2EoqBEqKks (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 17:14:10 -0700 (PDT) X-Barracuda-Envelope-From: hpa@zytor.com X-Barracuda-Apparent-Source-IP: 198.137.202.10 Received: from anacreon.sc.intel.com (fmdmzpr02-ext.fm.intel.com [192.55.55.37]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s550ATw8019805 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 4 Jun 2014 17:10:30 -0700 Message-ID: <538FB570.8000502@zytor.com> Date: Wed, 04 Jun 2014 17:10:24 -0700 From: "H. Peter Anvin" <hpa@zytor.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Arnd Bergmann <arnd@arndb.de>, Nicolas Pitre <nicolas.pitre@linaro.org> CC: Dave Chinner <david@fromorbit.com>, hch@infradead.org, linux-mtd@lists.infradead.org, logfs@logfs.org, linux-afs@lists.infradead.org, "Joseph S. Myers" <joseph@codesourcery.com>, linux-arch@vger.kernel.org, linux-cifs@vger.kernel.org, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, geert@linux-m68k.org, linux-ext4@vger.kernel.org, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, xfs@oss.sgi.com, john.stultz@linaro.org, tglx@linutronix.de, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, lftan@altera.com, linux-btrfs@vger.kernel.org Subject: Re: [RFC 00/32] making inode time stamps y2038 ready References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <201406041703.47592.arnd@arndb.de> <alpine.LFD.2.11.1406041308300.17310@knanqh.ubzr> <8770583.6XeZxCxOY8@wuerfel> X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready In-Reply-To: <8770583.6XeZxCxOY8@wuerfel> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: UNKNOWN[198.137.202.10] X-Barracuda-Start-Time: 1401927250 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6388 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On 06/04/2014 12:24 PM, Arnd Bergmann wrote: > > For other timekeeping stuff in the kernel, I agree that using some > 64-bit representation (nanoseconds, 32/32 unsigned seconds/nanoseconds, > ...) has advantages, that's exactly the point I was making earlier > against simply extending the internal time_t/timespec to 64-bit > seconds for everything. > How much of a performance issue is it to make time_t 64 bits, and for the bits there are, how hard are they to fix? -hpa From david@fromorbit.com Wed Jun 4 19:55:55 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C83127F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 19:55:55 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id AE5B28F8040 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 17:55:55 -0700 (PDT) X-ASG-Debug-ID: 1401929752-04cbb0752825560001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id Hd9fA4qtDg4STQQA for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 17:55:53 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoMOAMq+j1N5La4v/2dsb2JhbABZgwerfAEBAQEBBpgnAYELF3SCJQEBBAE6HBwHBQsIAw4KCSUPBSUDIROIOgfSXBcWhT+INEkHgyuBFQSNZIwuh3CLSoNKK4EwAR8E Received: from ppp121-45-174-47.lns20.syd6.internode.on.net (HELO dastard) ([121.45.174.47]) by ipmail07.adl2.internode.on.net with ESMTP; 05 Jun 2014 10:25:52 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsLxy-0006sR-TO; Thu, 05 Jun 2014 10:55:38 +1000 Date: Thu, 5 Jun 2014 10:55:38 +1000 From: Dave Chinner <david@fromorbit.com> To: Martin Papik <mp6058@gmail.com> Cc: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect Message-ID: <20140605005538.GB4523@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect References: <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E4E1B.1020003@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <538E4E1B.1020003@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401929752 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6391 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 04, 2014 at 01:37:15AM +0300, Martin Papik wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > > I think you're trying too hard to defend XFS which may be causing you > to miss my point. Or it could be my bad communication. Or it coul dbe you lack the knowledge base to understand what I explained to you. That happens all the time because this stuff is complex and very few people actually have the time to understand how it is all supposed to work. > When I yank and replug a device, I can only remount the device only if > I kill certain processes. But this limitation exists only on the same > box. I.e. it won't prevent me from mounting the same disk on a > different machine, just the same one. > > So here are a few questions. > > (1) If the device vanished, why not just terminate the mount instance? That's what the automounter is doing from userspace with the lazy unmount on reception of a device unplug event. i.e. the policy of what to do when a device unplug event occurs is handled in userspace, and it has nothing to do with the filesystem on the block device. > (2) Following the methods of the prior experiments I did this, > connected the disk to PC1, hexedit file, yank disk, plug disk, at this > point PC1 won't touch the disk, moved the disk to PC2, it > automatically, silently (Mounting Filesystem ++ Ending clean mount) > mounts the FS, then move the disk back and the disk still doesn't > mount, claiming it's mounted, never mind that since then the FS was > mounted somewhere else and for all intents and purposes it a > completely different disk, to which (question 1) the potentially > unwritten data will never be written back. I apologize, but I really > don't see what XFS is protecting me from or how and I doubt its > success rate. Can you please explain? It's not protecting you against doing this. You can subvert /etc/shadow doing this for all I care, but the fact is that until you clean up the original mess your cable yanking created, XFS won't allow you to mount that filesystem again on that system. As I've already explained, we do not allow multiple instances of the same filesystem to be mounted because in XFS's primary target market (i.e. servers and enterprise storage) this can occur because of multi-pathing presenting the same devices multiple times. And in those environments, mounting the same filesystem multiple times through different block devices is *always* a mistake and will result in filesystem corruption and data loss. > (3) Isn't it possible that XFS just doesn't recognize that whatever > error condition happened is permanent and the disk won't come back. XFS can't determine correctly if it is a fatal permanent or temporary error condition. Hence if we get an error from the storage (regardless of the error) in a situation we can't recover from, it is considered fatal regardless of whether the device is replugged or not. You case is a failed log IO, which is always a fatal, unrecoverable error.... > Isn't XFS just forcing me to take a manual action by accident? No, by intent. Obvious, in-your-face intent. Filesystem corruption events require manual intervention to analyse and take appropriate action. You may not think it's necessary for your use case, but years of use in mission critical data storage environments has proven otherwise.... > Imagine, I have some files, just saved them, didn't call fsync, the > data is still in some cache, the cable is yanked, and the data is > lost. But in this case the XFS won't complain. It does complain - it logs that it is discarding data unless a shutdown has already occurred, and then it doesn't bother because it's already indicated to the log that the filesystem is in big trouble.... > Only if there's a process. Seems more like circumstance than design. Is it? Is this an > actual intentional behavior. Lazy unmount does this by intent and XFS has not control over this. Lazy unmount is done by your userspace software, not the filesystem. You're shooting the messenger. > > Yup - XFS refuses to mount a filesystem with a duplicate UUID, > > preventing you from mounting the same filesystem from two > > different logical block device instances that point to the same > > physical disk. That's the only sane thing to do in enterprise > > storage systems that use multi-pathing to present failure-tolerant > > access to a physical device. > > Actually, IMHO it would also be sane to forget you ever saw a UUID > after the last underlying physical device is gone and you're not going > to be ever writing to this. And how does the referenced, mounted filesystem know this? It can't - it actually holds a reference to the block device that got yanked, and internally that block device doesn't go away until the filesystem releases it's reference. > Since if you're never touching the FS with > UUID XYZ then it's not mounted enough to prevent use. IMHO. But yes, > as long as you do have a functioning relationship with UUID XYZ > through /dev/sda1, lock /dev/sdb1 if it has the same UUID. But not > after you've lost all block devices. ........ Or attempting to put my > understanding of the situation in humorous terms "the kernel is > preventing access to /dev/sdg100 out of grief for the death of > /dev/sdf100". /dev/sdf still exists inside the kernel while the filesystem that was using it is still mounted. You just can't see kernel-internal references to block device. Sound familiar? It's just like processes and lazy unmounts, yes? IOWs, what is happening is this: Yank the device, the device hot-unplugs and nothing new can now use it. It still has active references, so it isn't cleaned up. It sends an unplug event to userspace, probably caught by udev, fed into dbus, picked up by the automounter, which does a lazy unmount of the filesystem on the device. Filesystem is removed from the namespace, but open references to it still exist so it's not fully unmounted and so still holds a block device reference. Userspace references to filesystem go away, filesystem completes unmount, releases blockdev reference, blockdev cleans up and dissappears completely, filesystem cleans up and disappears completely. Userspace causes the mess because it's handling of the unplug event, and there's nothing we can do in the kernel about that, because.... > Lame joke, yes, but think please, what is the actual > benefit of me having to kill a process, after which I yank again, plug > again, and the FS mounts silently. I really don't get this. How is > this not a bug? .... until the userspace references to the filesystem go away, the kernel still has a huge amount of internally referenced state that you can't see from userspace. So, the bug here is in userspace by using lazy unmounts and not dropping active references in a timely fashion after an unplug event has occurred. Cheers, Dave. -- Dave Chinner david@fromorbit.com From mp6058@gmail.com Wed Jun 4 20:07:44 2014 Return-Path: <mp6058@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id BDFC47F4E for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 20:07:44 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9ABDE304071 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 18:07:41 -0700 (PDT) X-ASG-Debug-ID: 1401930459-04cb6c78c524500001-NocioJ Received: from mail-we0-f177.google.com (mail-we0-f177.google.com [74.125.82.177]) by cuda.sgi.com with ESMTP id G4IIlSu8177kGk5C (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 18:07:40 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.177 Received: by mail-we0-f177.google.com with SMTP id x48so278415wes.36 for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 18:07:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=bOLD0Kq5POI14ieATsXPyOGFQ4+fyyyh72HYTspMhVA=; b=lQV/RgRN1N9iNCnL6Lf8JigyZ7d0QcVA8it45MCROUCccFo5QKFwr4/k7gIc6e4/xE RReU+SMwLyem7UIM61NPkWnWIftvXultavAfm2DF2uBxBf7rqZU/RJPcVkBcIHKY3XlR wupBd956V1XMZtcem37GwCcd4ET20HZnxtNan1KlGPLfoTJS6DBw1tPWHthBxNV9sDfX IjSNGBBo/r0VzfHbHlovw8P6AAO73jIR5re3pCJKR4oxHS4i6huxvYTbbaE+V8az7Rxa 363c3hjJmtZzPIz8cv1SPeOhazv7+VtbaPQLe7gEFr5Na4gw1d2ve21k5gB8a6dpoXQ0 R/FQ== X-Received: by 10.180.98.163 with SMTP id ej3mr10682959wib.9.1401930458712; Wed, 04 Jun 2014 18:07:38 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id c2sm5835927wja.18.2014.06.04.18.07.36 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Jun 2014 18:07:38 -0700 (PDT) Message-ID: <538FC2D5.3080402@gmail.com> Date: Thu, 05 Jun 2014 04:07:33 +0300 From: Martin Papik <mp6058@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com> CC: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E532E.7050008@gmail.com> <20140605000803.GA4523@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140605000803.GA4523@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-we0-f177.google.com[74.125.82.177] X-Barracuda-Start-Time: 1401930459 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6391 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 >> 1) I would LOVE to unmount the FS, but how? umount /dev/xxx ... >> device no longer there. umount /media/xxx ... mount point no >> longer there. > > Oh, something is doing a lazy unmount automatically on device > unplug? I missed the implications of that - your system is > behaviour exactly as it has been told to behave. > > That is, lazy unmount only detaches the mount namespace from the > mount - it doesn't actually tell the kernel to unmount the > filesystem internally, instead it just removes the reference count > it has on it. If there are other open references to the > filesystem, then it won't actually do the real unmount until those > references go away. i.e. lazy unmount is designed to leave the > kernel superblock (i.e. the filesystem) mounted internally until > the last reference to it goes away. > > And that leaves the user to find those references and clean them up > so the kernel can actually unmount it. Put simply, the system is > behaving exactly as it has been asked to act in response to your > actions. Whether the automounter is behaving correctly or not, that > is a different matter, but it is certainly not an XFS bug that a > lazy unmount is leaving you with a mess that you need to cleanup > manually. But XFS is the one that prevents the repair. For reasons you've outlined, granted, but it's XFS no longer has access to the device, so it shouldn't be blocking it. >> 2) I can't rectify the problems exactly because the FS is mounted >> (according to xfs_repair [ustat]), yet not mounted (according to >> /proc/mounts). .... unless rectifying the problem means reporting >> this as a bug. :-) > > Not a bug, it's the desired behaviour of lazy unmounts. Fix > userspace not to hold references when unmounting the filesystem... Yet it doesn't affect ext4 (to pick an example at random). And the only way to fix the userspace in this case is to start killing processes, and again, this is only required for XFS. >> 3) "Shutting down filesystem" ... isn't this when the new device >> should no longer be detected as mounted? > > No. Filesystems get shut down for all sorts of reasons and the > correct action to take after unmounting the filesystem depends on > the reason for the shutdown. i.e. a shutdown filesystem requires > manual intervention to recover from, and so the filesystem remains > mounted until such manual intervention can take place. Once more, shouldn't XFS stop holding onto the UUID after the FS is shut down AND the underlying device (all of them, in case of multipath) is returning an error code which means the device won't ever come back? Seriously, the device is gone, won't come back. Wouldn't it make sense to just let xfs_repair do its job? And one more question, did you see the lsof output in my previous email? Did you notice that while both XFS ans ext4 are still there, the file that's still in use on ext4 shows the device number, but not XFS. Just to refresh, here's a copy. $ lsof | grep TEST hexedit 24010 martin 3u unknown /TEST...FILE (stat: Input/output error) hexedit 24011 martin 3u REG 259,6 4198400 12 /TEST...FILE See, ext4 was device 259:6, but on XFS the device number doesn't show up. Looks like lsof is doing a stat (not an lstat) on /proc/X/fd/Y, and ext4 returns the full inode info, but XFS doesn't. Is this OK? This info would be the only way to positively tie the processes to the specific filesystem, wouldn't it? # stat -L /proc/{15478,15496}/fd/3 stat: cannot stat `/proc/15478/fd/3': Input/output error File: `/proc/15496/fd/3' Size: 4198400 Blocks: 520 IO Block: 4096 regular file Device: 10306h/66310d Inode: 12 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ martin) Gid: ( 1000/ martin) Access: 2014-06-05 03:46:42.969617017 +0300 Modify: 2014-03-11 16:24:22.500349375 +0300 Change: 2014-03-11 16:24:22.500349375 +0300 Birth: - # strace -e trace=stat stat -L /proc/{15478,15496}/fd/3 stat("/proc/15478/fd/3", 0x7fffcfad7580) = -1 EIO (Input/output error) stat: cannot stat `/proc/15478/fd/3': Input/output error stat("/proc/15496/fd/3", {st_mode=S_IFREG|0644, st_size=4198400, ...}) = 0 File: `/proc/15496/fd/3' Size: 4198400 Blocks: 520 IO Block: 4096 regular file Device: 10306h/66310d Inode: 12 Links: 1 stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib/x86_64-linux-gnu/tls", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib/x86_64-linux-gnu/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 stat("/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib/x86_64-linux-gnu/tls", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib/x86_64-linux-gnu/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=69632, ...}) = 0 stat("/lib/tls/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib/tls", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 stat("/usr/lib/tls/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib/tls", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib/x86_64", 0x7fffcfad69a0) = -1 ENOENT (No such file or directory) stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=90112, ...}) = 0 Access: (0644/-rw-r--r--) Uid: ( 1000/ martin) Gid: ( 1000/ martin) Access: 2014-06-05 03:46:42.969617017 +0300 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=195, ...}) = 0 Modify: 2014-03-11 16:24:22.500349375 +0300 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=195, ...}) = 0 Change: 2014-03-11 16:24:22.500349375 +0300 Birth: - >> 4) come to think of it, if XFS is shutting down, why isn't it >> unmounting itself? > > Because a filesystem cannot unmount itself - that has to be done > from userspace. That makes sense. Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTj8LPAAoJELsEaSRwbVYrQ7IP/1rLx09jgQBK+4tlcSZqjd8G dOYQ4onEUrUPUh9/wfzmfArK0DqKSrNK2Gp9y2IpuHIW7i/700TziL1ryVh9k6F+ 4Yf+7xPz/tzKQONe/X3XpdO9jSoyJ3pfIQh5Zq7fgUMl6dSr+S3hFYGJ/ZoDgwz5 /E9z17J8Avur3PJNto1CZA5/KqpiRcm/EwXclQMkvN6I7VfJWLiTtmpzntAbzYJI 2QaUP3/k9IxIEB3sydZcGCvcMxljglCrGhFnUX/Q0/qtVMZpHH/oyGZw1KifxUFf /R5lw1h5CBSHY6fMsjZXWXFvIfzSnli5hV9jIjjRi/tVdXLDCnz4JV3DUP3lMjLc K8srNBQwk/FM7jOnNcmoAS/EIAx3+FAC8JZL47GbA8EWgDjzUk/AhVAfpvwXkIig 5MA0qn2aYMnLNaUeE8/ZYN5c/5ZnJUnruaL4vM/oP+7YNHnr04GQXoFmIoJ7KOL+ 0bhtozACj7K2pNlBS+0jvSY7HnampTdcNXREqHk+hkKzn69vI4xcPNrYRCCyY0hz OISdfUAMlUighsxy999EYLVz6bLiSy4IJ3aen09SHvRS1iifJycV3MLpiOJl3GED 84AEGLCGCBNHAqP7oWn5acXNSzkvuNTJ1dTpSmL3V+mg9GeoduNyhwP8ymEdsyOE BH075Xvzf5qh3qLTCELi =84Mu -----END PGP SIGNATURE----- From david@fromorbit.com Wed Jun 4 20:27:30 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id ABEB87F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 20:27:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9F11F8F8037 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 18:27:27 -0700 (PDT) X-ASG-Debug-ID: 1401931645-04cb6c78c625530001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id iWUkiIbke73gELku for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 18:27:25 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoMOAPTGj1N5La4v/2dsb2JhbABZgwerdQEBAQEBBpgnAYELF3SCJQEBBAEnExwREgULCAMOBwMJJQ8FJQMhE4g6B9JaFxaFP4h9B4MrgRUEmhKLIQ+ICoNKKw Received: from ppp121-45-174-47.lns20.syd6.internode.on.net (HELO dastard) ([121.45.174.47]) by ipmail07.adl2.internode.on.net with ESMTP; 05 Jun 2014 10:57:05 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsMSC-0006x6-L1; Thu, 05 Jun 2014 11:26:52 +1000 Date: Thu, 5 Jun 2014 11:26:52 +1000 From: Dave Chinner <david@fromorbit.com> To: Brian Foster <bfoster@redhat.com> Cc: xfs@oss.sgi.com Subject: Re: [PATCH 17/16] xfs: remove redundant geometry information from xfs_da_state Message-ID: <20140605012652.GC4523@dastard> X-ASG-Orig-Subj: Re: [PATCH 17/16] xfs: remove redundant geometry information from xfs_da_state References: <1401257083-13433-1-git-send-email-david@fromorbit.com> <20140530233906.GL6677@dastard> <20140602140324.GA24196@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140602140324.GA24196@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401931645 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6391 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 02, 2014 at 10:03:24AM -0400, Brian Foster wrote: > On Sat, May 31, 2014 at 09:39:06AM +1000, Dave Chinner wrote: > > > > From: Dave Chinner <dchinner@redhat.com> > > > > It's carried in state->args->geo, so there's no need to duplicate it > > and use more stack space than necessary. > > > > Signed-off-by: Dave Chinner <dchinner@redhat.com> > > --- .... > > @@ -1089,14 +1089,15 @@ xfs_da3_root_join( > > * that could occur. For dir3 blocks we also need to update the block > > * number in the buffer header. > > */ > > - memcpy(root_blk->bp->b_addr, bp->b_addr, state->blocksize); > > + memcpy(root_blk->bp->b_addr, bp->b_addr, state->args->geo->blksize); > > root_blk->bp->b_ops = bp->b_ops; > > xfs_trans_buf_copy_type(root_blk->bp, bp); > > if (oldroothdr.magic == XFS_DA3_NODE_MAGIC) { > > struct xfs_da3_blkinfo *da3 = root_blk->bp->b_addr; > > da3->blkno = cpu_to_be64(root_blk->bp->b_bn); > > } > > - xfs_trans_log_buf(args->trans, root_blk->bp, 0, state->blocksize - 1); > > + xfs_trans_log_buf(args->trans, root_blk->bp, 0, > > + state->args->geo->blksize - 1); > > FYI, you've got a local args pointer in xfs_da3_root_join(). Ah, the joys of macro based replacement. I'll fix it up. ;) > Reviewed-by: Brian Foster <bfoster@redhat.com> Thanks! -Dave. -- Dave Chinner david@fromorbit.com From mp6058@gmail.com Wed Jun 4 20:38:43 2014 Return-Path: <mp6058@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E72217F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 20:38:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0B40530407A for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 18:38:43 -0700 (PDT) X-ASG-Debug-ID: 1401932321-04cb6c78c425f60001-NocioJ Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by cuda.sgi.com with ESMTP id YwYol4AjIhtmiRgb (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 18:38:42 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] Received: by mail-wi0-f181.google.com with SMTP id n15so2512831wiw.14 for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 18:38:41 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=ptQ1P6csv68QyEqcY5LoaZUcD8jlSKfTNG5Shb47CZE=; b=E0InahVKIkKZL1ZEN6C0kiWBFwsfyYAG/F3t2OLWCgbj/+dRIIuIC/jJid0FlS5Wnh jT5w8d2otfxFjto/lkE01phlCNbmy3bMvCJN/l3YujGGg0UPPIw32L3HH+mC2Snq5+HA +y8HBq4Jkf+Bm5t2YdUXUs0jk08w/aPouQsHkKeDwTt7XZvLfCGoevplGcmF/AMIDqQr dZBXLBWjpU0hI0KEDgDBjWsqjx7VitF/u3aze3LETgLwOZbfZXJVeULJkiGcdlwkaYJq vg8P/uwe/2H5f58v8BHfUaj7JQpIN/Zh0pGsflG7C1pzXsy0cRFByrMUOJWCUeZLJSmh hvmg== X-Received: by 10.180.102.10 with SMTP id fk10mr10863229wib.42.1401932321102; Wed, 04 Jun 2014 18:38:41 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id hs8sm51238332wib.10.2014.06.04.18.38.39 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Jun 2014 18:38:40 -0700 (PDT) Message-ID: <538FCA1E.5070600@gmail.com> Date: Thu, 05 Jun 2014 04:38:38 +0300 From: Martin Papik <mp6058@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com> CC: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E4E1B.1020003@gmail.com> <20140605005538.GB4523@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140605005538.GB4523@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wi0-f181.google.com[209.85.212.181] X-Barracuda-Start-Time: 1401932322 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6391 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 >> I think you're trying too hard to defend XFS which may be causing >> you to miss my point. Or it could be my bad communication. > > Or it coul dbe you lack the knowledge base to understand what I > explained to you. That happens all the time because this stuff is > complex and very few people actually have the time to understand > how it is all supposed to work. Yup, it's arcane, but I understand what you're trying to tell me, I just don't agree. Mostly because I simply don't believe the kernel (block device layer) won't indicate a permanent error (device gone) and the FS needs to hold onto a FS (uuid) which it won't ever reach again through that dead reference. Consequently I believe the FS should be able to determine that it's time to stop blocking the use of the FS. And since I believe it could, I think it should. .... OTOH what seems to be happening is that the FS keeps trying to finish writing the log entries to the journal on a device it won't ever see again. And at the same time, it's stopping the use of the FS (uuid), for the right reasons (I get it) but in the wrong circumstances (device gone, no need to block, no plans to finish writing). IMHO. > XFS can't determine correctly if it is a fatal permanent or > temporary error condition. I don't believe the block device doesn't return an error codes detailed enough to know if the device is GONE or just temporary insane. Or is the block device layer so bad? > Hence if we get an error from the storage (regardless of the error) > in a situation we can't recover from, it is considered fatal > regardless of whether the device is replugged or not. You case is a > failed log IO, which is always a fatal, unrecoverable error.... I think you're misunderstanding me, I am not expecting the FS to automagically start writing again after a reconnect (though I wish for it). The old device is dead, there's a new device, the old device will be dead until there's any reference to it, at which point the device ID will be freed up for use. I'm merely hoping the the complete and permanent disappearance of a disk on one device wouldn't prevent the use of the same disk as a new device. >> Isn't XFS just forcing me to take a manual action by accident? > > No, by intent. Obvious, in-your-face intent. Filesystem corruption > events require manual intervention to analyse and take appropriate > action. You may not think it's necessary for your use case, but > years of use in mission critical data storage environments has > proven otherwise.... > >> Imagine, I have some files, just saved them, didn't call fsync, >> the data is still in some cache, the cable is yanked, and the >> data is lost. But in this case the XFS won't complain. > > It does complain - it logs that it is discarding data unless a > shutdown has already occurred, and then it doesn't bother because > it's already indicated to the log that the filesystem is in big > trouble.... Yes, it always complains, which is not the same as what it's doing to me, it's preventing the use of the filesystem until some processes are killed, processes which will never ever EVER succeed in messing up the filesystem, since the device the FS was using is dead and gone. And the reason I'm stressing that this is accidental is because A) it doesn't provide any benefit for the FS (no one will ever write to the device from the old device) B) it makes me jump through hoops only on the one PC, which means it's not a FS related hustle, it's PC related. In which case, why am I going through it? >> Only if there's a process. Seems more like circumstance than >> design. Is it? Is this an actual intentional behavior. > > Lazy unmount does this by intent and XFS has not control over > this. Lazy unmount is done by your userspace software, not the > filesystem. You're shooting the messenger. Okay, I get that, automount is triggering the disappearance of the mount point and the /proc/mounts entry, triggered by udev/dbus/whatever. I get it. >>> Yup - XFS refuses to mount a filesystem with a duplicate UUID, >>> preventing you from mounting the same filesystem from two >>> different logical block device instances that point to the >>> same physical disk. That's the only sane thing to do in >>> enterprise storage systems that use multi-pathing to present >>> failure-tolerant access to a physical device. >> >> Actually, IMHO it would also be sane to forget you ever saw a >> UUID after the last underlying physical device is gone and you're >> not going to be ever writing to this. > > And how does the referenced, mounted filesystem know this? It > can't - it actually holds a reference to the block device that got > yanked, and internally that block device doesn't go away until the > filesystem releases it's reference. But a write and read should return a different error message, doesn't it? Doesn't the block device layer let the FS layer know that the device is gone? Something like ENODEV, or something like it, I don't know, something. There must be something, otherwise it's a kernel bug. IMHO, etc. Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTj8odAAoJELsEaSRwbVYr1xwP/RkrIvq+DmF+8YUd6bSgDCe+ /HQdMOl8u5ln+h7hYwfPKniMWwnPhEx8I4VfHLNXY7S0o0iTbfpBXUacsQGc25IF Xf3Ktv5JpW6X/pzCwAhr+ZY35NMjMR79ySjQeXeEyanEd5ghG0PP1Fsh/zQIDBpU SdurLJirgbFufPBIJerxFtR0WKyDUAoGO0rcfsl67RaEMy4KS/Cusodb0a5UXZMd P57Ef1rUVYoGBvh9pieplHKQIfPvW//p7B++oeWrYhQF2c+hUhWeOIfv81o7vRvn 8lYuVGgv2BLgUQ1rCi3jT5zUfy/RAW8GA5/M1AMksLgEkIOzSxavYHE+K7ALRCRt 1PXMk01KLO3VyYkE4qkArVH+vypKgd+Ma11ofYGoCTbKCjKXgeRtahzBXvvEyFrh l4I5jNBsNB7RYiuBpEnf0Orx1cdk6no18373CtmLWRadRxJhjJiq9DHRmzr94CA6 Csnv0LpewScXmLeWeSG7EkSYUeO3KNu3rNBvhcg+tkL5XATZi4cN4kvoq+yoAhX8 sZxGtWJBNJ3ModIISOh85M6T1b8+Uu1psS3dz2vDWhhWRQu6PiuLSaDqKzift+Va 4zfUn3O1DnaRqm359swWffOWA+pOeUQSgYCrftGeeAlu6nJtgM726KbvQ+ovWJIu LiyqWfKjJjTqqNIvyrtP =5aBA -----END PGP SIGNATURE----- From kntcameras2@gmail.com Wed Jun 4 23:11:22 2014 Return-Path: <kntcameras2@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.3 required=5.0 tests=DEAR_SOMETHING, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id ABD7F7F3F for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 23:11:22 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 46C32AC002 for <xfs@oss.sgi.com>; Wed, 4 Jun 2014 21:11:22 -0700 (PDT) X-ASG-Debug-ID: 1401941477-04bdf0566830f90001-NocioJ Received: from mail-pb0-f67.google.com (mail-pb0-f67.google.com [209.85.160.67]) by cuda.sgi.com with ESMTP id 9TL2Xg2YxLuF0wKx (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 21:11:17 -0700 (PDT) X-Barracuda-Envelope-From: kntcameras2@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.67 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.67] Received: by mail-pb0-f67.google.com with SMTP id ma3so181965pbc.2 for <xfs@oss.sgi.com>; Wed, 04 Jun 2014 21:11:17 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.67] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.67] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:mime-version:message-id:content-type; bh=k4kPJ9sMvnbNCxrrTycaw1UeKF98iFwl4ns+Nx24JHA=; b=foFVuoZvphc3ZjgPHb6PJE/ecLjZXN2qo8ivQb4zQYz+Rgg61ZVd0UXQzWEjVRwOFc Q6JU6e5qOviabq9YGHQZsvFOI7vZksTpkgvm3029RzNMCcc25eWNtWyNcN6uUKZXgNqe PNIxggIWx2Wfd8Tdzoj3fuKoxGlARH0SHvtBShkgkTNJVuvaqpgKvCLq/uqQRAN4DtUe 1uP8smxYNLaeDsyVAej7IHdCy+j8qEoJismrnHZhzFjJ2VGLsGJSIQUsE4hYMcMFp7GS F+cXtKUax0Qo9htrVUzp/11lpfuEPwApcWuLrBTxC3UqncL1dKA1zEXiBZkZRtYFRVDZ Ke/g== X-Received: by 10.68.171.193 with SMTP id aw1mr70522868pbc.117.1401941477102; Wed, 04 Jun 2014 21:11:17 -0700 (PDT) Received: from PCOS-08192105 ([14.20.108.54]) by mx.google.com with ESMTPSA id it4sm16955768pbc.39.2014.06.04.21.11.14 for <xfs@oss.sgi.com> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Jun 2014 21:11:16 -0700 (PDT) Date: Thu, 5 Jun 2014 12:00:07 +0800 From: WELVISION <kntcameras2@gmail.com> To: xfs <xfs@oss.sgi.com> Subject: CCTV Camera X-Priority: 3 X-ASG-Orig-Subj: CCTV Camera X-GUID: 6D9AF752-2582-45F8-94D4-E8F71F3AB333 X-Has-Attach: no X-Mailer: Foxmail 7, 2, 0, 111[cn] Mime-Version: 1.0 Message-ID: <201406051159403061185@gmail.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart040083385056_=----" X-Barracuda-Connect: mail-pb0-f67.google.com[209.85.160.67] X-Barracuda-Start-Time: 1401941477 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6394 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message This is a multi-part message in MIME format. ------=_001_NextPart040083385056_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 CgoKCgoKCgoKCgoKCgpEZWFyIHNpciBvciBtYWRhbSwKCj8KCkhvdyBhcmUgeW91IHRoZXJlPyBI b3BlIGV2ZXJ5dGhpbmcgb2YgeW91CmdvZXMgb24gd2VsbC4KClRoaXMgaXMgTGFuZSBmcm9tIFNo ZW56aGVuP1dlbGwKVmlzaW9uIFRlY2hub2xvZ3kgQ28uLCBMdGQsP3dlIGFyZSBwcm9mZXNzaW9u YWwgQ0NUViBjYW1lcmFzIG1hbnVmYWN0dXJlOz9PdXIgcHJvZHVjdKGvcyBhcmUgc3VpdGFibGUg Zm9yIGhvbWUgYW5kIHNob3AgdXNpbmcsIENvbnRhY3QgbWUgZm9yIG1vcmUgZGV0YWlscy4KVGhh bmsgeW91Cgo/CgpCZXN0IHJlZ2FyZHMKCgoKTGFuZQoKCgoK ------=_001_NextPart040083385056_=---- Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: quoted-printable <html><head><meta http-equiv=3D"content-type" content=3D"text/html; charse= t=3DGB2312"><style>body { line-height: 1.5; }p { margin-top: 0px; margin-b= ottom: 0px; }body { font-size: 12pt; font-family: =CB=CE=CC=E5; color: rgb= (0, 0, 0); line-height: 1.5; }</style></head><body>=0A<div><span></span><!= --[if gte mso 9]><xml>=0A <w:WordDocument>=0A <w:View>Normal</w:View>=0A = <w:Zoom>0</w:Zoom>=0A <w:PunctuationKerning></w:PunctuationKerning>=0A = <w:DrawingGridVerticalSpacing>7.8 =B0=F5</w:DrawingGridVerticalSpacing>=0A= <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEv= ery>=0A <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGri= dEvery>=0A <w:ValidateAgainstSchemas></w:ValidateAgainstSchemas>=0A <w:S= aveIfXMLInvalid>false</w:SaveIfXMLInvalid>=0A <w:IgnoreMixedContent>false= </w:IgnoreMixedContent>=0A <w:AlwaysShowPlaceholderText>false</w:AlwaysSh= owPlaceholderText>=0A <w:Compatibility>=0A <w:SpaceForUL></w:SpaceForUL= >=0A <w:BalanceSingleByteDoubleByteWidth></w:BalanceSingleByteDoubleByte= Width>=0A <w:DoNotLeaveBackslashAlone></w:DoNotLeaveBackslashAlone>=0A = <w:ULTrailSpace></w:ULTrailSpace>=0A <w:DoNotExpandShiftReturn></w:DoNo= tExpandShiftReturn>=0A <w:AdjustLineHeightInTable></w:AdjustLineHeightIn= Table>=0A <w:BreakWrappedTables></w:BreakWrappedTables>=0A <w:SnapToGr= idInCell></w:SnapToGridInCell>=0A <w:WrapTextWithPunct></w:WrapTextWithP= unct>=0A <w:UseAsianBreakRules></w:UseAsianBreakRules>=0A <w:DontGrowA= utofit></w:DontGrowAutofit>=0A <w:UseFELayout></w:UseFELayout>=0A </w:C= ompatibility>=0A <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLev= el>=0A </w:WordDocument>=0A</xml><![endif]--><!--[if gte mso 9]><xml>=0A <= w:LatentStyles DefLockedState=3D"false" LatentStyleCount=3D"156">=0A </w:L= atentStyles>=0A</xml><![endif]-->=0A<!--[if gte mso 10]>=0A<style>=0A /* S= tyle Definitions */=0A table.MsoNormalTable=0A {mso-style-name:=C6=D5=CD= =A8=B1=ED=B8=F1;=0A mso-tstyle-rowband-size:0;=0A mso-tstyle-colband-size:= 0;=0A mso-style-noshow:yes;=0A mso-style-parent:"";=0A mso-padding-alt:0cm= 5.4pt 0cm 5.4pt;=0A mso-para-margin:0cm;=0A mso-para-margin-bottom:.0001p= t;=0A mso-pagination:widow-orphan;=0A font-size:10.0pt;=0A font-family:"Ti= mes New Roman";=0A mso-fareast-font-family:"Times New Roman";=0A mso-ansi-= language:#0400;=0A mso-fareast-language:#0400;=0A mso-bidi-language:#0400;= }=0A</style>=0A<![endif]-->=0A<!--StartFragment-->=0A<p class=3D"MsoNormal= " style=3D"margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5p= t; font-family: 'Times New Roman';"><a name=3D"OLE_LINK65"></a><a name=3D"= OLE_LINK64"></a><a name=3D"OLE_LINK61"></a><a name=3D"OLE_LINK60"></a><a n= ame=3D"OLE_LINK52"></a><a name=3D"OLE_LINK51"></a><a name=3D"OLE_LINK48"><= /a><a name=3D"OLE_LINK47"></a><a name=3D"OLE_LINK43"></a><a name=3D"OLE_LI= NK42"></a><a name=3D"OLE_LINK39"></a><a name=3D"OLE_LINK15"></a><a name=3D= "OLE_LINK31"><span lang=3D"EN-US" style=3D"font-size: 12pt; color: rgb(34,= 34, 34); background-position: initial initial; background-repeat: initial= initial;">Dear sir or madam,<o:p></o:p></span></a></p>=0A<p class=3D"MsoN= ormal" style=3D"margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: = 10.5pt; font-family: 'Times New Roman';"><span lang=3D"EN-US" style=3D"fon= t-size:12.0pt"><o:p> </o:p></span></p>=0A<p class=3D"MsoNormal" style= =3D"margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font= -family: 'Times New Roman';"><span lang=3D"EN-US" style=3D"font-size:12.0p= t">How are you there? Hope everything of you=0Agoes on well.<o:p></o:p></s= pan></p>=0A<p class=3D"MsoNormal" style=3D"margin: 0cm 0cm 0.0001pt; text-= align: justify; font-size: 10.5pt; font-family: 'Times New Roman';"><span = lang=3D"EN-US" style=3D"font-size:12.0pt">This is Lane from Shenzhen = <a name=3D"OLE_LINK27"></a><a name=3D"OLE_LINK26">Well=0AVision Technology= Co., Ltd</a>, we are professional CCTV cameras manufacture; </s= pan></p><p class=3D"MsoNormal" style=3D"margin: 0cm 0cm 0.0001pt; text-ali= gn: justify; font-size: 10.5pt; font-family: 'Times New Roman';"><span lan= g=3D"EN-US" style=3D"font-size:12.0pt">Our product=A1=AFs are suitable for= home and shop using, Contact me for more details.=0AThank you<o:p></o:p><= /span></p>=0A<p class=3D"MsoNormal" style=3D"margin: 0cm 0cm 0.0001pt; tex= t-align: justify; font-size: 10.5pt; font-family: 'Times New Roman';"><spa= n lang=3D"EN-US" style=3D"font-size:12.0pt"><o:p> </o:p></span></p>= =0A<p class=3D"MsoNormal" style=3D"margin: 0cm 0cm 0.0001pt; text-align: j= ustify; font-size: 10.5pt; font-family: 'Times New Roman';"><span lang=3D"= EN-US" style=3D"font-size:12.0pt">Best regards<o:p></o:p></span></p>=0A<p = class=3D"MsoNormal" style=3D"margin: 0cm 0cm 0.0001pt; text-align: justify= ; font-size: 10.5pt; font-family: 'Times New Roman';"><span lang=3D"EN-US"= style=3D"font-size:12.0pt">Lane<o:p></o:p></span></p>=0A<!--EndFragment--= ></div><div><span><div style=3D"MARGIN: 10px; FONT-FAMILY: verdana; FONT-S= IZE: 10pt">=0A<!--EndFragment--></div></span></div>=0A</body></html> ------=_001_NextPart040083385056_=------ From penguin-kernel@i-love.sakura.ne.jp Thu Jun 5 07:46:15 2014 Return-Path: <penguin-kernel@i-love.sakura.ne.jp> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 444667F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 07:46:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 09D9D304077 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 05:46:11 -0700 (PDT) X-ASG-Debug-ID: 1401972368-04bdf056694ae70001-NocioJ Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by cuda.sgi.com with ESMTP id KAfX1F5fkFWEcfLY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 05:46:09 -0700 (PDT) X-Barracuda-Envelope-From: penguin-kernel@I-love.SAKURA.ne.jp X-Barracuda-Apparent-Source-IP: 202.181.97.72 Received: from www262.sakura.ne.jp (ksav31.sakura.ne.jp [210.224.165.211]) by www262.sakura.ne.jp (8.14.5/8.14.5) with ESMTP id s55CjT64007656; Thu, 5 Jun 2014 21:45:29 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) X-Nat-Received: from [202.181.97.72]:51650 [ident-empty] by smtp-proxy.isp with TPROXY id 1401972328.29205 Received: from CLAMP (KD175108057186.ppp-bb.dion.ne.jp [175.108.57.186]) (authenticated bits=0) by www262.sakura.ne.jp (8.14.5/8.14.5) with ESMTP id s55CjSxr007648; Thu, 5 Jun 2014 21:45:28 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) To: rientjes@google.com, Motohiro.Kosaki@us.fujitsu.com Cc: david@fromorbit.com, riel@redhat.com, kosaki.motohiro@jp.fujitsu.com, fengguang.wu@intel.com, kamezawa.hiroyu@jp.fujitsu.com, akpm@linux-foundation.org, hch@infradead.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] mm/vmscan: Do not block forever at shrink_inactive_list(). From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> X-ASG-Orig-Subj: Re: [PATCH] mm/vmscan: Do not block forever at shrink_inactive_list(). References: <20140520063024.GH18954@dastard> <201405202358.ADF10119.SMOFOQLFtOVHJF@I-love.SAKURA.ne.jp> <6B2BA408B38BA1478B473C31C3D2074E31D59D8673@SV-EXCHANGE1.Corp.FC.LOCAL> <201405262045.CDG95893.HLFFOSFMQOVOJt@I-love.SAKURA.ne.jp> <alpine.DEB.2.02.1406031442170.19491@chino.kir.corp.google.com> In-Reply-To: <alpine.DEB.2.02.1406031442170.19491@chino.kir.corp.google.com> Message-Id: <201406052145.CIB35534.OQLVMSJFOHtFOF@I-love.SAKURA.ne.jp> X-Mailer: Winbiff [Version 2.51 PL2] X-Accept-Language: ja,en,zh Date: Thu, 5 Jun 2014 21:45:26 +0900 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Anti-Virus: Kaspersky Anti-Virus for Linux Mail Server 5.6.45.2/RELEASE, bases: 04062014 #8144375, status: clean X-Barracuda-Connect: www262.sakura.ne.jp[202.181.97.72] X-Barracuda-Start-Time: 1401972369 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6398 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- David Rientjes wrote: > On Mon, 26 May 2014, Tetsuo Handa wrote: > > > In shrink_inactive_list(), we do not insert delay at > > > > if (!sc->hibernation_mode && !current_is_kswapd()) > > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > > > > if sc->hibernation_mode != 0. > > Follow the same reason, we should not insert delay at > > > > while (unlikely(too_many_isolated(zone, file, sc))) { > > congestion_wait(BLK_RW_ASYNC, HZ/10); > > > > /* We are about to die and free our memory. Return now. */ > > if (fatal_signal_pending(current)) > > return SWAP_CLUSTER_MAX; > > } > > > > if sc->hibernation_mode != 0. > > > > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> > > --- > > mm/vmscan.c | 3 +++ > > 1 files changed, 3 insertions(+), 0 deletions(-) > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index 32c661d..89c42ca 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -1362,6 +1362,9 @@ static int too_many_isolated(struct zone *zone, int file, > > if (current_is_kswapd()) > > return 0; > > > > + if (sc->hibernation_mode) > > + return 0; > > + > > if (!global_reclaim(sc)) > > return 0; > > > > This isn't the only too_many_isolated() functions that do a delay, how is > the too_many_isolated() in mm/compaction.c different? > I don't know. But today I realized that this patch is not sufficient. I'm trying to find why __alloc_pages_slowpath() cannot return for many minutes when a certain type of memory pressure is given on a RHEL7 environment with 4 CPU / 2GB RAM. Today I tried to use ftrace for examining the breakdown of time-consuming functions inside __alloc_pages_slowpath(). But on the first run, all processes are trapped into this too_many_isolated()/congestion_wait() loop while kswapd is not running; stalling forever because nobody can perform operations for making too_many_isolated() to return 0. This means that, under rare circumstances, it is possible that all processes other than kswapd are trapped into too_many_isolated()/congestion_wait() loop while kswapd is sleeping because this loop assumes that somebody else shall wake up kswapd and kswapd shall perform operations for making too_many_isolated() to return 0. However, we cannot guarantee that kswapd is waken by somebody nor kswapd is not blocked by blocking operations inside shrinker functions (e.g. mutex_lock()). We need some more changes. I'm thinking memory allocation watchdog thread. Add an "unsigned long" field to "struct task_struct", set jiffies to the field upon entry of GFP_WAIT-able memory allocation attempts, and clear the field upon returning from GFP_WAIT-able memory allocation attempts. A kernel thread periodically scans task list and compares the field and jiffies, and (at least) print warning messages (maybe optionally trigger OOM-killer or kernel panic) if single memory allocation attempt is taking too long (e.g. 60 seconds). What do you think? From david@fromorbit.com Thu Jun 5 08:18:13 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 20D917F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 08:18:13 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id A5475AC002 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 06:18:09 -0700 (PDT) X-ASG-Debug-ID: 1401974287-04bdf056674d500001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id PTJWyvp2UCuUdzJQ for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 06:18:07 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtsNACJtkFN5LOoo/2dsb2JhbABZgweDRag4BpgnAYELF3SCJQEBBScTHCMQCAMOCgklDwUlAyETiEHSdhcWhT+IfQeDK4EVBJoSiyGIGYNKKw Received: from ppp121-44-234-40.lns20.syd7.internode.on.net (HELO dastard) ([121.44.234.40]) by ipmail07.adl2.internode.on.net with ESMTP; 05 Jun 2014 22:48:06 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsXYH-0000Ce-8Y; Thu, 05 Jun 2014 23:17:53 +1000 Date: Thu, 5 Jun 2014 23:17:53 +1000 From: Dave Chinner <david@fromorbit.com> To: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Cc: rientjes@google.com, Motohiro.Kosaki@us.fujitsu.com, riel@redhat.com, kosaki.motohiro@jp.fujitsu.com, fengguang.wu@intel.com, kamezawa.hiroyu@jp.fujitsu.com, akpm@linux-foundation.org, hch@infradead.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] mm/vmscan: Do not block forever at shrink_inactive_list(). Message-ID: <20140605131753.GD4523@dastard> X-ASG-Orig-Subj: Re: [PATCH] mm/vmscan: Do not block forever at shrink_inactive_list(). References: <20140520063024.GH18954@dastard> <201405202358.ADF10119.SMOFOQLFtOVHJF@I-love.SAKURA.ne.jp> <6B2BA408B38BA1478B473C31C3D2074E31D59D8673@SV-EXCHANGE1.Corp.FC.LOCAL> <201405262045.CDG95893.HLFFOSFMQOVOJt@I-love.SAKURA.ne.jp> <alpine.DEB.2.02.1406031442170.19491@chino.kir.corp.google.com> <201406052145.CIB35534.OQLVMSJFOHtFOF@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201406052145.CIB35534.OQLVMSJFOHtFOF@I-love.SAKURA.ne.jp> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1401974287 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6398 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 05, 2014 at 09:45:26PM +0900, Tetsuo Handa wrote: > David Rientjes wrote: > > On Mon, 26 May 2014, Tetsuo Handa wrote: > > > > > In shrink_inactive_list(), we do not insert delay at > > > > > > if (!sc->hibernation_mode && !current_is_kswapd()) > > > wait_iff_congested(zone, BLK_RW_ASYNC, HZ/10); > > > > > > if sc->hibernation_mode != 0. > > > Follow the same reason, we should not insert delay at > > > > > > while (unlikely(too_many_isolated(zone, file, sc))) { > > > congestion_wait(BLK_RW_ASYNC, HZ/10); > > > > > > /* We are about to die and free our memory. Return now. */ > > > if (fatal_signal_pending(current)) > > > return SWAP_CLUSTER_MAX; > > > } > > > > > > if sc->hibernation_mode != 0. > > > > > > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> > > > --- > > > mm/vmscan.c | 3 +++ > > > 1 files changed, 3 insertions(+), 0 deletions(-) > > > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > > index 32c661d..89c42ca 100644 > > > --- a/mm/vmscan.c > > > +++ b/mm/vmscan.c > > > @@ -1362,6 +1362,9 @@ static int too_many_isolated(struct zone *zone, int file, > > > if (current_is_kswapd()) > > > return 0; > > > > > > + if (sc->hibernation_mode) > > > + return 0; > > > + > > > if (!global_reclaim(sc)) > > > return 0; > > > > > > > This isn't the only too_many_isolated() functions that do a delay, how is > > the too_many_isolated() in mm/compaction.c different? > > > > I don't know. But today I realized that this patch is not sufficient. > > I'm trying to find why __alloc_pages_slowpath() cannot return for many minutes > when a certain type of memory pressure is given on a RHEL7 environment with > 4 CPU / 2GB RAM. Today I tried to use ftrace for examining the breakdown of > time-consuming functions inside __alloc_pages_slowpath(). But on the first run, > all processes are trapped into this too_many_isolated()/congestion_wait() loop > while kswapd is not running; stalling forever because nobody can perform > operations for making too_many_isolated() to return 0. > > This means that, under rare circumstances, it is possible that all processes > other than kswapd are trapped into too_many_isolated()/congestion_wait() loop > while kswapd is sleeping because this loop assumes that somebody else shall > wake up kswapd and kswapd shall perform operations for making > too_many_isolated() to return 0. However, we cannot guarantee that kswapd is > waken by somebody nor kswapd is not blocked by blocking operations inside > shrinker functions (e.g. mutex_lock()). So what you are saying is that kswapd is having problems with getting blocked on locks held by processes in direct reclaim? What are the stack traces that demonstrate such a dependency loop? Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Thu Jun 5 14:13:07 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 74F237F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 14:13:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6A1548F8033 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 12:13:04 -0700 (PDT) X-ASG-Debug-ID: 1401995582-04cbb0752470d70001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id R8ChB95kNqyOxxEw for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 12:13:02 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 84B726C7A47E; Thu, 5 Jun 2014 14:13:02 -0500 (CDT) Message-ID: <5390C13E.6030205@sandeen.net> Date: Thu, 05 Jun 2014 14:13:02 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 1/2 V2] xfsprogs: try to handle mkfs of a file on 4k sector device References: <53852A05.5040006@redhat.com> X-ASG-Orig-Subj: [PATCH 1/2 V2] xfsprogs: try to handle mkfs of a file on 4k sector device In-Reply-To: <53852A05.5040006@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1401995582 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6405 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Try the xfs geometry ioctl if the mkfs target resides in a file; this gives us the equivalent of a device sector size. If this fails, and there's a sector size mismatch between the host FS and the filesystem, then mkfs might fail - but that's no worse than it's been before. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- V2: remove warning when FSGEOMETRY fails (i.e. on non-xfs filesystems) for now diff --git a/libxfs/linux.c b/libxfs/linux.c index 2e07d54..3796fdd 100644 --- a/libxfs/linux.c +++ b/libxfs/linux.c @@ -141,10 +141,20 @@ platform_findsizes(char *path, int fd, long long *sz, int *bsz) exit(1); } if ((st.st_mode & S_IFMT) == S_IFREG) { + struct xfs_fsop_geom_v1 geom = { 0 }; + *sz = (long long)(st.st_size >> 9); - *bsz = BBSIZE; - if (BBSIZE > max_block_alignment) - max_block_alignment = BBSIZE; + if (ioctl(fd, XFS_IOC_FSGEOMETRY_V1, &geom) < 0) { + /* + * fall back to BBSIZE; mkfs might fail if there's a + * size mismatch between the image & the host fs... + */ + *bsz = BBSIZE; + } else + *bsz = geom.sectsize; + + if (*bsz > max_block_alignment) + max_block_alignment = *bsz; return; } From sandeen@sandeen.net Thu Jun 5 14:15:09 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E83617F47 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 14:15:08 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8FC5BAC005 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 12:15:05 -0700 (PDT) X-ASG-Debug-ID: 1401995704-04cbb0752470e80001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id LydxKwbY02SgmG07 for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 12:15:04 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 0A95D6BB8953; Thu, 5 Jun 2014 14:15:03 -0500 (CDT) Message-ID: <5390C1B7.7050106@sandeen.net> Date: Thu, 05 Jun 2014 14:15:03 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files References: <53852A05.5040006@redhat.com> X-ASG-Orig-Subj: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files In-Reply-To: <53852A05.5040006@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1401995704 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6405 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- If we encounter a target that's really a regular file, even without "-d file..." on the cmdline, call platform_findsizes() instead of blkid_get_topology to try to discover the "sector size" via the fsgeom() call. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- V2: Lose local "isa_file" flag, just switch based on (xi->disfile) or (stat works & S_ISREG) diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 188b6b3..3b8bf67 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -456,9 +456,25 @@ static void get_topology( struct fs_topology *ft, int force_overwrite) { - if (!xi->disfile) { - const char *dfile = xi->volname ? xi->volname : xi->dname; + struct stat statbuf; + char *dfile = xi->volname ? xi->volname : xi->dname; + /* + * Don't call blkid for topology if this is a "-d file" target, or + * if we've simply been pointed at a regular file. platform_findsizes + * will attempt to find the underlying sector size of the host fs. + */ + if (xi->disfile || + (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode))) { + int fd; + long long dummy; + + fd = open(dfile, O_RDONLY); + if (fd >= 0) { + platform_findsizes(dfile, fd, &dummy, &ft->lsectorsize); + close(fd); + } + } else { blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth, &ft->lsectorsize, &ft->psectorsize, force_overwrite); From mp6058@gmail.com Thu Jun 5 14:39:49 2014 Return-Path: <mp6058@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3A8607F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 14:39:49 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0E47430406B for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 12:39:48 -0700 (PDT) X-ASG-Debug-ID: 1401997185-04bdf0566774a40001-NocioJ Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by cuda.sgi.com with ESMTP id dnyC7i7czWtEWDXw (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 12:39:46 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.182 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.182] Received: by mail-wi0-f182.google.com with SMTP id r20so4169742wiv.15 for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 12:39:45 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.182] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.182] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=UrOeqK9ZgbBq3ym0TnSobqEsLw/EePV0/TO+BGVtkc0=; b=sUiI9WNqGY51FBdirSNl7sOJc1/zA+yGpCzvuWfrd7Y1PGc/1itRzTiSzvhis0gg1w uMptWj60kH/SIIDHGbeAcWaX0deDMA5Pwrc96Gnw5dDVKp9kzQlqXJv5XW60x0Xrwkbh oeRRFK9tVAPvhKS/fnJdOuXM9oUf3QuY66RfAOBfVzpfmAMaTg2QeroPkZRVG07uRKWx qJYHldltDPv7D64oJYFi9bW+Rk5qa/5audSZ44XzbEBeFLgj4oavWGLjNqHfS71gmY6J 6lxDuS9T5CD/C/M73NEbdzOzdCrTnzl/qHhBxnpPTvb638CVBSJ8rpHLEd6OKwlpTgaO NfHg== X-Received: by 10.180.187.135 with SMTP id fs7mr917746wic.37.1401997185289; Thu, 05 Jun 2014 12:39:45 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id ge6sm2889968wic.0.2014.06.05.12.39.43 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 05 Jun 2014 12:39:44 -0700 (PDT) Message-ID: <5390C77E.4020003@gmail.com> Date: Thu, 05 Jun 2014 22:39:42 +0300 From: Martin Papik <mp6058@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com> CC: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <20140502233512.GE26353@dastard> <536432A0.6000405@gmail.com> <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E4E1B.1020003@gmail.com> <20140605005538.GB4523@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140605005538.GB4523@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wi0-f182.google.com[209.85.212.182] X-Barracuda-Start-Time: 1401997186 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6406 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Dear Dave, Thanks for your patience, and I'd like to ask a few more questions if I may. You mentioned that XFS is primarily for server type environment and specifically mentioned multipath access to storage devices. I had a setup in the past, blade center with a shared SCSI array where everything was duplicated. The blades had two connections one to each of a pair of switches, the switches had duplicated connections to two controllers (4 connections) and the controllers had access to the SCSI drives (a dozen). So in this scenario each blade had two SCSI drives showing for each volume on the array. So..... Does XFS bind to both devices? If so, does it start using the second if it loses access to the one it uses right now? E.g. when you do maintenance on one of the redundant switches. Also, if so, does XFS pick the device up when the device comes back (e.g. maintenance done). This assumes of course that only one of the pair is down at a time. ... Or does XFS just prevent the use of the redundant device in order to prevent problems related to writing to the same device by two FS instances? Martin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTkMdoAAoJELsEaSRwbVYrbfgP/0zfMZaKz4f8Si9eIkdVLn1o nnS0KRo3Ma751vvRWeu8Nf9Mki4rSW9bTE9au2O5jameUTGJl/4TbeC91HTbnRq7 tVjjNw9rf7I36kLEv0fZmm5zjlpn4WLSulcjdOEJqGB4NGng2HULqIUJQ62MPvW4 ZRluzgq3fZPg3wOpKinEUviwDjcwOe/9grCIieNxgVwk7GKwal8ytH/Z58++AoFW 5PB5MBlPTYFOTfIWupkGoWGyUS3M7+Ddwq9RmD871XXFnQOeyRlxF8iGp4Kqw1h1 D+jhUqiMZWApzprs6V1zQJ9Z7NbBZyHk/xwbB2EF/aQUsiukLchsX7rxgPFShWkA dJ8biDbbqQY4+ZFYt5NXi9TlffpGoCutWkU73DdGxWArM5cI6eFOCSRPE7Gfm8zR ZhUeq1g6UP9mefsm7ZOlVq4KanbEgdkkh2I1y/aTSUHd80O7Fge2vpN089Ub1LnI kcRcTN0b11Ut6nJkPAbVpVnCBpz6F0qAYUlW6ECW0F5w3Qvd5VZhRN5OLL3OTjo/ 2k+YRA/9g9tlZNNcZWdFR08TZLzMACxNef6uNb0HIlIJNEq8+a1JipklWgOjqOt2 2/eGduI5ijt0i+4MqUnrhStIUb0ac0al4vliQ0ijAfpD8WbnrzznvGBAZoCUSjWC 1cKR41L/uYmjdLmB6AHc =lbaf -----END PGP SIGNATURE----- From david@fromorbit.com Thu Jun 5 17:41:50 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BD4FB7F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 17:41:50 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5410CAC006 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 15:41:50 -0700 (PDT) X-ASG-Debug-ID: 1402008103-04cbb075257ed40001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id abOzTJpHeav29LrT for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 15:41:44 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvJyAFvxkFN5LOooPGdsb2JhbABZgweDRahNBpgnAYEOFwMBAQEBODWCJQEBBTocIxAIAw4KCSUPBSUDBxoTiEHTGBcWhT+INEkHgyuBFQSaEpcEK4Ex Received: from ppp121-44-234-40.lns20.syd7.internode.on.net (HELO dastard) ([121.44.234.40]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 08:11:43 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsgLs-0001m6-Np; Fri, 06 Jun 2014 08:41:40 +1000 Date: Fri, 6 Jun 2014 08:41:40 +1000 From: Dave Chinner <david@fromorbit.com> To: Martin Papik <mp6058@gmail.com> Cc: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect Message-ID: <20140605224140.GB4453@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect References: <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E4E1B.1020003@gmail.com> <20140605005538.GB4523@dastard> <5390C77E.4020003@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5390C77E.4020003@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402008103 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6410 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 05, 2014 at 10:39:42PM +0300, Martin Papik wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > Dear Dave, > > Thanks for your patience, and I'd like to ask a few more questions if > I may. > > You mentioned that XFS is primarily for server type environment and > specifically mentioned multipath access to storage devices. I had a > setup in the past, blade center with a shared SCSI array where > everything was duplicated. The blades had two connections one to each > of a pair of switches, the switches had duplicated connections to two > controllers (4 connections) and the controllers had access to the SCSI > drives (a dozen). So in this scenario each blade had two SCSI drives > showing for each volume on the array. So..... > > Does XFS bind to both devices? No. Use dm-multipath to make them appear as a single block device made up as a pair of redundant paths in primary/secondary failover or active/active load balancing configurations. dm-multipath handles failover between the two block devices on path failure transparently. XFS | dm-mp-0 / \ sdc sdd The mounted filesystem doesn't even know there are multiple paths in this configuration, however the XFS UUID trapping behaviour avoids this problem by preventing you from doing XFS operations directly on /dev/sdc or /dev/sdd while the filesystem is mount on /dev/dm-mp-0.... Cheers. Dave. -- Dave Chinner david@fromorbit.com From sandeen@redhat.com Thu Jun 5 18:09:20 2014 Return-Path: <sandeen@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id EF18C7F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 18:09:20 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E260B304053 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 16:09:17 -0700 (PDT) X-ASG-Debug-ID: 1402009756-04cbb07527807e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 2ifKJnmZAQ6ZK30k for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 16:09:16 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s55N9G2w009654 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 19:09:16 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s55N9FXv001914 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 19:09:16 -0400 Message-ID: <5390F89C.2050305@redhat.com> Date: Thu, 05 Jun 2014 18:09:16 -0500 From: Eric Sandeen <sandeen@redhat.com> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: xfs-oss <xfs@oss.sgi.com> Subject: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() X-Enigmail-Version: 1.6 X-ASG-Orig-Subj: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402009756 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 If we xfs_mdrestore an image from a non-crc filesystem, lo and behold the restored image has gained a CRC: # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 crc = 0 (correct) # xfs_db -c "sb 0" -c "p crc" test.img crc = 0xb6f8d6a0 (correct) Obviously it can't really be correct :) The problem is, xfs_sb_from_disk doesn't fill in the sb_crc field. An earlier commit: 47de6e1 repair: ensure that unused superblock fields are zeroed fixed this same sort of problem for xfs_repair. Do the same for mdrestore. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- But ... should we maybe just do this once and for all in xfs_sb_from_disk? I'm not sure leaving it up to every caller is a good idea, unless somebody ahs a reason to pre-populate some fields - I can't imagine why that would be, though... diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c index e57bdb2..0453f17 100644 --- a/mdrestore/xfs_mdrestore.c +++ b/mdrestore/xfs_mdrestore.c @@ -104,6 +104,7 @@ perform_restore( 1, src_f) != 1) fatal("error reading from file: %s\n", strerror(errno)); + memset(&sb, 0, sizeof(struct xfs_sb)); libxfs_sb_from_disk(&sb, (xfs_dsb_t *)block_buffer); if (sb.sb_magicnum != XFS_SB_MAGIC) From david@fromorbit.com Thu Jun 5 18:56:40 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 262BE7F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 18:56:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id CFFAA304053 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 16:56:39 -0700 (PDT) X-ASG-Debug-ID: 1402012596-04bdf0566986df0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 55xj0FGa8dsQiKbM for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 16:56:37 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag1zACEDkVN5LOooPGdsb2JhbABZgwdSgnOoPREGmCcBgQcXAwEBAQE4NYIlAQEFJxMcFg0QCAMYCSUPBSUDBxoTiEHTExcWhT+IfQeDK4EVBJoSiyGLYys Received: from ppp121-44-234-40.lns20.syd7.internode.on.net (HELO dastard) ([121.44.234.40]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 09:26:36 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WshWL-0001uF-3a; Fri, 06 Jun 2014 09:56:33 +1000 Date: Fri, 6 Jun 2014 09:56:33 +1000 From: Dave Chinner <david@fromorbit.com> To: Eric Sandeen <sandeen@redhat.com> Cc: xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() Message-ID: <20140605235633.GC4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() References: <5390F89C.2050305@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5390F89C.2050305@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402012596 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 05, 2014 at 06:09:16PM -0500, Eric Sandeen wrote: > If we xfs_mdrestore an image from a non-crc filesystem, lo > and behold the restored image has gained a CRC: > > # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img > # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 > crc = 0 (correct) > # xfs_db -c "sb 0" -c "p crc" test.img > crc = 0xb6f8d6a0 (correct) > > Obviously it can't really be correct :) > > The problem is, xfs_sb_from_disk doesn't fill in the sb_crc > field. > > An earlier commit: > > 47de6e1 repair: ensure that unused superblock fields are zeroed > > fixed this same sort of problem for xfs_repair. Do the same > for mdrestore. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> Patch looks fine, but lets answer the question below before pushing this... > --- > > But ... should we maybe just do this once and for all in > xfs_sb_from_disk? I'm not sure leaving it up to every > caller is a good idea, unless somebody ahs a reason to > pre-populate some fields - I can't imagine why that would > be, though... We don't ever read in the CRC field into the in-memory structures because it has no meaning in memory. Simiarly, we don't ever write the CRC field from the in-core structure because we always re-calculate it in the IO path if CRCs are configured. That is consistent behaviour across the entire code-base. The superblock is a special case because of the way it is written. In kernel, we only write *specific* fields based on the field bitmask passed to xfs_mod_sb(), and we never set the CRC field bit in the kernel. Hence we never write that field to the superblock except when growing the filesystem and are initialising new secondary superblocks (where the in memory value is zero, anyway). Essentially, what userspace doing is the same: libxfs_sb_to_disk(buf, sbp, XFS_SB_ALL_BITS) which is telling the code to write the sb_crc field from the in-memory superblock buffer. So, either we need to zero the sbp->sb_crc field before it gets written, or we need to mask out the XFS_SB_CRC bit from the writable flags. IMO, the former is the correct thing to do we have to ensure that fields that are not read from disk appear in memory as zero. That way no matter how the superblock is written it will have the correct zero values for anything that was not specifically initialised.... Perhaps we should move the memset() to within xfs_sb_from_disk() to make this explicit? Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@redhat.com Thu Jun 5 19:00:12 2014 Return-Path: <sandeen@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id A294D7F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 19:00:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 758A030404E for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 17:00:12 -0700 (PDT) X-ASG-Debug-ID: 1402012810-04cbb07525834b0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 5afyjL9TR56rgfzC for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 17:00:11 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56003dA024429 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 5 Jun 2014 20:00:03 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56001Hh031101 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 5 Jun 2014 20:00:03 -0400 Message-ID: <53910482.1030909@redhat.com> Date: Thu, 05 Jun 2014 19:00:02 -0500 From: Eric Sandeen <sandeen@redhat.com> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com> CC: xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() References: <5390F89C.2050305@redhat.com> <20140605235633.GC4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() In-Reply-To: <20140605235633.GC4453@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402012811 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 6/5/14, 6:56 PM, Dave Chinner wrote: > On Thu, Jun 05, 2014 at 06:09:16PM -0500, Eric Sandeen wrote: ... >> But ... should we maybe just do this once and for all in >> xfs_sb_from_disk? I'm not sure leaving it up to every >> caller is a good idea, unless somebody ahs a reason to >> pre-populate some fields - I can't imagine why that would >> be, though... > > We don't ever read in the CRC field into the in-memory structures > because it has no meaning in memory. Simiarly, we don't ever write > the CRC field from the in-core structure because we always > re-calculate it in the IO path if CRCs are configured. That is > consistent behaviour across the entire code-base. <snip stuff> > Perhaps we should move the memset() to within xfs_sb_from_disk() > to make this explicit? Yes, that's what I meant by "this" in "do this once and for all" - sorry, that wasn't clear. memset(0) in xfs_sb_from_disk(). Yeah, the more I think about it, the more I think that's probably the obviously correct thing to do. -Eric > Cheers, > > Dave. > From mp6058@gmail.com Thu Jun 5 19:48:07 2014 Return-Path: <mp6058@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 495E57F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 19:48:07 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 28A498F8035 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 17:48:04 -0700 (PDT) X-ASG-Debug-ID: 1402015681-04cb6c78c480c40001-NocioJ Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by cuda.sgi.com with ESMTP id zbiZgs4bdzOs9vNR (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 17:48:02 -0700 (PDT) X-Barracuda-Envelope-From: mp6058@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.175 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.175] Received: by mail-wi0-f175.google.com with SMTP id f8so77961wiw.8 for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 17:48:01 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.175] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.175] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=zoRwDHuyK/V0OEYyvyG0ujdTq0V1/jJXL4HyaLIpNO4=; b=Dm9vsade+7NE+y17HLaO3MDerDDhsKblwmc1ravfXpKW3Dcln9VqQSx7GZ11C7Yr5C 3ZtOkyS/VEOPd7vfnJAY87EnY/NkxUY9/q3zEhYNaLA8aWb58y6ndQst0P7EkyIRVzwN RYtaFW/FjyHWV/+V1eoRAWBewAjtU1yDLzbGoHFlos1g4KR+SA2WRHs6JW9yqugEoEAc tMsTunNT0zTzDu+HmBi3+ALnJAaoP+fBC295a5jHfpycOQn59Z121zUb29pvAovcpL22 xsgONjpUwNcuFgC2POsVTwzymih4PTE/jbOnQMi1oC3fO3NVM+hylpIkFAnfKjeceQfv FShw== X-Received: by 10.180.212.112 with SMTP id nj16mr1148895wic.1.1402015681241; Thu, 05 Jun 2014 17:48:01 -0700 (PDT) Received: from [192.168.1.14] ([37.131.0.1]) by mx.google.com with ESMTPSA id en6sm18340187wib.11.2014.06.05.17.47.59 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 05 Jun 2014 17:48:00 -0700 (PDT) Message-ID: <53910FBE.6090109@gmail.com> Date: Fri, 06 Jun 2014 03:47:58 +0300 From: Martin Papik <mp6058@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com> CC: Linux fs XFS <xfs@oss.sgi.com> Subject: Re: XFS filesystem claims to be mounted after a disconnect References: <20140503030221.GJ26353@dastard> <538C5E67.6090005@gmail.com> <20140602234135.GO6677@dastard> <538D9412.3040009@gmail.com> <CAAxjCEzz5n85zAH5HuUQkfxKvzZt5_+cPCj3uzZR7U69H+2tDw@mail.gmail.com> <538DA7FF.4080002@gmail.com> <20140603212834.GG14410@dastard> <538E4E1B.1020003@gmail.com> <20140605005538.GB4523@dastard> <5390C77E.4020003@gmail.com> <20140605224140.GB4453@dastard> X-ASG-Orig-Subj: Re: XFS filesystem claims to be mounted after a disconnect In-Reply-To: <20140605224140.GB4453@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wi0-f175.google.com[209.85.212.175] X-Barracuda-Start-Time: 1402015681 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Thanks Dave But wouldn't the same thing that prevents xfs_repair also prevent dm-multipath from using the device? Or would you typically setup a partitioning or volume scheme on top of dm-multipath? Martin > No. Use dm-multipath to make them appear as a single block device > made up as a pair of redundant paths in primary/secondary failover > or active/active load balancing configurations. dm-multipath > handles failover between the two block devices on path failure > transparently. > > XFS | dm-mp-0 / \ sdc sdd > > The mounted filesystem doesn't even know there are multiple paths > in this configuration, however the XFS UUID trapping behaviour > avoids this problem by preventing you from doing XFS operations > directly on /dev/sdc or /dev/sdd while the filesystem is mount on > /dev/dm-mp-0.... > > Cheers. > > Dave. > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCgAGBQJTkQ+yAAoJELsEaSRwbVYrJB4QAIyjUk7un+bth/5WnW/imwoh CGlkS7kuU8Iu96VqwoojOZtY6RcUX5Yq+NoW7NDigFv0iEkaM2j0wg8JoNw6EFqX uiJuCkBUI3/v8QkFU0GtA4/6NFsu9N709f8J0ilof20L0bNm2wh7SiXqrp28X3HS 8Y1G50PXbBnEM5yKbmXLpVTOhEw35NlaPKBYZ5gBFohPXDb4+J6+g0kJD5wZPSWK lsHyW8tuuntGIZTtGZ4sHvak5THCXILClmFcPrdzzU110c601RTzJfeq9L7QXTMI thrUH3KGvT2s4vTwqLLFHdBZNwEXi2X0PaiM7uO0/AYvaaoDfwnLh0lJmSSxRFZn YYFa6Ko20l4nxFZoy6eRUh8vxvOat4VOlYowlyEcnPTE1nSeJfulun94ztjNXs2k 5VtWlFh12CXSVrynXBVnYKvFOAdecZcztqxjAjjTcjIrWHbZv0UXFtflG1V+zjgD 63SqxwShL2C/685gFXHh7mY0K2vAbnBK+IrRSTWMKVMZ16OuuIFA2WZebnskDfAf vWWFv8mAEAUP/xYF7u4g4XVov2aQAVxjDosXxuqUbW8QHlTXNB/wc7akXgoD3fmZ u0cB5Paw9JJeGt5eKYbtReL+Wt3STKtYGu2yNOZo/oiUr0uuoAkcjSfUGqrdu6HL kQgRYDDjQt37JPVIyyNK =55eH -----END PGP SIGNATURE----- From david@fromorbit.com Thu Jun 5 20:43:02 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CFFC87F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 20:43:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id B62968F8035 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 18:43:02 -0700 (PDT) X-ASG-Debug-ID: 1402018980-04cb6c78c3849c0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id Jl9FUizPVbUHVh9b for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 18:43:00 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkV3AEYbkVN5LGMPPGdsb2JhbABZgw2ITqNOBpkLAYEJFwQBAQEBODWEAwEBBAE6HCMFCwgDGAklDwUlAwcaE4g6B8xgFxaFR4kMB4MrgRYEmhWLJotpKw Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail04.adl6.internode.on.net with ESMTP; 06 Jun 2014 11:12:59 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WsjBI-00026G-7Q; Fri, 06 Jun 2014 11:42:56 +1000 Date: Fri, 6 Jun 2014 11:42:56 +1000 From: Dave Chinner <david@fromorbit.com> To: Eric Sandeen <sandeen@redhat.com> Cc: xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() Message-ID: <20140606014256.GD4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() References: <5390F89C.2050305@redhat.com> <20140605235633.GC4453@dastard> <53910482.1030909@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53910482.1030909@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402018980 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6411 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 05, 2014 at 07:00:02PM -0500, Eric Sandeen wrote: > On 6/5/14, 6:56 PM, Dave Chinner wrote: > > On Thu, Jun 05, 2014 at 06:09:16PM -0500, Eric Sandeen wrote: > > ... > > >> But ... should we maybe just do this once and for all in > >> xfs_sb_from_disk? I'm not sure leaving it up to every > >> caller is a good idea, unless somebody ahs a reason to > >> pre-populate some fields - I can't imagine why that would > >> be, though... > > > > We don't ever read in the CRC field into the in-memory structures > > because it has no meaning in memory. Simiarly, we don't ever write > > the CRC field from the in-core structure because we always > > re-calculate it in the IO path if CRCs are configured. That is > > consistent behaviour across the entire code-base. > > <snip stuff> > > > Perhaps we should move the memset() to within xfs_sb_from_disk() > > to make this explicit? > > Yes, that's what I meant by "this" in "do this once and for all" - > sorry, that wasn't clear. memset(0) in xfs_sb_from_disk(). I didn't read it clearly. my fault. > Yeah, the more I think about it, the more I think that's probably > the obviously correct thing to do. *nod* Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Thu Jun 5 21:53:24 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 206077F3F for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 21:53:24 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id F1E058F8033 for <xfs@oss.sgi.com>; Thu, 5 Jun 2014 19:53:23 -0700 (PDT) X-ASG-Debug-ID: 1402023198-04bdf056698f2c0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id dzfcoey9zv4ISj94 for <xfs@oss.sgi.com>; Thu, 05 Jun 2014 19:53:18 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 27FA063B97E3; Thu, 5 Jun 2014 21:53:18 -0500 (CDT) Message-ID: <53912D1F.6010609@sandeen.net> Date: Thu, 05 Jun 2014 21:53:19 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, Eric Sandeen <sandeen@redhat.com> CC: xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() References: <5390F89C.2050305@redhat.com> <20140605235633.GC4453@dastard> <53910482.1030909@redhat.com> <20140606014256.GD4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() In-Reply-To: <20140606014256.GD4453@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402023198 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6413 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/5/14, 8:42 PM, Dave Chinner wrote: > On Thu, Jun 05, 2014 at 07:00:02PM -0500, Eric Sandeen wrote: >> On 6/5/14, 6:56 PM, Dave Chinner wrote: >>> On Thu, Jun 05, 2014 at 06:09:16PM -0500, Eric Sandeen wrote: >> >> ... >> >>>> But ... should we maybe just do this once and for all in >>>> xfs_sb_from_disk? I'm not sure leaving it up to every >>>> caller is a good idea, unless somebody ahs a reason to >>>> pre-populate some fields - I can't imagine why that would >>>> be, though... >>> >>> We don't ever read in the CRC field into the in-memory structures >>> because it has no meaning in memory. Simiarly, we don't ever write >>> the CRC field from the in-core structure because we always >>> re-calculate it in the IO path if CRCs are configured. That is >>> consistent behaviour across the entire code-base. >> >> <snip stuff> >> >>> Perhaps we should move the memset() to within xfs_sb_from_disk() >>> to make this explicit? >> >> Yes, that's what I meant by "this" in "do this once and for all" - >> sorry, that wasn't clear. memset(0) in xfs_sb_from_disk(). > > I didn't read it clearly. my fault. > >> Yeah, the more I think about it, the more I think that's probably >> the obviously correct thing to do. Actually, a memset() seems like overkill - every field except sb_crc is explicitly filled in in the function. Maybe better to just set sb_crc to 0, with a comment as to why? I think I'll whip that one up. -Eric > *nod* > > Cheers, > > Dave. > From dgc@oss.sgi.com Fri Jun 6 02:00:50 2014 Return-Path: <dgc@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 20B537F47; Fri, 6 Jun 2014 02:00:50 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-da-geom, created. xfs-for-linus-3.15-rc6-74-gb2a21e7 X-Git-Refname: refs/heads/xfs-da-geom X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5 Message-Id: <20140606070050.20B537F47@oss.sgi.com> Date: Fri, 6 Jun 2014 02:00:49 -0500 (CDT) 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, xfs-da-geom has been created at b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5 (commit) - Log ----------------------------------------------------------------- commit b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:22:04 2014 +1000 xfs: remove redundant geometry information from xfs_da_state It's carried in state->args->geo, so there's no need to duplicate it and use more stack space than necessary. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit c2c4c477e0d02b0b352a71a25be56c9d35537265 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:21:45 2014 +1000 xfs: replace attr LBSIZE with xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit c59f0ad23af0f4d7f64d2c2cdd85ceb49f6337fa Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:21:27 2014 +1000 xfs: pass xfs_da_args to xfs_attr_leaf_newentsize As it's only ever called from contexts where the xfs_da_args is present and contains all the information needed inside the args structure. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 33a6039007af112509f48910e62640dadd064322 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:21:10 2014 +1000 xfs: use xfs_da_geometry for block size in attr code Rather than using the superblock value obtained through the xfs_mount. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit bc85178a7668db835666c6a5bd53436eebfc94b1 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:20:54 2014 +1000 xfs: remove mp->m_dir_geo from directory logging We don't pass the xfs_da_args or the geometry all the way down to the directory buffer logging code, hence we have to use mp->m_dir_geo here. Fix this to use the geometry passed via the xfs_da_args, and convert all the directory logging functions for consistency. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 53f82db003900822ff828b792b1690a53a57c028 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:20:32 2014 +1000 xfs: reduce direct usage of mp->m_dir_geo There are many places in the directory code were we don't pass the args into and so have to extract the geometry direct from the mount structure. Push the args or the geometry into these leaf functions so that we don't need to grab it from the struct xfs_mount. This, in turn, brings use to the point where directory geometry is no longer a property of the struct xfs_mount; it is not a global property anymore, and hence we can start to consider per-directory configuration of physical geometries. Start by converting the xfs_dir_isblock/leaf code - pass in the xfs_da_args and convert the readdir code to use xfs_da_args like the rest of the directory code to pass information around. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 7ab610f9e0f1701b7b319bdc946b9804fb79e780 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:20:02 2014 +1000 xfs: move node entry counts to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit ed358c0058fc7d97807c92333a4e06117a4be5fe Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:18:10 2014 +1000 xfs: convert dir/attr btree threshold to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 8f66193c89f0b0259db6b27b4df3deb828c294f9 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:15:59 2014 +1000 xfs: convert m_dirblksize to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit d6cf13051f31bf1a54b65643d0e578b3ca2f0692 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:14:11 2014 +1000 xfs: convert m_dirblkfsbs to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 7dda6e8644a31c366484bbcb564ea6c6225e5963 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:11:18 2014 +1000 xfs: convert directory segment limits to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 30028030b14d083123c88e3ab45990a8c375abf1 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:08:18 2014 +1000 xfs: convert directory db conversion to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 2998ab1d450a526a9a3a6292f91239b4fc209db0 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:07:53 2014 +1000 xfs: convert directory dablk conversion to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 9b3b5522d3f55215ce51c87b0467926c57a6f182 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:06:53 2014 +1000 xfs: convert dir byte/off conversion to xfs_da_geometry Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 8c44a28561625d36591cc1540eb5f9033a9d1815 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:04:41 2014 +1000 xfs: kill XFS_DIR2...FIRSTDB macros They are just simple wrappers around xfs_dir2_byte_to_db(), and we've already removed one usage earlier in the patch set. Kill the rest before we start removing the xfs_mount from conversion functions. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 892e3f342f9888066f1ce56f3683572f0ca9b8e9 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:04:05 2014 +1000 xfs: move directory block translatiosn to xfs_dir2_priv.h Because they aren't actually part of the on-disk format, and so shouldn't be in xfs_da_format.h. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 0650b55497ef583c43d6afc80e11a39e92d9a525 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:01:58 2014 +1000 xfs: introduce directory geometry structure The directory code has a dependency on the struct xfs_mount to supply the directory block geometry. Block size, block log size, and other parameters are pre-caclulated in the struct xfs_mount or access directly from the superblock embedded in the struct xfs_mount. Extract all of this geometry information out of the struct xfs_mount and superblock and place it into a new struct xfs_da_geometry defined by the directory code. Allocate and initialise it at mount time, and attach it to the struct xfs_mount so it canbe passed back into the directory code appropriately rather than using the struct xfs_mount. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Fri Jun 6 02:01:08 2014 Return-Path: <dgc@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id C21327F53; Fri, 6 Jun 2014 02:01:08 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-misc-fixes-3-for-3.16, created. xfs-for-linus-3.15-rc5-1272-g3026511 X-Git-Refname: refs/heads/xfs-misc-fixes-3-for-3.16 X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: 30265117ee1e23fa91920f337a3ea91207f700dc Message-Id: <20140606070108.C21327F53@oss.sgi.com> Date: Fri, 6 Jun 2014 02:01:08 -0500 (CDT) 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, xfs-misc-fixes-3-for-3.16 has been created at 30265117ee1e23fa91920f337a3ea91207f700dc (commit) - Log ----------------------------------------------------------------- commit 30265117ee1e23fa91920f337a3ea91207f700dc Author: Jan Kara <jack@suse.cz> Date: Fri Jun 6 16:06:37 2014 +1000 xfs: Fix rounding in xfs_alloc_fix_len() Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the result should be a number of a form (k*prod+mod) however due to sign mistake the result is different. As a result allocations on raid arrays could be misaligned in some cases. This also seems to fix occasional assertion failure: XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) in xfs_alloc_ag_vextent_size(). Also add an assertion that the result of xfs_alloc_fix_len() is of expected form. Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 448011e2ab1c44f7990a62649580bde0da5242b5 Author: Christoph Hellwig <hch@infradead.org> Date: Fri Jun 6 16:05:15 2014 +1000 xfs: tone down writepage/releasepage WARN_ONs I recently ran into the issue fixed by "xfs: kill buffers over failed write ranges properly" which spams the log with lots of backtraces. Make debugging any issues like that easier by using WARN_ON_ONCE in the writeback code. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 72208ee060635dfab2b3bd447a95e0f9c419e954 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Fri Jun 6 16:04:42 2014 +1000 xfs: small cleanup in xfs_lowbit64() There are two checkpatch.pl complaints here because of the bad indenting and because of the assignment inside the condition. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 36de95567f910f5544060f50346d8677ae13ad22 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 16:02:12 2014 +1000 xfs: kill xfs_buf_geterror() Most of the callers are just calling ASSERT(!xfs_buf_geterror()) which means they are checking for bp->b_error == 0. If bp is null in this case, we will assert fail, and hence it's no different in result to oopsing because of a null bp. In some cases, errors have already been checked for or the function returning the buffer can't return a buffer with an error, so it's just a redundant assert. Either way, the assert can either be removed. The other two non-assert callers can just test for a buffer and error properly. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 556b8883cfac3d3203557e161ea8005f8b5479b2 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 16:00:43 2014 +1000 xfs: xfs_readsb needs to check for magic numbers Commit daba542 ("xfs: skip verification on initial "guess" superblock read") dropped the use of a verifier for the initial superblock read so we can probe the sector size of the filesystem stored in the superblock. It, however, now fails to validate that what was read initially is actually an XFS superblock and hence will fail the sector size check and return ENOSYS. This causes probe-based mounts to fail because it expects XFS to return EINVAL when it doesn't recognise the superblock format. cc: <stable@vger.kernel.org> Reported-by: Plamen Petrov <plamen.sisi@gmail.com> Tested-by: Plamen Petrov <plamen.sisi@gmail.com> Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 1f6d64829db78a7e1d63e15c9f48f0a5d2b5a679 Author: Dave Chinner <dchinner@redhat.com> Date: Fri Jun 6 15:59:59 2014 +1000 xfs: block allocation work needs to be kswapd aware Upon memory pressure, kswapd calls xfs_vm_writepage() from shrink_page_list(). This can result in delayed allocation occurring and that gets deferred to the the allocation workqueue. The allocation then runs outside kswapd context, which means if it needs memory (and it does to demand page metadata from disk) it can block in shrink_inactive_list() waiting for IO congestion. These blocking waits are normally avoiding in kswapd context, so under memory pressure writeback from kswapd can be arbitrarily delayed by memory reclaim. To avoid this, pass the kswapd context to the allocation being done by the workqueue, so that memory reclaim understands correctly that the work is being done for kswapd and therefore it is not blocked and does not delay memory reclaim. To avoid issues with int->char conversion of flag fields (as noticed in v1 of this patch) convert the flag fields in the struct xfs_bmalloca to bool types. pahole indicates these variables are still single byte variables, so no extra space is consumed by this change. cc: <stable@vger.kernel.org> Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dave Chinner <david@fromorbit.com> ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Fri Jun 6 02:01:49 2014 Return-Path: <dgc@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id B375C7F56; Fri, 6 Jun 2014 02:01:49 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. xfs-for-linus-3.15-rc6-94-g1d2378a X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: b70f14e1ffbb47369b1cc2cdf558c3468ae9e484 X-Git-Newrev: 1d2378a4e89bcef25f3800ef00b94cd07069c876 Message-Id: <20140606070149.B375C7F56@oss.sgi.com> Date: Fri, 6 Jun 2014 02:01:49 -0500 (CDT) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated 1d2378a Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next 3026511 xfs: Fix rounding in xfs_alloc_fix_len() 448011e xfs: tone down writepage/releasepage WARN_ONs 72208ee xfs: small cleanup in xfs_lowbit64() 36de955 xfs: kill xfs_buf_geterror() 556b888 xfs: xfs_readsb needs to check for magic numbers 1f6d648 xfs: block allocation work needs to be kswapd aware 8cd5674 Merge branch 'xfs-da-geom' into for-next b2a21e7 xfs: remove redundant geometry information from xfs_da_state c2c4c47 xfs: replace attr LBSIZE with xfs_da_geometry c59f0ad xfs: pass xfs_da_args to xfs_attr_leaf_newentsize 33a6039 xfs: use xfs_da_geometry for block size in attr code bc85178 xfs: remove mp->m_dir_geo from directory logging 53f82db xfs: reduce direct usage of mp->m_dir_geo 7ab610f xfs: move node entry counts to xfs_da_geometry ed358c0 xfs: convert dir/attr btree threshold to xfs_da_geometry 8f66193 xfs: convert m_dirblksize to xfs_da_geometry d6cf130 xfs: convert m_dirblkfsbs to xfs_da_geometry 7dda6e8 xfs: convert directory segment limits to xfs_da_geometry 3002803 xfs: convert directory db conversion to xfs_da_geometry 2998ab1 xfs: convert directory dablk conversion to xfs_da_geometry 9b3b552 xfs: convert dir byte/off conversion to xfs_da_geometry 8c44a28 xfs: kill XFS_DIR2...FIRSTDB macros 892e3f3 xfs: move directory block translatiosn to xfs_dir2_priv.h 0650b55 xfs: introduce directory geometry structure from b70f14e1ffbb47369b1cc2cdf558c3468ae9e484 (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 1d2378a4e89bcef25f3800ef00b94cd07069c876 Merge: 8cd5674 3026511 Author: Dave Chinner <david@fromorbit.com> Date: Fri Jun 6 16:17:47 2014 +1000 Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next commit 8cd56740f64b10fb75aba326cf188282970eee5b Merge: b70f14e b2a21e7 Author: Dave Chinner <david@fromorbit.com> Date: Fri Jun 6 15:25:24 2014 +1000 Merge branch 'xfs-da-geom' into for-next ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_alloc.c | 19 ++--- fs/xfs/xfs_aops.c | 6 +- fs/xfs/xfs_attr.c | 17 +--- fs/xfs/xfs_attr_leaf.c | 184 +++++++++++++++++++++--------------------- fs/xfs/xfs_attr_leaf.h | 3 +- fs/xfs/xfs_attr_list.c | 1 + fs/xfs/xfs_attr_remote.c | 55 +++++++------ fs/xfs/xfs_bit.h | 7 +- fs/xfs/xfs_bmap.c | 3 +- fs/xfs/xfs_bmap_util.c | 16 +++- fs/xfs/xfs_bmap_util.h | 13 +-- fs/xfs/xfs_btree.c | 12 +-- fs/xfs/xfs_buf.h | 5 -- fs/xfs/xfs_buf_item.c | 2 +- fs/xfs/xfs_da_btree.c | 65 +++++++-------- fs/xfs/xfs_da_btree.h | 20 ++++- fs/xfs/xfs_da_format.c | 36 +++++---- fs/xfs/xfs_da_format.h | 154 ----------------------------------- fs/xfs/xfs_dir2.c | 132 +++++++++++++++++++----------- fs/xfs/xfs_dir2.h | 30 ++++--- fs/xfs/xfs_dir2_block.c | 88 ++++++++++---------- fs/xfs/xfs_dir2_data.c | 80 +++++++++---------- fs/xfs/xfs_dir2_leaf.c | 200 ++++++++++++++++++++++++---------------------- fs/xfs/xfs_dir2_node.c | 188 ++++++++++++++++++++++--------------------- fs/xfs/xfs_dir2_priv.h | 138 +++++++++++++++++++++++++++++++- fs/xfs/xfs_dir2_readdir.c | 142 ++++++++++++++++---------------- fs/xfs/xfs_dir2_sf.c | 18 +++-- fs/xfs/xfs_dquot.c | 6 +- fs/xfs/xfs_fsops.c | 4 +- fs/xfs/xfs_ialloc.c | 1 - fs/xfs/xfs_log.c | 2 +- fs/xfs/xfs_log_rlimit.c | 2 +- fs/xfs/xfs_mount.c | 39 ++++++--- fs/xfs/xfs_mount.h | 12 +-- fs/xfs/xfs_rtbitmap.c | 1 - fs/xfs/xfs_symlink.c | 1 + fs/xfs/xfs_trans_resv.c | 3 +- fs/xfs/xfs_trans_space.h | 5 +- 38 files changed, 879 insertions(+), 831 deletions(-) hooks/post-receive -- XFS development tree From dave@fromorbit.com Fri Jun 6 03:18:33 2014 Return-Path: <dave@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 62A817F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 03:18:33 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 58025304053 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 01:18:30 -0700 (PDT) X-ASG-Debug-ID: 1402042707-04cbb0752796000001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id eQTVD4InFhSostyn for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 01:18:28 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah13AM14kVN5LGMPPGdsb2JhbABZgw2ITqNIBpoSFwQBAQEBODWEAwEBBFc7GGoDBy2IOgeddK8DhV2IKIEBhCsEpTuLaSuBMA Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 17:48:23 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from <dave@fromorbit.com>) id 1WspLx-00031P-I5 for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:18:21 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from <dave@disappointment.disaster>) id 1WspLx-0006ol-G8 for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:18:21 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: [PATCH] xfs; fix xfs_da_args sparse warning in xfs_readdir Date: Fri, 6 Jun 2014 18:18:21 +1000 X-ASG-Orig-Subj: [PATCH] xfs; fix xfs_da_args sparse warning in xfs_readdir Message-Id: <1402042701-26173-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402042707 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner <dchinner@redhat.com> The kbuild test robot reported: >> fs/xfs/xfs_dir2_readdir.c:672:41: sparse: Using plain integer as NULL pointer Fix it. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_dir2_readdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/xfs/xfs_dir2_readdir.c b/fs/xfs/xfs_dir2_readdir.c index ca1f43c..48e99af 100644 --- a/fs/xfs/xfs_dir2_readdir.c +++ b/fs/xfs/xfs_dir2_readdir.c @@ -669,7 +669,7 @@ xfs_readdir( struct dir_context *ctx, size_t bufsize) { - struct xfs_da_args args = {0}; + struct xfs_da_args args = { NULL }; int rval; int v; uint lock_mode; -- 2.0.0 From dave@fromorbit.com Fri Jun 6 03:23:03 2014 Return-Path: <dave@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 079497F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 03:23:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id EE590304043 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 01:23:02 -0700 (PDT) X-ASG-Debug-ID: 1402042980-04cb6c78c491150001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 8zRnhepydRapYT6b for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 01:23:01 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhV3APt5kVN5LGMPPGdsb2JhbABZgw2ITqNIBpoSFwQBAQEBODWEYDuBAgMHiG6ddq8DhV2JKYQrBK8Xgg0r Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 17:52:55 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from <dave@fromorbit.com>) id 1WspQN-000327-A1 for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from <dave@disappointment.disaster>) id 1WspQN-0006qp-9E for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: [PATCH 0/2] xfs: fix a couple of swap extent issues Date: Fri, 6 Jun 2014 18:22:51 +1000 X-ASG-Orig-Subj: [PATCH 0/2] xfs: fix a couple of swap extent issues Message-Id: <1402042973-26276-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402042980 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi folks, Eric pointed out that this morning that if xfs_fsr didn't fsync the target file, the swap extents ioctl deadlocked. Dumb bug, simple fix. I also made sure that swap extent treats both inodes the same in terms of flushing, page cache pages and being mmap()d so that if anyone other than xfs_fsr uses it it doesn't go boom when the second inode is not a newly created empty file. Thoughts? -Dave. From dave@fromorbit.com Fri Jun 6 03:23:05 2014 Return-Path: <dave@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9F2CB7F51 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 03:23:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 86F278F8037 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 01:23:05 -0700 (PDT) X-ASG-Debug-ID: 1402042982-04cb6c78c691160001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id OkA9EER7uvVDchTI for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 01:23:03 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjF3APt5kVN5LGMPPGdsb2JhbABZgw2ITqNIBpkLgQcXBAEBAQE4NYQDAQEFJy8WChMIGDE5AwcUGYhBzHmFXYkBhFMEsSQr Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 17:52:55 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from <dave@fromorbit.com>) id 1WspQN-000328-AY for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from <dave@disappointment.disaster>) id 1WspQN-0006qs-9m for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: [PATCH 1/2] xfs: fix swapext ilock deadlock Date: Fri, 6 Jun 2014 18:22:52 +1000 X-ASG-Orig-Subj: [PATCH 1/2] xfs: fix swapext ilock deadlock Message-Id: <1402042973-26276-2-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1402042973-26276-1-git-send-email-david@fromorbit.com> References: <1402042973-26276-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402042982 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner <dchinner@redhat.com> xfs_swap_extents() holds the ilock over a call to filemap_write_and_wait(), which can then try to write data and take the ilock. That causes a self-deadlock. Fix the deadlock and clean up the code by separating the locking appropriately. Add a lockflags variable to track what locks we are holding as we gain and drop them and cleanup the error handling to always use "out_unlock" with the lockflags variable. Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_bmap_util.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 703b3ec..948eba1 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1686,6 +1686,7 @@ xfs_swap_extents( int aforkblks = 0; int taforkblks = 0; __uint64_t tmp; + int lock_flags; tempifp = kmem_alloc(sizeof(xfs_ifork_t), KM_MAYFAIL); if (!tempifp) { @@ -1694,13 +1695,13 @@ xfs_swap_extents( } /* - * we have to do two separate lock calls here to keep lockdep - * happy. If we try to get all the locks in one call, lock will - * report false positives when we drop the ILOCK and regain them - * below. + * Lock up the inodes against other IO and truncate to begin with. + * Then we can ensure the inodes are flushed and have no page cache + * safely. Once we have done this we can take the ilocks and do the rest + * of the checks. */ + lock_flags = XFS_IOLOCK_EXCL; xfs_lock_two_inodes(ip, tip, XFS_IOLOCK_EXCL); - xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); /* Verify that both files have the same format */ if ((ip->i_d.di_mode & S_IFMT) != (tip->i_d.di_mode & S_IFMT)) { @@ -1719,6 +1720,9 @@ xfs_swap_extents( goto out_unlock; truncate_pagecache_range(VFS_I(tip), 0, -1); + xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); + lock_flags |= XFS_ILOCK_EXCL; + /* Verify O_DIRECT for ftmp */ if (VN_CACHED(VFS_I(tip)) != 0) { error = XFS_ERROR(EINVAL); @@ -1773,6 +1777,7 @@ xfs_swap_extents( xfs_iunlock(ip, XFS_ILOCK_EXCL); xfs_iunlock(tip, XFS_ILOCK_EXCL); + lock_flags &= ~XFS_ILOCK_EXCL; /* * There is a race condition here since we gave up the @@ -1785,13 +1790,11 @@ xfs_swap_extents( tp = xfs_trans_alloc(mp, XFS_TRANS_SWAPEXT); error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0); - if (error) { - xfs_iunlock(ip, XFS_IOLOCK_EXCL); - xfs_iunlock(tip, XFS_IOLOCK_EXCL); - xfs_trans_cancel(tp, 0); - goto out; - } + if (error) + goto out_trans_cancel; + xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); + lock_flags |= XFS_ILOCK_EXCL; /* * Count the number of extended attribute blocks @@ -1810,8 +1813,8 @@ xfs_swap_extents( goto out_trans_cancel; } - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_trans_ijoin(tp, tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_trans_ijoin(tp, ip, lock_flags); + xfs_trans_ijoin(tp, tip, lock_flags); /* * Before we've swapped the forks, lets set the owners of the forks @@ -1940,8 +1943,8 @@ out: return error; out_unlock: - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(ip, lock_flags); + xfs_iunlock(tip, lock_flags); goto out; out_trans_cancel: -- 2.0.0 From dave@fromorbit.com Fri Jun 6 03:23:07 2014 Return-Path: <dave@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7EB9B7F51 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 03:23:07 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 757888F8033 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 01:23:04 -0700 (PDT) X-ASG-Debug-ID: 1402042980-04cb6c78c491150002-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id GqFh3PqYMZR9RUCm for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 01:23:02 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj13APt5kVN5LGMPPGdsb2JhbABRCIMNiE6jSAaBMJdbgQcXBAEBAQE4NYQDAQEFJy8zCBgxOQMHFBmIQcx5hV2INkuEUwSlO4tpKw Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 06 Jun 2014 17:52:55 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from <dave@fromorbit.com>) id 1WspQN-000329-B4 for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from <dave@disappointment.disaster>) id 1WspQN-0006qx-AM for xfs@oss.sgi.com; Fri, 06 Jun 2014 18:22:55 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: [PATCH 2/2] xfs: flush both inodes in xfs_swap_extents Date: Fri, 6 Jun 2014 18:22:53 +1000 X-ASG-Orig-Subj: [PATCH 2/2] xfs: flush both inodes in xfs_swap_extents Message-Id: <1402042973-26276-3-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1402042973-26276-1-git-send-email-david@fromorbit.com> References: <1402042973-26276-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402042982 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=FUZZY_VPILL X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 FUZZY_VPILL BODY: Attempt to obfuscate words in spam From: Dave Chinner <dchinner@redhat.com> We need to treat both inodes identically from a page ache point of view when preapreing them for extent swapping. We don't do this right now - we assume that one of the inodes empty, because that's what xfs-fsr currently does. Remove this assumption from the code. While factoring out the flushing and related checks, move the transactions reservation to immeidately after the flushes so that we don't need to pick up and then drop the ilock to do the transaction reservation. There are no issues with aborting the transaction it if the checks fail before we join the inodes to the transaction and dirty them, so this is a safe change to make. Signed-off-by: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_bmap_util.c | 80 +++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 948eba1..7eac7c4 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -1672,6 +1672,30 @@ xfs_swap_extents_check_format( } int +xfs_swap_extent_flush( + struct xfs_inode *ip) +{ + int error; + + error = -filemap_write_and_wait(VFS_I(ip)->i_mapping); + if (error) + return error; + truncate_pagecache_range(VFS_I(ip), 0, -1); + + /* Verify O_DIRECT for ftmp */ + if (VFS_I(ip)->i_mapping->nrpages) + return EINVAL; + + /* + * Don't try to swap extents on mmap()d files because we can't lock + * out races against page faults safely. + */ + if (mapping_mapped(VFS_I(ip)->i_mapping)) + return EBUSY; + return 0; +} + +int xfs_swap_extents( xfs_inode_t *ip, /* target inode */ xfs_inode_t *tip, /* tmp inode */ @@ -1715,26 +1739,28 @@ xfs_swap_extents( goto out_unlock; } - error = -filemap_write_and_wait(VFS_I(tip)->i_mapping); + error = xfs_swap_extent_flush(ip); + if (error) + goto out_unlock; + error = xfs_swap_extent_flush(tip); if (error) goto out_unlock; - truncate_pagecache_range(VFS_I(tip), 0, -1); - - xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); - lock_flags |= XFS_ILOCK_EXCL; - /* Verify O_DIRECT for ftmp */ - if (VN_CACHED(VFS_I(tip)) != 0) { - error = XFS_ERROR(EINVAL); + tp = xfs_trans_alloc(mp, XFS_TRANS_SWAPEXT); + error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0); + if (error) { + xfs_trans_cancel(tp, 0); goto out_unlock; } + xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); + lock_flags |= XFS_ILOCK_EXCL; /* Verify all data are being swapped */ if (sxp->sx_offset != 0 || sxp->sx_length != ip->i_d.di_size || sxp->sx_length != tip->i_d.di_size) { error = XFS_ERROR(EFAULT); - goto out_unlock; + goto out_trans_cancel; } trace_xfs_swap_extent_before(ip, 0); @@ -1746,7 +1772,7 @@ xfs_swap_extents( xfs_notice(mp, "%s: inode 0x%llx format is incompatible for exchanging.", __func__, ip->i_ino); - goto out_unlock; + goto out_trans_cancel; } /* @@ -1761,40 +1787,8 @@ xfs_swap_extents( (sbp->bs_mtime.tv_sec != VFS_I(ip)->i_mtime.tv_sec) || (sbp->bs_mtime.tv_nsec != VFS_I(ip)->i_mtime.tv_nsec)) { error = XFS_ERROR(EBUSY); - goto out_unlock; - } - - /* We need to fail if the file is memory mapped. Once we have tossed - * all existing pages, the page fault will have no option - * but to go to the filesystem for pages. By making the page fault call - * vop_read (or write in the case of autogrow) they block on the iolock - * until we have switched the extents. - */ - if (VN_MAPPED(VFS_I(ip))) { - error = XFS_ERROR(EBUSY); - goto out_unlock; - } - - xfs_iunlock(ip, XFS_ILOCK_EXCL); - xfs_iunlock(tip, XFS_ILOCK_EXCL); - lock_flags &= ~XFS_ILOCK_EXCL; - - /* - * There is a race condition here since we gave up the - * ilock. However, the data fork will not change since - * we have the iolock (locked for truncation too) so we - * are safe. We don't really care if non-io related - * fields change. - */ - truncate_pagecache_range(VFS_I(ip), 0, -1); - - tp = xfs_trans_alloc(mp, XFS_TRANS_SWAPEXT); - error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0); - if (error) goto out_trans_cancel; - - xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); - lock_flags |= XFS_ILOCK_EXCL; + } /* * Count the number of extended attribute blocks -- 2.0.0 From penguin-kernel@i-love.sakura.ne.jp Fri Jun 6 07:20:03 2014 Return-Path: <penguin-kernel@i-love.sakura.ne.jp> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 13FC57F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 07:20:03 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id A0A96AC003 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 05:19:59 -0700 (PDT) X-ASG-Debug-ID: 1402057196-04bdf05667a2930001-NocioJ Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by cuda.sgi.com with ESMTP id lJP2josy5mTUxsHv (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 05:19:57 -0700 (PDT) X-Barracuda-Envelope-From: penguin-kernel@I-love.SAKURA.ne.jp X-Barracuda-Apparent-Source-IP: 202.181.97.72 Received: from www262.sakura.ne.jp (ksav54.sakura.ne.jp [219.94.192.134]) by www262.sakura.ne.jp (8.14.5/8.14.5) with ESMTP id s56CJNix077917; Fri, 6 Jun 2014 21:19:23 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) X-Nat-Received: from [202.181.97.72]:59536 [ident-empty] by smtp-proxy.isp with TPROXY id 1402057163.21672 Received: from CLAMP (KD175108057186.ppp-bb.dion.ne.jp [175.108.57.186]) (authenticated bits=0) by www262.sakura.ne.jp (8.14.5/8.14.5) with ESMTP id s56CJM4s077908; Fri, 6 Jun 2014 21:19:22 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) To: david@fromorbit.com Cc: rientjes@google.com, Motohiro.Kosaki@us.fujitsu.com, riel@redhat.com, kosaki.motohiro@jp.fujitsu.com, fengguang.wu@intel.com, kamezawa.hiroyu@jp.fujitsu.com, akpm@linux-foundation.org, hch@infradead.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] mm/vmscan: Do not block forever atshrink_inactive_list(). From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> X-ASG-Orig-Subj: Re: [PATCH] mm/vmscan: Do not block forever atshrink_inactive_list(). References: <6B2BA408B38BA1478B473C31C3D2074E31D59D8673@SV-EXCHANGE1.Corp.FC.LOCAL> <201405262045.CDG95893.HLFFOSFMQOVOJt@I-love.SAKURA.ne.jp> <alpine.DEB.2.02.1406031442170.19491@chino.kir.corp.google.com> <201406052145.CIB35534.OQLVMSJFOHtFOF@I-love.SAKURA.ne.jp> <20140605131753.GD4523@dastard> In-Reply-To: <20140605131753.GD4523@dastard> Message-Id: <201406062119.HHJ30796.FtLFOSFJOOVQMH@I-love.SAKURA.ne.jp> X-Mailer: Winbiff [Version 2.51 PL2] X-Accept-Language: ja,en,zh Date: Fri, 6 Jun 2014 21:19:22 +0900 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Anti-Virus: Kaspersky Anti-Virus for Linux Mail Server 5.6.45.2/RELEASE, bases: 06062014 #8155937, status: clean X-Barracuda-Connect: www262.sakura.ne.jp[202.181.97.72] X-Barracuda-Start-Time: 1402057196 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6422 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Dave Chinner wrote: > On Thu, Jun 05, 2014 at 09:45:26PM +0900, Tetsuo Handa wrote: > > This means that, under rare circumstances, it is possible that all processes > > other than kswapd are trapped into too_many_isolated()/congestion_wait() loop > > while kswapd is sleeping because this loop assumes that somebody else shall > > wake up kswapd and kswapd shall perform operations for making > > too_many_isolated() to return 0. However, we cannot guarantee that kswapd is > > waken by somebody nor kswapd is not blocked by blocking operations inside > > shrinker functions (e.g. mutex_lock()). > > So what you are saying is that kswapd is having problems with > getting blocked on locks held by processes in direct reclaim? > > What are the stack traces that demonstrate such a dependency loop? If a normal task's GFP_KERNEL memory allocation called a shrinker function and the shrinker function does GFP_WAIT-able allocation with a mutex held, there is a possibility that kswapd is waken up due to GFP_WAIT-able allocation and kswapd calls the shrinker function, and the kswapd is blocked at trying to hold the same mutex inside the shrinker function, isn't it? Since ttm_dma_pool_shrink_count()/ttm_dma_pool_shrink_scan() holds a mutex and ttm_dma_pool_shrink_scan() does GFP_WAIT-able allocation, I think such a dependency loop is possible. From bfoster@redhat.com Fri Jun 6 08:13:40 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 77D257F47 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 387648F8035 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:40 -0700 (PDT) X-ASG-Debug-ID: 1402060415-04cbb07524a0f70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id RpHtNMadoR3EnMsW for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZpY020003 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZwP019499 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 76E2512138E; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() Date: Fri, 6 Jun 2014 09:13:29 -0400 X-ASG-Orig-Subj: [PATCH 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() Message-Id: <1402060414-22075-2-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 xfs_mountfs() has a couple failure conditions that do not jump to the correct labels. Specifically: - xfs_initialize_perag_data() failure does not deallocate the log even though it occurs after log initialization - xfs_mount_reset_sbqflags() failure returns the error directly rather than jump to the error sequence Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_mount.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 3507cd0..8a41aba 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -855,7 +855,7 @@ xfs_mountfs( !mp->m_sb.sb_inprogress) { error = xfs_initialize_perag_data(mp, sbp->sb_agcount); if (error) - goto out_fail_wait; + goto out_log_dealloc;; } /* @@ -927,7 +927,7 @@ xfs_mountfs( xfs_notice(mp, "resetting quota flags"); error = xfs_mount_reset_sbqflags(mp); if (error) - return error; + goto out_rtunmount; } } -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:40 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D54F57F47 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 9569A8F8049 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:40 -0700 (PDT) X-ASG-Debug-ID: 1402060415-04cbb07528a0f80001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ATdVC7Rh9ngxWhoY for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZo9020005 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZGi005926 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 8412E124947; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 2/6] xfs: add a sysfs kset Date: Fri, 6 Jun 2014 09:13:30 -0400 X-ASG-Orig-Subj: [PATCH 2/6] xfs: add a sysfs kset Message-Id: <1402060414-22075-3-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create a sysfs kset to contain all sub-objects associated with the XFS module. The kset is created and removed on module initialization and removal respectively. The kset uses fs_obj as a parent. This leads to the creation of a /sys/fs/xfs directory when the kset exists. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_super.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 8f0333b..1766214 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -61,6 +61,7 @@ static const struct super_operations xfs_super_operations; static kmem_zone_t *xfs_ioend_zone; mempool_t *xfs_ioend_pool; +struct kset *xfs_kset; #define MNTOPT_LOGBUFS "logbufs" /* number of XFS log buffers */ #define MNTOPT_LOGBSIZE "logbsize" /* size of XFS log buffers */ @@ -1761,9 +1762,15 @@ init_xfs_fs(void) if (error) goto out_cleanup_procfs; + xfs_kset = kset_create_and_add("xfs", NULL, fs_kobj); + if (!xfs_kset) { + error = -ENOMEM; + goto out_sysctl_unregister;; + } + error = xfs_qm_init(); if (error) - goto out_sysctl_unregister; + goto out_kset_unregister; error = register_filesystem(&xfs_fs_type); if (error) @@ -1772,6 +1779,8 @@ init_xfs_fs(void) out_qm_exit: xfs_qm_exit(); + out_kset_unregister: + kset_unregister(xfs_kset); out_sysctl_unregister: xfs_sysctl_unregister(); out_cleanup_procfs: @@ -1793,6 +1802,7 @@ exit_xfs_fs(void) { xfs_qm_exit(); unregister_filesystem(&xfs_fs_type); + kset_unregister(xfs_kset); xfs_sysctl_unregister(); xfs_cleanup_procfs(); xfs_buf_terminate(); -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:41 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 33F5C7F47 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C8C8A8F804B for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:40 -0700 (PDT) X-ASG-Debug-ID: 1402060419-04bdf05668a4de0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XleA6QKddZtVZsgo for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:39 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDace012425 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:39 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZ9V019509 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id A8DBE1249A2; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data Date: Fri, 6 Jun 2014 09:13:33 -0400 X-ASG-Orig-Subj: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data Message-Id: <1402060414-22075-6-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060419 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create log attributes to export the current runtime state of the log to sysfs. Note that the filesystem should be frozen for consistency across attributes. The following per-mount attributes are created: log_head_lsn, log_tail_lsn, reserve_grant_head and write_grant_head. These represent the physical log head, tail and reserve and write grant heads respectively. Attribute values are exported in the following format: "cycle:[block,byte]" ... where cycle represents the log cycle and [block,bytes] represents either the basic block or byte offset of the log, depending on the attribute. Log sequence number (LSN) values are encoded in basic blocks and grant heads are encoded in bytes. All values are in decimal format. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_sysfs.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index f837527..fbd82d5 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -23,6 +23,9 @@ #include "xfs_trans_resv.h" #include "xfs_ag.h" #include "xfs_mount.h" +#include "xfs_log_format.h" +#include "xfs_log.h" +#include "xfs_log_priv.h" struct xfs_sysfs_attr { struct attribute attr; @@ -57,7 +60,70 @@ struct kobj_type xfs_mp_ktype = { /* xlog */ +STATIC ssize_t +log_head_lsn_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int ret; + + spin_lock(&log->l_icloglock); + ret = snprintf(buf, PAGE_SIZE, "%d:%d\n", log->l_curr_cycle, + log->l_curr_block); + spin_unlock(&log->l_icloglock); + + return ret; +} +XFS_SYSFS_ATTR_RO(log_head_lsn); + +STATIC ssize_t +log_tail_lsn_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int block; + + xlog_crack_atomic_lsn(&log->l_tail_lsn, &cycle, &block); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, block); +} +XFS_SYSFS_ATTR_RO(log_tail_lsn); + +STATIC ssize_t +reserve_grant_head_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int bytes; + + xlog_crack_grant_head(&log->l_reserve_head.grant, &cycle, &bytes); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes); +} +XFS_SYSFS_ATTR_RO(reserve_grant_head); + +STATIC ssize_t +write_grant_head_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int bytes; + + xlog_crack_grant_head(&log->l_write_head.grant, &cycle, &bytes); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes); +} +XFS_SYSFS_ATTR_RO(write_grant_head); + static struct attribute *xfs_log_attrs[] = { + ATTR_LIST(log_head_lsn), + ATTR_LIST(log_tail_lsn), + ATTR_LIST(reserve_grant_head), + ATTR_LIST(write_grant_head), NULL, }; -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:41 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A1C387F47 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5F3B48F8035 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:38 -0700 (PDT) X-ASG-Debug-ID: 1402060416-04bdf05669a4de0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id p2YDWzYW0yaAJUBR for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:37 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZkD025357 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:36 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZn6009698 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 69ED1124927; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 0/6] xfs sysfs support Date: Fri, 6 Jun 2014 09:13:28 -0400 X-ASG-Orig-Subj: [PATCH 0/6] xfs sysfs support Message-Id: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi all, Here's a first version of sysfs support for XFS. This is based on and incorporates feedback from the rfc, available here: http://oss.sgi.com/archives/xfs/2014-05/msg00425.html The idea of using debugfs instead was brought up, but not much discussion around it, so I've left things as is with respect to using sysfs. This series creates new xfs_sysfs.[c,h] source files to contain the general infrastructure for sysfs attribute files in XFS, creates a global kset for the module (represented as /sys/fs/xfs) and embeds a couple kobjects to start creating an attribute heirarchy. Patch 1 fixes what looks like a couple minor error handling errors in xfs_mountfs(). Patches 2-5 add the sysfs infrastructure, objects and attributes. Patch 6 adds documentation for the newly defined attributes. Thoughts, reviews, flames appreciated. Brian v1: - Move sysfs infrastructure code to new source file, add helpers for object initialization, etc. - Created an xfs_mount->xlog object heirarchy for attributes associated with the log. - Renamed the reserve/write grant head attributes to '[reserve,write]_grant_head.' - Use the 'cycle:block' or 'cycle:bytes' decimal format for attributes (rather than export encoded values). - Included generic mountfs fix and doc. Brian Foster (6): xfs: fix a couple error sequence jumps in xfs_mountfs() xfs: add a sysfs kset xfs: add xfs_mount sysfs kobject xfs: add xlog sysfs kobject and attribute handlers xfs: add log attributes for log lsn and grant head data xfs: document log sysfs attributes in testing ABI Documentation/ABI/testing/sysfs-fs-xfs | 39 ++++++++ fs/xfs/Makefile | 1 + fs/xfs/xfs_log.c | 9 ++ fs/xfs/xfs_log_priv.h | 3 + fs/xfs/xfs_mount.c | 19 +++- fs/xfs/xfs_mount.h | 2 + fs/xfs/xfs_super.c | 12 ++- fs/xfs/xfs_sysfs.c | 175 +++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 47 +++++++++ 9 files changed, 303 insertions(+), 4 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-fs-xfs create mode 100644 fs/xfs/xfs_sysfs.c create mode 100644 fs/xfs/xfs_sysfs.h -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:40 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E12C57F50 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id AC91B304067 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:40 -0700 (PDT) X-ASG-Debug-ID: 1402060416-04cb6c78c59c160001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id y1hRFqmoIkSWxU4A for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDakr005026 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:36 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZQp009711 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id B55A91249A3; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI Date: Fri, 6 Jun 2014 09:13:34 -0400 X-ASG-Orig-Subj: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI Message-Id: <1402060414-22075-7-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create a sysfs-fs-xfs ABI documentation file for newly added sysfs attributes. This is created under the testing section. Signed-off-by: Brian Foster <bfoster@redhat.com> --- Documentation/ABI/testing/sysfs-fs-xfs | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-fs-xfs diff --git a/Documentation/ABI/testing/sysfs-fs-xfs b/Documentation/ABI/testing/sysfs-fs-xfs new file mode 100644 index 0000000..b81aa08 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-fs-xfs @@ -0,0 +1,39 @@ +What: /sys/fs/xfs/<disk>/log/log_head_lsn +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The log sequence number (LSN) of the current head of the + log. The LSN is exported in "cycle:basic block" format. +Users: xfstests + +What: /sys/fs/xfs/<disk>/log/log_tail_lsn +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The log sequence number (LSN) of the current tail of the + log. The LSN is exported in "cycle:basic block" format. + +What: /sys/fs/xfs/<disk>/log/reserve_grant_head +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The current state of the log reserve grant head. It + represents the total log reservation of all currently + outstanding transactions. The grant head is exported in + "cycle:bytes" format. +Users: xfstests + +What: /sys/fs/xfs/<disk>/log/write_grant_head +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The current state of the log write grant head. It + represents the total log reservation of all currently + oustanding transactions, including regrants due to + rolling transactions. The grant head is exported in + "cycle:bytes" format. +Users: xfstests -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:42 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E262D7F5A for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:41 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id B0FC6304053 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:38 -0700 (PDT) X-ASG-Debug-ID: 1402060416-04cb6c78c49c160001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YjKQDvAri5zlDu8O for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZ8c015581 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:36 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZRc019504 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 924CB12494B; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 3/6] xfs: add xfs_mount sysfs kobject Date: Fri, 6 Jun 2014 09:13:31 -0400 X-ASG-Orig-Subj: [PATCH 3/6] xfs: add xfs_mount sysfs kobject Message-Id: <1402060414-22075-4-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Embed a base kobject into xfs_mount. This creates a kobject associated with each XFS mount and a subdirectory in sysfs with the name of the filesystem. The subdirectory lifecycle matches that of the mount. Also add the new xfs_sysfs.[c,h] source files with some XFS sysfs infrastructure to facilitate attribute creation. Note that there are currently no attributes exported as part of the xfs_mount kobject. It exists solely to serve as a per-mount container for child objects. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/Makefile | 1 + fs/xfs/xfs_mount.c | 15 ++++++++++++++- fs/xfs/xfs_mount.h | 2 ++ fs/xfs/xfs_sysfs.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 46 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 fs/xfs/xfs_sysfs.c create mode 100644 fs/xfs/xfs_sysfs.h diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index c21f435..d8da236 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -51,6 +51,7 @@ xfs-y += xfs_aops.o \ xfs_mru_cache.o \ xfs_super.o \ xfs_symlink.o \ + xfs_sysfs.o \ xfs_trans.o \ xfs_xattr.o \ kmem.o \ diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 8a41aba..656614b 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -42,6 +42,7 @@ #include "xfs_trace.h" #include "xfs_icache.h" #include "xfs_dinode.h" +#include "xfs_sysfs.h" #ifdef HAVE_PERCPU_SB @@ -60,6 +61,8 @@ static DEFINE_MUTEX(xfs_uuid_table_mutex); static int xfs_uuid_table_size; static uuid_t *xfs_uuid_table; +extern struct kset *xfs_kset; + /* * See if the UUID is unique among mounted XFS filesystems. * Mount fails if UUID is nil or a FS with the same UUID is already mounted. @@ -731,10 +734,16 @@ xfs_mountfs( xfs_set_maxicount(mp); - error = xfs_uuid_mount(mp); + mp->m_kobject.kset = xfs_kset; + error = xfs_sysfs_init(&mp->m_kobject, &xfs_mp_ktype, + &mp->m_kobject_complete, NULL, mp->m_fsname); if (error) goto out; + error = xfs_uuid_mount(mp); + if (error) + goto out_remove_sysfs; + /* * Set the minimum read and write sizes */ @@ -989,6 +998,8 @@ xfs_mountfs( xfs_da_unmount(mp); out_remove_uuid: xfs_uuid_unmount(mp); + out_remove_sysfs: + xfs_sysfs_del(&mp->m_kobject, &mp->m_kobject_complete); out: return error; } @@ -1071,6 +1082,8 @@ xfs_unmountfs( xfs_errortag_clearall(mp, 0); #endif xfs_free_perag(mp); + + xfs_sysfs_del(&mp->m_kobject, &mp->m_kobject_complete); } int diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 7295a0b..6d7e5d7 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -166,6 +166,8 @@ typedef struct xfs_mount { on the next remount,rw */ int64_t m_low_space[XFS_LOWSP_MAX]; /* low free space thresholds */ + struct kobject m_kobject; + struct completion m_kobject_complete; struct workqueue_struct *m_data_workqueue; struct workqueue_struct *m_unwritten_workqueue; diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c new file mode 100644 index 0000000..41365fe --- /dev/null +++ b/fs/xfs/xfs_sysfs.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2014 Red Hat, Inc. + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include <linux/sysfs.h> +#include "xfs.h" +#include "xfs_types.h" +#include "xfs_sb.h" +#include "xfs_trans_resv.h" +#include "xfs_ag.h" +#include "xfs_mount.h" + +struct xfs_sysfs_attr { + struct attribute attr; + ssize_t (*show)(char *buf, void *data); + ssize_t (*store)(const char *buf, size_t count, void *data); +}; + +#define XFS_SYSFS_ATTR_RW(name) \ + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RW(name) +#define XFS_SYSFS_ATTR_RO(name) \ + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RO(name) + +#define ATTR_LIST(name) &xfs_sysfs_attr_##name.attr + +/* + * xfs_mount kobject. This currently has no attributes and thus no need for show + * and store helpers. The mp kobject serves as the per-mount parent object that + * is identified by the fsname under sysfs. + */ + +STATIC void +xfs_mp_release(struct kobject *kobj) +{ + struct xfs_mount *mp = container_of(kobj, struct xfs_mount, m_kobject); + + complete(&mp->m_kobject_complete); +} + +struct kobj_type xfs_mp_ktype = { + .release = xfs_mp_release, +}; diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h new file mode 100644 index 0000000..c885acf --- /dev/null +++ b/fs/xfs/xfs_sysfs.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2014 Red Hat, Inc. + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __XFS_SYSFS_H__ +#define __XFS_SYSFS_H__ + +extern struct kobj_type xfs_mp_ktype; /* xfs_mount */ + +static inline int +xfs_sysfs_init( + struct kobject *kobj, + struct kobj_type *ktype, + struct completion *complete, + struct kobject *parent, + const char *name) +{ + init_completion(complete); + return kobject_init_and_add(kobj, ktype, parent, "%s", name); +} + +static inline void +xfs_sysfs_del( + struct kobject *kobj, + struct completion *complete) +{ + kobject_del(kobj); + kobject_put(kobj); + wait_for_completion(complete); +} + +#endif /* __XFS_SYSFS_H__ */ -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:13:42 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8E8377F51 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:13:41 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 310B48F8039 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:13:40 -0700 (PDT) X-ASG-Debug-ID: 1402060416-04bdf05666a4dd0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 8SebEhQUVKmnnDLX for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:13:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZEl015582 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:36 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DDZmM009702 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:13:35 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 9E81D1249A1; Fri, 6 Jun 2014 09:13:34 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: xfs@oss.sgi.com Subject: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers Date: Fri, 6 Jun 2014 09:13:32 -0400 X-ASG-Orig-Subj: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers Message-Id: <1402060414-22075-5-git-send-email-bfoster@redhat.com> In-Reply-To: <1402060414-22075-1-git-send-email-bfoster@redhat.com> References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060416 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Embed a kobject into the xfs log data structure (xlog). This creates a 'log' subdirectory for every XFS mount instance in sysfs. The lifecycle of the log kobject is tied to the lifecycle of the log. Also define a set of generic attribute handlers associated with the log kobject in preparation for the addition of attributes. Signed-off-by: Brian Foster <bfoster@redhat.com> --- fs/xfs/xfs_log.c | 9 +++++++++ fs/xfs/xfs_log_priv.h | 3 +++ fs/xfs/xfs_sysfs.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 1 + 4 files changed, 66 insertions(+) diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 292308d..8eb10d5 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -34,6 +34,7 @@ #include "xfs_trace.h" #include "xfs_fsops.h" #include "xfs_cksum.h" +#include "xfs_sysfs.h" kmem_zone_t *xfs_log_ticket_zone; @@ -707,6 +708,11 @@ xfs_log_mount( } } + error = xfs_sysfs_init(&mp->m_log->l_kobject, &xfs_log_ktype, + &mp->m_log->l_kobject_complete, &mp->m_kobject, "log"); + if (error) + goto out_destroy_ail; + /* Normal transactions can now occur */ mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; @@ -947,6 +953,9 @@ xfs_log_unmount( xfs_log_quiesce(mp); xfs_trans_ail_destroy(mp); + + xfs_sysfs_del(&mp->m_log->l_kobject, &mp->m_log->l_kobject_complete); + xlog_dealloc_log(mp->m_log); } diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index 9bc403a..ce1eee2 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h @@ -405,6 +405,9 @@ struct xlog { struct xlog_grant_head l_reserve_head; struct xlog_grant_head l_write_head; + struct kobject l_kobject; + struct completion l_kobject_complete; + /* The following field are used for debugging; need to hold icloglock */ #ifdef DEBUG char *l_iclog_bak[XLOG_MAX_ICLOGS]; diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index 41365fe..f837527 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -54,3 +54,56 @@ xfs_mp_release(struct kobject *kobj) struct kobj_type xfs_mp_ktype = { .release = xfs_mp_release, }; + +/* xlog */ + +static struct attribute *xfs_log_attrs[] = { + NULL, +}; + +STATIC ssize_t +xfs_log_show( + struct kobject *kobj, + struct attribute *attr, + char *buf) +{ + struct xlog *log = container_of(kobj, struct xlog, l_kobject); + struct xfs_sysfs_attr *xfs_attr = container_of(attr, + struct xfs_sysfs_attr, attr); + + return xfs_attr->show ? xfs_attr->show(buf, log) : 0; +} + +STATIC ssize_t +xfs_log_store( + struct kobject *kobj, + struct attribute *attr, + const char *buf, + size_t count) +{ + struct xlog *log = container_of(kobj, struct xlog, l_kobject); + struct xfs_sysfs_attr *xfs_attr = container_of(attr, + struct xfs_sysfs_attr, attr); + + return xfs_attr->store ? xfs_attr->store(buf, count, log) : 0; +} + +static struct sysfs_ops xfs_log_ops = { + .show = xfs_log_show, + .store = xfs_log_store, +}; + +STATIC void +xfs_log_release(struct kobject *kobj) +{ + struct xlog *log = container_of(kobj, struct xlog, l_kobject); + + complete(&log->l_kobject_complete); +} + +struct kobj_type xfs_log_ktype = { + .release = xfs_log_release, + .sysfs_ops = &xfs_log_ops, + .default_attrs = xfs_log_attrs, +}; + diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h index c885acf..469f218 100644 --- a/fs/xfs/xfs_sysfs.h +++ b/fs/xfs/xfs_sysfs.h @@ -20,6 +20,7 @@ #define __XFS_SYSFS_H__ extern struct kobj_type xfs_mp_ktype; /* xfs_mount */ +extern struct kobj_type xfs_log_ktype; /* xlog */ static inline int xfs_sysfs_init( -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 08:14:46 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 98EDE7F5A for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:14:46 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 51B268F8035 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 06:14:46 -0700 (PDT) X-ASG-Debug-ID: 1402060484-04bdf05668a4e70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 8dFbEcsGSCFHpKw3 for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 06:14:45 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56DEin1020415 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Jun 2014 09:14:44 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56DEiZi006477; Fri, 6 Jun 2014 09:14:44 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 809E9124927; Fri, 6 Jun 2014 09:14:43 -0400 (EDT) From: Brian Foster <bfoster@redhat.com> To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com Subject: [PATCH] xfstests: create a test for xfs log grant head leak detection Date: Fri, 6 Jun 2014 09:14:43 -0400 X-ASG-Orig-Subj: [PATCH] xfstests: create a test for xfs log grant head leak detection Message-Id: <1402060483-22195-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402060484 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes in the XFS logging code have lead to small leaks in the log grant heads that consume log space slowly over time. Such problems have gone undetected for an unnecessarily long time due to code complexity and potential for very subtle problems. Losing only a few bytes per logged item on a reasonably large enough fs (10s of GB) means only the most continuously stressful workloads will cause a severe enough failure (deadlock due to log reservation exhaustion) quickly enough to indicate something is seriously wrong. Recent changes in XFS export the state of the various log heads through sysfs to aid in userspace/runtime analysis of the log. This test runs a workload against an XFS filesystem, quiesces the fs and verifies that the log reserve and write grant heads have not leaked any space with respect to the current head of the physical log. Signed-off-by: Brian Foster <bfoster@redhat.com> --- v1: - Use updated attribute names and value format. rfc: http://oss.sgi.com/archives/xfs/2014-05/msg00428.html tests/xfs/011 | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/011.out | 11 +++++ tests/xfs/group | 1 + 3 files changed, 146 insertions(+) create mode 100755 tests/xfs/011 create mode 100644 tests/xfs/011.out diff --git a/tests/xfs/011 b/tests/xfs/011 new file mode 100755 index 0000000..193e6dd --- /dev/null +++ b/tests/xfs/011 @@ -0,0 +1,134 @@ +#!/bin/bash +# FS QA Test No. xfs/011 +# +# Test the xfs log reservation mechanism for leaks. Run a short fsstress +# workload to include a variety of fs operations, freeze the filesystem and +# verify that there are no oustanding reservations against the log. +# +#----------------------------------------------------------------------- +# Copyright (c) 2014 Red Hat, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +_cleanup() +{ + killall -9 fsstress 2>/dev/null + wait + cd / + umount $SCRATCH_MNT 2>/dev/null + rm -f $tmp.* +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# Determine the system device name for a particular block device. The device +# name is how the block dev is referenced under sysfs. +_get_device_name() +{ + devpath=$1 + + # check for a symlink (i.e., device mapper) + if [ -L $devpath ] + then + devpath=`readlink -f $devpath` + fi + + # grab the major minor and convert from hex to decimal + major=$((0x`stat -c %t $devpath`)) + minor=$((0x`stat -c %T $devpath`)) + + # refer to sysfs by major minor + basename `readlink /sys/dev/block/$major:$minor` +} + +# Use the information exported by XFS to sysfs to determine whether the log has +# active reservations after a filesystem freeze. +_check_scratch_log_state() +{ + devname=`_get_device_name $SCRATCH_DEV` + attrpath="/sys/fs/xfs/$devname/log" + + # freeze the fs to ensure data is synced and the log is flushed. this + # means no outstanding transactions, and thus no outstanding log + # reservations, should exist + xfs_freeze -f $SCRATCH_MNT + + # the log head is exported in basic blocks and the log grant heads in + # bytes. convert the log head to bytes for precise comparison + log_head_cycle=`cat $attrpath/log_head_lsn | awk -F : '{ print $1 }'` + log_head_bytes=`cat $attrpath/log_head_lsn | awk -F : '{ print $2 }'` + log_head_bytes=$((log_head_bytes * 512)) + + for attr in "reserve_grant_head" "write_grant_head" + do + cycle=`cat $attrpath/$attr | awk -F : '{ print $1 }'` + bytes=`cat $attrpath/$attr | awk -F : '{ print $2 }'` + + if [ $cycle != $log_head_cycle ] || + [ $bytes != $log_head_bytes ] + then + echo "$attr ($cycle:$bytes) does not match" \ + "log_head_lsn ($log_head_cycle:$log_head_bytes)," \ + "possible leak detected." + else + echo "$attr matches log_head_lsn" + fi + done + + xfs_freeze -u $SCRATCH_MNT +} + +# real QA test starts here +_supported_fs xfs +_supported_os Linux + +_require_scratch +_require_freeze + +if [ ! -e /sys/fs/xfs ] +then + _notrun "no kernel support for XFS sysfs attributes" +fi + +rm -f $seqres.full + +_scratch_mkfs_xfs | _filter_mkfs 2>> $seqres.full +_scratch_mount + +_check_scratch_log_state + +$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -n 1000 -p 2 -S t \ + >> $seqres.full 2>&1 + +_check_scratch_log_state + +umount $SCRATCH_MNT +_check_scratch_fs + +status=0 +exit diff --git a/tests/xfs/011.out b/tests/xfs/011.out new file mode 100644 index 0000000..a3f3805 --- /dev/null +++ b/tests/xfs/011.out @@ -0,0 +1,11 @@ +QA output created by 011 +meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks +data = bsize=XXX blocks=XXX, imaxpct=PCT + = sunit=XXX swidth=XXX, unwritten=X +naming =VERN bsize=XXX +log =LDEV bsize=XXX blocks=XXX +realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX +reserve_grant_head matches log_head_lsn +write_grant_head matches log_head_lsn +reserve_grant_head matches log_head_lsn +write_grant_head matches log_head_lsn diff --git a/tests/xfs/group b/tests/xfs/group index 19fd968..99bf0e1 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -8,6 +8,7 @@ 008 rw ioctl auto quick 009 rw ioctl auto prealloc quick 010 auto quick repair +011 auto quick freeze 012 rw auto quick 013 auto metadata stress 016 rw auto quick -- 1.8.3.1 From bfoster@redhat.com Fri Jun 6 10:20:55 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id F1AB17F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 10:20:54 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B78A38F804C for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:20:54 -0700 (PDT) X-ASG-Debug-ID: 1402068050-04cbb07527a6c90001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id v8z4ZQs7xyzH79Ky for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 08:20:50 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56FKoVs025792 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 6 Jun 2014 11:20:50 -0400 Received: from laptop.bfoster (vpn-63-222.rdu2.redhat.com [10.10.63.222]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s56FKnVw003361; Fri, 6 Jun 2014 11:20:49 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id F35D3120D90; Fri, 6 Jun 2014 11:20:48 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s56FKlWo004893; Fri, 6 Jun 2014 11:20:47 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 6 Jun 2014 11:20:46 -0400 From: Brian Foster <bfoster@redhat.com> To: Eric Sandeen <sandeen@sandeen.net> Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 1/2 V2] xfsprogs: try to handle mkfs of a file on 4k sector device Message-ID: <20140606152045.GA3048@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2 V2] xfsprogs: try to handle mkfs of a file on 4k sector device References: <53852A05.5040006@redhat.com> <5390C13E.6030205@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5390C13E.6030205@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402068050 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 05, 2014 at 02:13:02PM -0500, Eric Sandeen wrote: > Try the xfs geometry ioctl if the mkfs target resides > in a file; this gives us the equivalent of a device > sector size. > > If this fails, and there's a sector size mismatch > between the host FS and the filesystem, then mkfs might > fail - but that's no worse than it's been before. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- Looks Ok... Reviewed-by: Brian Foster <bfoster@redhat.com> > > V2: remove warning when FSGEOMETRY fails (i.e. on non-xfs > filesystems) for now > > diff --git a/libxfs/linux.c b/libxfs/linux.c > index 2e07d54..3796fdd 100644 > --- a/libxfs/linux.c > +++ b/libxfs/linux.c > @@ -141,10 +141,20 @@ platform_findsizes(char *path, int fd, long long *sz, int *bsz) > exit(1); > } > if ((st.st_mode & S_IFMT) == S_IFREG) { > + struct xfs_fsop_geom_v1 geom = { 0 }; > + > *sz = (long long)(st.st_size >> 9); > - *bsz = BBSIZE; > - if (BBSIZE > max_block_alignment) > - max_block_alignment = BBSIZE; > + if (ioctl(fd, XFS_IOC_FSGEOMETRY_V1, &geom) < 0) { > + /* > + * fall back to BBSIZE; mkfs might fail if there's a > + * size mismatch between the image & the host fs... > + */ > + *bsz = BBSIZE; > + } else > + *bsz = geom.sectsize; > + > + if (*bsz > max_block_alignment) > + max_block_alignment = *bsz; > return; > } > > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Fri Jun 6 10:21:08 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8445B7F51 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 10:21:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id DD713AC008 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:21:07 -0700 (PDT) X-ASG-Debug-ID: 1402068063-04cb6c78c6a1a40001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id DxIyx0tQx6EY8E3B for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 08:21:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56FL2D9021244 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Jun 2014 11:21:02 -0400 Received: from laptop.bfoster (vpn-63-222.rdu2.redhat.com [10.10.63.222]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56FL2kE020281; Fri, 6 Jun 2014 11:21:02 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id E2BB4120D90; Fri, 6 Jun 2014 11:21:01 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s56FL0qu004901; Fri, 6 Jun 2014 11:21:00 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 6 Jun 2014 11:21:00 -0400 From: Brian Foster <bfoster@redhat.com> To: Eric Sandeen <sandeen@sandeen.net> Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files Message-ID: <20140606152059.GB3048@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files References: <53852A05.5040006@redhat.com> <5390C1B7.7050106@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5390C1B7.7050106@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402068063 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 05, 2014 at 02:15:03PM -0500, Eric Sandeen wrote: > If we encounter a target that's really a regular file, > even without "-d file..." on the cmdline, call > platform_findsizes() instead of blkid_get_topology to > try to discover the "sector size" via the fsgeom() call. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- > > V2: Lose local "isa_file" flag, just switch based on > (xi->disfile) or (stat works & S_ISREG) > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index 188b6b3..3b8bf67 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -456,9 +456,25 @@ static void get_topology( > struct fs_topology *ft, > int force_overwrite) > { > - if (!xi->disfile) { > - const char *dfile = xi->volname ? xi->volname : xi->dname; > + struct stat statbuf; > + char *dfile = xi->volname ? xi->volname : xi->dname; > > + /* > + * Don't call blkid for topology if this is a "-d file" target, or > + * if we've simply been pointed at a regular file. platform_findsizes > + * will attempt to find the underlying sector size of the host fs. > + */ > + if (xi->disfile || > + (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode))) { > + int fd; > + long long dummy; > + > + fd = open(dfile, O_RDONLY); > + if (fd >= 0) { > + platform_findsizes(dfile, fd, &dummy, &ft->lsectorsize); > + close(fd); > + } The patch looks fine: Reviewed-by: Brian Foster <bfoster@redhat.com> It does look like we'd still be susceptible to error in a situation where the file hasn't been created yet (which would occur in libxfs_init()). Brian > + } else { > blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth, > &ft->lsectorsize, &ft->psectorsize, > force_overwrite); > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Fri Jun 6 10:27:35 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6EE3F7F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 10:27:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 042668F8037 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 08:27:34 -0700 (PDT) X-ASG-Debug-ID: 1402068449-04bdf05668abd70001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 5xNtWHu2ua5Zzyv5 for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 08:27:29 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 192B861D1A51; Fri, 6 Jun 2014 10:27:29 -0500 (CDT) Message-ID: <5391DDE4.90007@sandeen.net> Date: Fri, 06 Jun 2014 10:27:32 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Brian Foster <bfoster@redhat.com> CC: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files References: <53852A05.5040006@redhat.com> <5390C1B7.7050106@sandeen.net> <20140606152059.GB3048@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files In-Reply-To: <20140606152059.GB3048@laptop.bfoster> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402068449 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6425 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/6/14, 10:21 AM, Brian Foster wrote: > On Thu, Jun 05, 2014 at 02:15:03PM -0500, Eric Sandeen wrote: >> If we encounter a target that's really a regular file, >> even without "-d file..." on the cmdline, call >> platform_findsizes() instead of blkid_get_topology to >> try to discover the "sector size" via the fsgeom() call. >> >> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >> --- >> >> V2: Lose local "isa_file" flag, just switch based on >> (xi->disfile) or (stat works & S_ISREG) >> >> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c >> index 188b6b3..3b8bf67 100644 >> --- a/mkfs/xfs_mkfs.c >> +++ b/mkfs/xfs_mkfs.c >> @@ -456,9 +456,25 @@ static void get_topology( >> struct fs_topology *ft, >> int force_overwrite) >> { >> - if (!xi->disfile) { >> - const char *dfile = xi->volname ? xi->volname : xi->dname; >> + struct stat statbuf; >> + char *dfile = xi->volname ? xi->volname : xi->dname; >> >> + /* >> + * Don't call blkid for topology if this is a "-d file" target, or >> + * if we've simply been pointed at a regular file. platform_findsizes >> + * will attempt to find the underlying sector size of the host fs. >> + */ >> + if (xi->disfile || >> + (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode))) { >> + int fd; >> + long long dummy; >> + >> + fd = open(dfile, O_RDONLY); >> + if (fd >= 0) { >> + platform_findsizes(dfile, fd, &dummy, &ft->lsectorsize); >> + close(fd); >> + } > > The patch looks fine: > > Reviewed-by: Brian Foster <bfoster@redhat.com> > > It does look like we'd still be susceptible to error in a situation > where the file hasn't been created yet (which would occur in > libxfs_init()). Hm, let's see - the only way to have mkfs create the file is with the -d file,name=foo,size=bar invocation. Sprinkling some printf's into the if/else above, I see: # rm -f testfile # mkfs/mkfs.xfs -dfile,name=testfile,size=1g ** doing platform_findsizes ** meta-data=testfile isize=256 agcount=4, agsize=65536 blks ... so it looks like the file does get created before we get here. -Eric From sandeen@sandeen.net Fri Jun 6 11:47:58 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id BFCC27F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 11:47:58 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8E6D630404E for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 09:47:55 -0700 (PDT) X-ASG-Debug-ID: 1402073272-04bdf05667affa0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id wB2C6K9FHQXQw5FB for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 09:47:53 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 830C361D1A51; Fri, 6 Jun 2014 11:47:52 -0500 (CDT) Message-ID: <5391F0BC.9010308@sandeen.net> Date: Fri, 06 Jun 2014 11:47:56 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Brian Foster <bfoster@redhat.com> CC: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files References: <53852A05.5040006@redhat.com> <5390C1B7.7050106@sandeen.net> <20140606152059.GB3048@laptop.bfoster> <5391DDE4.90007@sandeen.net> X-ASG-Orig-Subj: Re: [PATCH 2/2 V2] mkfs.xfs: don't call blkid_get_topology on regular files In-Reply-To: <5391DDE4.90007@sandeen.net> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402073272 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6428 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/6/14, 10:27 AM, Eric Sandeen wrote: > On 6/6/14, 10:21 AM, Brian Foster wrote: >> On Thu, Jun 05, 2014 at 02:15:03PM -0500, Eric Sandeen wrote: >>> If we encounter a target that's really a regular file, >>> even without "-d file..." on the cmdline, call >>> platform_findsizes() instead of blkid_get_topology to >>> try to discover the "sector size" via the fsgeom() call. >>> >>> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >>> --- >>> >>> V2: Lose local "isa_file" flag, just switch based on >>> (xi->disfile) or (stat works & S_ISREG) >>> >>> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c >>> index 188b6b3..3b8bf67 100644 >>> --- a/mkfs/xfs_mkfs.c >>> +++ b/mkfs/xfs_mkfs.c >>> @@ -456,9 +456,25 @@ static void get_topology( >>> struct fs_topology *ft, >>> int force_overwrite) >>> { >>> - if (!xi->disfile) { >>> - const char *dfile = xi->volname ? xi->volname : xi->dname; >>> + struct stat statbuf; >>> + char *dfile = xi->volname ? xi->volname : xi->dname; >>> >>> + /* >>> + * Don't call blkid for topology if this is a "-d file" target, or >>> + * if we've simply been pointed at a regular file. platform_findsizes >>> + * will attempt to find the underlying sector size of the host fs. >>> + */ >>> + if (xi->disfile || >>> + (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode))) { >>> + int fd; >>> + long long dummy; >>> + >>> + fd = open(dfile, O_RDONLY); >>> + if (fd >= 0) { >>> + platform_findsizes(dfile, fd, &dummy, &ft->lsectorsize); >>> + close(fd); >>> + } >> >> The patch looks fine: >> >> Reviewed-by: Brian Foster <bfoster@redhat.com> >> >> It does look like we'd still be susceptible to error in a situation >> where the file hasn't been created yet (which would occur in >> libxfs_init()). > > Hm, let's see - the only way to have mkfs create the file is with the > -d file,name=foo,size=bar invocation. > > Sprinkling some printf's into the if/else above, I see: > > # rm -f testfile > # mkfs/mkfs.xfs -dfile,name=testfile,size=1g > ** doing platform_findsizes ** > meta-data=testfile isize=256 agcount=4, agsize=65536 blks > ... > > so it looks like the file does get created before we get here. Oh, I see, sorry. Crud, you're right. What prompted all this was that making a fs-in-a-file on a filesystem hosted on a hard 4k sector device fails, because it tries to do 512-byte DIO. If we use the "-d file" invocation, it works, because it doesn't do direct IO. Sigh. It's complicated. Let me think about the 2nd patch just a bit more. Perhaps only doing the platform_findsizes if stat succeeds, not if xi->disfile. -Eric From bfoster@redhat.com Fri Jun 6 12:34:06 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id EF0907F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 12:34:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8A776AC004 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 10:34:02 -0700 (PDT) X-ASG-Debug-ID: 1402076037-04cb6c78c3a78c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id IVzgqC7G8307mpMT for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 10:33:57 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56HXu9p011620 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Jun 2014 13:33:56 -0400 Received: from laptop.bfoster (vpn-63-222.rdu2.redhat.com [10.10.63.222]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56HXtXI005714; Fri, 6 Jun 2014 13:33:56 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 867F8120D90; Fri, 6 Jun 2014 13:33:55 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s56HXs0C005490; Fri, 6 Jun 2014 13:33:54 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 6 Jun 2014 13:33:54 -0400 From: Brian Foster <bfoster@redhat.com> To: Dave Chinner <david@fromorbit.com> Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs; fix xfs_da_args sparse warning in xfs_readdir Message-ID: <20140606173353.GC3048@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs; fix xfs_da_args sparse warning in xfs_readdir References: <1402042701-26173-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402042701-26173-1-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402076037 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 06, 2014 at 06:18:21PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > The kbuild test robot reported: > > >> fs/xfs/xfs_dir2_readdir.c:672:41: sparse: Using plain integer as NULL pointer > > Fix it. > > Reported-by: kbuild test robot <fengguang.wu@intel.com> > Signed-off-by: Dave Chinner <dchinner@redhat.com> > --- Reviewed-by: Brian Foster <bfoster@redhat.com> > fs/xfs/xfs_dir2_readdir.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/xfs/xfs_dir2_readdir.c b/fs/xfs/xfs_dir2_readdir.c > index ca1f43c..48e99af 100644 > --- a/fs/xfs/xfs_dir2_readdir.c > +++ b/fs/xfs/xfs_dir2_readdir.c > @@ -669,7 +669,7 @@ xfs_readdir( > struct dir_context *ctx, > size_t bufsize) > { > - struct xfs_da_args args = {0}; > + struct xfs_da_args args = { NULL }; > int rval; > int v; > uint lock_mode; > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From pranith@gatech.edu Fri Jun 6 13:11:21 2014 Return-Path: <pranith@gatech.edu> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8354C7F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 13:11:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 21B5FAC00B for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 11:11:21 -0700 (PDT) X-ASG-Debug-ID: 1402078276-04bdf05667b4350001-NocioJ Received: from mxip4-inbound.gatech.edu (mxip4-inbound.gatech.edu [130.207.182.13]) by cuda.sgi.com with ESMTP id x9nEPdV7r56sCJwy for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 11:11:16 -0700 (PDT) X-Barracuda-Envelope-From: pranith@gatech.edu X-Barracuda-Apparent-Source-IP: 130.207.182.13 X-RemoteIP: 130.207.185.161 X-Group: ZimbraSenderGroup X-Policy: $ZIMBRA X-MID: 89426482 X-SBRS: None X-IronPort-AV: E=Sophos;i="4.98,990,1392181200"; d="scan'208";a="89426482" X-GT-Spam-Rating: (0%) Received: from mail1.gatech.edu ([130.207.185.161]) by mxip4-outbound.gatech.edu with ESMTP; 06 Jun 2014 14:11:15 -0400 Received: from [192.168.0.103] (lawn-143-215-204-248.lawn.gatech.edu [143.215.204.248]) (Authenticated sender: pdenthumdas3) by mail1.gatech.edu (Postfix) with ESMTPSA id 0FF14C2F0D; Fri, 6 Jun 2014 14:11:16 -0400 (EDT) Message-ID: <53920446.7060505@gatech.edu> Date: Fri, 06 Jun 2014 14:11:18 -0400 From: Pranith Kumar <pranith@gatech.edu> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: peterz@infradead.org CC: linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, david@fromorbit.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked In-Reply-To: <5391FFFD.1060901@gatech.edu> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mxip4-inbound.gatech.edu[130.207.182.13] X-Barracuda-Start-Time: 1402078276 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6431 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On 06/06/2014 01:53 PM, Pranith Kumar wrote: > On Fri, Jun 6, 2014 at 3:35 AM, Peter Zijlstra <peterz@infradead.org> wrote: >> >> Now in general, I don't particularly like such superfluous changes, so >> unless you can show that GCC actually generates better code, I'd prefer >> to keep things as they are. > > Fixed and checked the assembly. It saves us 2 bytes of code, not much. I am not sure if that is worth it :( > > use bool as the return type for rwsem_is_locked() instead of int > > Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> > --- > include/linux/rwsem-spinlock.h | 2 +- > include/linux/rwsem.h | 2 +- > kernel/locking/rwsem-spinlock.c | 4 ++-- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/rwsem-spinlock.h b/include/linux/rwsem-spinlock.h > index d5b13bc..9026d2a 100644 > --- a/include/linux/rwsem-spinlock.h > +++ b/include/linux/rwsem-spinlock.h > @@ -39,7 +39,7 @@ extern int __down_write_trylock(struct rw_semaphore *sem); > extern void __up_read(struct rw_semaphore *sem); > extern void __up_write(struct rw_semaphore *sem); > extern void __downgrade_write(struct rw_semaphore *sem); > -extern int rwsem_is_locked(struct rw_semaphore *sem); > +extern bool rwsem_is_locked(struct rw_semaphore *sem); > > #endif /* __KERNEL__ */ > #endif /* _LINUX_RWSEM_SPINLOCK_H */ > diff --git a/include/linux/rwsem.h b/include/linux/rwsem.h > index 03f3b05..b056780 100644 > --- a/include/linux/rwsem.h > +++ b/include/linux/rwsem.h > @@ -40,7 +40,7 @@ extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem); > #include <asm/rwsem.h> > > /* In all implementations count != 0 means locked */ > -static inline int rwsem_is_locked(struct rw_semaphore *sem) > +static inline bool rwsem_is_locked(struct rw_semaphore *sem) > { > return sem->count != 0; > } > diff --git a/kernel/locking/rwsem-spinlock.c b/kernel/locking/rwsem-spinlock.c > index 9be8a91..3f8adf8 100644 > --- a/kernel/locking/rwsem-spinlock.c > +++ b/kernel/locking/rwsem-spinlock.c > @@ -20,9 +20,9 @@ struct rwsem_waiter { > enum rwsem_waiter_type type; > }; > > -int rwsem_is_locked(struct rw_semaphore *sem) > +bool rwsem_is_locked(struct rw_semaphore *sem) > { > - int ret = 1; > + bool ret = true; > unsigned long flags; > > if (raw_spin_trylock_irqsave(&sem->wait_lock, flags)) { > I observed one other user of rwsem_is_locked() in xfs, change accordingly Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- fs/xfs/xfs_inode.c | 2 +- fs/xfs/xfs_inode.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 768087b..9047eda 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -285,7 +285,7 @@ xfs_ilock_demote( } #if defined(DEBUG) || defined(XFS_WARN) -int +bool xfs_isilocked( xfs_inode_t *ip, uint lock_flags) diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index f2fcde5..80649a1 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -348,7 +348,7 @@ void xfs_ilock(xfs_inode_t *, uint); int xfs_ilock_nowait(xfs_inode_t *, uint); void xfs_iunlock(xfs_inode_t *, uint); void xfs_ilock_demote(xfs_inode_t *, uint); -int xfs_isilocked(xfs_inode_t *, uint); +bool xfs_isilocked(xfs_inode_t *, uint); uint xfs_ilock_data_map_shared(struct xfs_inode *); uint xfs_ilock_attr_map_shared(struct xfs_inode *); int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, umode_t, -- 1.7.9.5 From debbugs@buxtehude.debian.org Fri Jun 6 13:33:19 2014 Return-Path: <debbugs@buxtehude.debian.org> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 389827F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 13:33:19 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 126CE30404E for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 11:33:15 -0700 (PDT) X-ASG-Debug-ID: 1402079593-04bdf05669b5360001-NocioJ Received: from buxtehude.debian.org (buxtehude.debian.org [140.211.166.26]) by cuda.sgi.com with ESMTP id vOdSsRnRPuceSHoA (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 11:33:13 -0700 (PDT) X-Barracuda-Envelope-From: debbugs@buxtehude.debian.org X-Barracuda-Apparent-Source-IP: 140.211.166.26 Received: from debbugs by buxtehude.debian.org with local (Exim 4.80) (envelope-from <debbugs@buxtehude.debian.org>) id 1Wsyww-0001Nw-L3; Fri, 06 Jun 2014 18:33:10 +0000 X-Loop: owner@bugs.debian.org Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) Content-Type: text/plain; charset=utf-8 From: owner@bugs.debian.org (Debian Bug Tracking System) To: Florian Ernst <florian@debian.org> CC: debian-bugs-closed@lists.debian.org, xfs@oss.sgi.com Subject: Processed: closing 747080 Message-ID: <handler.s.C.14020795415093.transcript@bugs.debian.org> X-ASG-Orig-Subj: Processed: closing 747080 References: <1402079490-4107-bts-florian@debian.org> X-Debian-PR-Package: xfsprogs X-Debian-PR-Source: xfsprogs X-Debian-PR-Message: transcript X-Loop: owner@bugs.debian.org Date: Fri, 06 Jun 2014 18:33:10 +0000 Sender: Debian BTS <debbugs@buxtehude.debian.org> X-Barracuda-Connect: buxtehude.debian.org[140.211.166.26] X-Barracuda-Start-Time: 1402079593 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6431 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Processing commands for control@bugs.debian.org: > close 747080 3.2.0 Bug #747080 [xfsprogs] xfsprogs: new upstream release (2013-05-08 v3.1.11) Marked as fixed in versions xfsprogs/3.2.0. Bug #747080 [xfsprogs] xfsprogs: new upstream release (2013-05-08 v3.1.11) Marked Bug as done > thanks Stopping processing here. Please contact me if you need assistance. --=20 747080: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D747080 Debian Bug Tracking System Contact owner@bugs.debian.org with problems From sandeen@sandeen.net Fri Jun 6 14:21:25 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 680227F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 14:21:25 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3DCBA304062 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 12:21:21 -0700 (PDT) X-ASG-Debug-ID: 1402082480-04cb6c78c4acae0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id YYuKkhlzwSMxAn7C for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 12:21:20 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 4B5C3602D74F; Fri, 6 Jun 2014 14:21:20 -0500 (CDT) Message-ID: <539214B4.7010303@sandeen.net> Date: Fri, 06 Jun 2014 14:21:24 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 2/2 V3] mkfs.xfs: don't call blkid_get_topology on existing regular files References: <53852A05.5040006@redhat.com> X-ASG-Orig-Subj: [PATCH 2/2 V3] mkfs.xfs: don't call blkid_get_topology on existing regular files In-Reply-To: <53852A05.5040006@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402082480 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6432 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- If we encounter a target that's really a regular file, even without "-d file..." on the cmdline, call platform_findsizes() instead of blkid_get_topology to try to discover the "sector size" via the fsgeom() call. Otherwise mkfs.xfs will try to do direct IO with a default 512 sector size, and if the underlying file has different DIO requirements, mkfs will fail. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- V3: only call platform_findsizes if xi->disfile isn't set, and our target is a regular file: i.e. only in the "mkfs.xfs <existing regular file>" case. diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 188b6b3..c85258a 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -457,11 +457,30 @@ static void get_topology( int force_overwrite) { if (!xi->disfile) { - const char *dfile = xi->volname ? xi->volname : xi->dname; + char *dfile = xi->volname ? xi->volname : xi->dname; + struct stat statbuf; - blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth, - &ft->lsectorsize, &ft->psectorsize, - force_overwrite); + /* + * If our target is a regular file, and xi->disfile isn't + * set (i.e. no "-d file" invocation), use platform_findsizes + * to try to obtain the underlying filesystem's requirements + * for direct IO; we'll set our sector size to that if possible. + */ + if (!stat(dfile, &statbuf) && S_ISREG(statbuf.st_mode)) { + int fd; + long long dummy; + + fd = open(dfile, O_RDONLY); + if (fd >= 0) { + platform_findsizes(dfile, fd, &dummy, + &ft->lsectorsize); + close(fd); + } + } else { + blkid_get_topology(dfile, &ft->dsunit, &ft->dswidth, + &ft->lsectorsize, &ft->psectorsize, + force_overwrite); + } } if (xi->rtname && !xi->risfile) { From bfoster@redhat.com Fri Jun 6 14:59:30 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 03FB07F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 14:59:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6552BAC006 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 12:59:26 -0700 (PDT) X-ASG-Debug-ID: 1402084764-04cb6c78c4ae1d0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id P6sIzjB7DfLEery1 for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 12:59:24 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56JxMQ8013959 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Jun 2014 15:59:22 -0400 Received: from laptop.bfoster (vpn-63-222.rdu2.redhat.com [10.10.63.222]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56JxMmo017382; Fri, 6 Jun 2014 15:59:22 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id C1AD0120D90; Fri, 6 Jun 2014 15:59:21 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s56JxKUf005761; Fri, 6 Jun 2014 15:59:20 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 6 Jun 2014 15:59:20 -0400 From: Brian Foster <bfoster@redhat.com> To: Dave Chinner <david@fromorbit.com> Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] xfs: fix swapext ilock deadlock Message-ID: <20140606195920.GD3048@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfs: fix swapext ilock deadlock References: <1402042973-26276-1-git-send-email-david@fromorbit.com> <1402042973-26276-2-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402042973-26276-2-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402084764 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 06, 2014 at 06:22:52PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > xfs_swap_extents() holds the ilock over a call to > filemap_write_and_wait(), which can then try to write data and take > the ilock. That causes a self-deadlock. > > Fix the deadlock and clean up the code by separating the locking > appropriately. Add a lockflags variable to track what locks we are > holding as we gain and drop them and cleanup the error handling to > always use "out_unlock" with the lockflags variable. > > Signed-off-by: Dave Chinner <dchinner@redhat.com> > --- > fs/xfs/xfs_bmap_util.c | 33 ++++++++++++++++++--------------- > 1 file changed, 18 insertions(+), 15 deletions(-) > > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > index 703b3ec..948eba1 100644 > --- a/fs/xfs/xfs_bmap_util.c > +++ b/fs/xfs/xfs_bmap_util.c > @@ -1686,6 +1686,7 @@ xfs_swap_extents( > int aforkblks = 0; > int taforkblks = 0; > __uint64_t tmp; > + int lock_flags; > > tempifp = kmem_alloc(sizeof(xfs_ifork_t), KM_MAYFAIL); > if (!tempifp) { > @@ -1694,13 +1695,13 @@ xfs_swap_extents( > } > > /* > - * we have to do two separate lock calls here to keep lockdep > - * happy. If we try to get all the locks in one call, lock will > - * report false positives when we drop the ILOCK and regain them > - * below. > + * Lock up the inodes against other IO and truncate to begin with. > + * Then we can ensure the inodes are flushed and have no page cache > + * safely. Once we have done this we can take the ilocks and do the rest > + * of the checks. > */ > + lock_flags = XFS_IOLOCK_EXCL; > xfs_lock_two_inodes(ip, tip, XFS_IOLOCK_EXCL); > - xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); > > /* Verify that both files have the same format */ > if ((ip->i_d.di_mode & S_IFMT) != (tip->i_d.di_mode & S_IFMT)) { Perhaps move these checks further down to where we eventually grab the ilock..? It's not clear to me if that is important. I was going to suggest to pull up the tp allocation as well to eliminate the ilock lock/unlock/lock cycle, but it looks like you've done that in patch 2. However... > @@ -1719,6 +1720,9 @@ xfs_swap_extents( > goto out_unlock; > truncate_pagecache_range(VFS_I(tip), 0, -1); > > + xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); > + lock_flags |= XFS_ILOCK_EXCL; > + > /* Verify O_DIRECT for ftmp */ > if (VN_CACHED(VFS_I(tip)) != 0) { > error = XFS_ERROR(EINVAL); > @@ -1773,6 +1777,7 @@ xfs_swap_extents( > > xfs_iunlock(ip, XFS_ILOCK_EXCL); > xfs_iunlock(tip, XFS_ILOCK_EXCL); > + lock_flags &= ~XFS_ILOCK_EXCL; > > /* > * There is a race condition here since we gave up the > @@ -1785,13 +1790,11 @@ xfs_swap_extents( > > tp = xfs_trans_alloc(mp, XFS_TRANS_SWAPEXT); > error = xfs_trans_reserve(tp, &M_RES(mp)->tr_ichange, 0, 0); > - if (error) { > - xfs_iunlock(ip, XFS_IOLOCK_EXCL); > - xfs_iunlock(tip, XFS_IOLOCK_EXCL); > - xfs_trans_cancel(tp, 0); > - goto out; > - } > + if (error) > + goto out_trans_cancel; > + > xfs_lock_two_inodes(ip, tip, XFS_ILOCK_EXCL); > + lock_flags |= XFS_ILOCK_EXCL; > > /* > * Count the number of extended attribute blocks > @@ -1810,8 +1813,8 @@ xfs_swap_extents( > goto out_trans_cancel; > } > > - xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > - xfs_trans_ijoin(tp, tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_trans_ijoin(tp, ip, lock_flags); > + xfs_trans_ijoin(tp, tip, lock_flags); > This still stays around in the middle of the function. It looks to me that the error handling is broken here irrespective of these changes. e.g., the xfs_trans_cancel() will unlock the inodes assuming the lock flags are transferred to the tp when the inodes are joined, yes? If so, out_trans_cancel will try to unlock the inodes after the cancel, even after the inodes have been joined. It might be good to join the inodes immediately after we acquire all the required locks (which is right after we take care of the transaction with both of these patches applied) and fix out_trans_cancel appropriately. Brian > /* > * Before we've swapped the forks, lets set the owners of the forks > @@ -1940,8 +1943,8 @@ out: > return error; > > out_unlock: > - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > - xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); > + xfs_iunlock(ip, lock_flags); > + xfs_iunlock(tip, lock_flags); > goto out; > > out_trans_cancel: > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@redhat.com Fri Jun 6 15:57:46 2014 Return-Path: <sandeen@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E0DF47F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 15:57:46 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id C3DF18F8033 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 13:57:43 -0700 (PDT) X-ASG-Debug-ID: 1402088262-04cb6c78c4afe70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id mwz8kqfgvkt0JeWy for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 13:57:42 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s56KvgU0028553 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 16:57:42 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s56KvfLf011232 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 16:57:41 -0400 Message-ID: <53922B49.1050005@redhat.com> Date: Fri, 06 Jun 2014 15:57:45 -0500 From: Eric Sandeen <sandeen@redhat.com> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 0/3] xfs_fsr robustification X-Enigmail-Version: 1.6 X-ASG-Orig-Subj: [PATCH 0/3] xfs_fsr robustification Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402088262 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Coverity whines about xfs_fsr a bit, so this is a small patch series to clean some things up. Nothing essential, AFAICT. Thanks, -Eric From sandeen@sandeen.net Fri Jun 6 16:03:10 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 820077F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 16:03:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6BC2E304032 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 14:03:07 -0700 (PDT) X-ASG-Debug-ID: 1402088585-04cbb07525b7810001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 1IXOXW7fxKc4AxVv for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 14:03:05 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 9DAED63B97E3; Fri, 6 Jun 2014 16:03:05 -0500 (CDT) Message-ID: <53922C8E.3050700@sandeen.net> Date: Fri, 06 Jun 2014 16:03:10 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated References: <53922B49.1050005@redhat.com> X-ASG-Orig-Subj: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated In-Reply-To: <53922B49.1050005@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402088585 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6436 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Ensure that the string we read from leftofffile is NULL terminated; the buffer gets passed to strchr(), so it's important that we ensure it ends with NULL. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index 3818f02..94d235c 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c @@ -554,6 +554,8 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) fsrprintf(_("could not read %s, starting with %s\n"), leftofffile, *fs->dev); } else { + /* Ensure the buffer we read is null terminated */ + buf[SMBUFSZ-1] = '\0'; for (fs = fsbase; fs < fsend; fs++) { fsname = fs->dev; if ((strncmp(buf,fsname,strlen(fsname)) == 0) From sandeen@sandeen.net Fri Jun 6 16:04:38 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 7DF8A7F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 16:04:38 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4B30B30404E for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 14:04:38 -0700 (PDT) X-ASG-Debug-ID: 1402088673-04bdf05666bbb90001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id AZ6dxEiL4OxlojWP for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 14:04:33 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id EB1C363B97E3; Fri, 6 Jun 2014 16:04:32 -0500 (CDT) Message-ID: <53922CE5.4000401@sandeen.net> Date: Fri, 06 Jun 2014 16:04:37 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 2/3] xfs_fsr: create a cleanup/return target in packfile() References: <53922B49.1050005@redhat.com> X-ASG-Orig-Subj: [PATCH 2/3] xfs_fsr: create a cleanup/return target in packfile() In-Reply-To: <53922B49.1050005@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402088673 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6436 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Error handling is a mishmash of closes, frees, etc at every error point. Create an "out" target that does this all in one place. Minor comment/doc update while we're at it. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index 94d235c..8b191e6 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c @@ -1205,14 +1205,20 @@ out: * We already are pretty sure we can and want to * defragment the file. Create the tmp file, copy * the data (maintaining holes) and call the kernel - * extent swap routinte. + * extent swap routine. + * + * Return values: + * -1: Some error was encountered + * 0: Successfully defragmented the file + * 1: No change / No Error */ static int packfile(char *fname, char *tname, int fd, xfs_bstat_t *statp, struct fsxattr *fsxp) { - int tfd; + int tfd = -1; int srval; + int retval = -1; /* Failure is the default */ int nextents, extent, cur_nextents, new_nextents; unsigned blksz_dio; unsigned dio_min; @@ -1220,7 +1226,7 @@ packfile(char *fname, char *tname, int fd, static xfs_swapext_t sx; struct xfs_flock64 space; off64_t cnt, pos; - void *fbuf; + void *fbuf = NULL; int ct, wc, wc_b4; char ffname[SMBUFSZ]; int ffd = -1; @@ -1236,7 +1242,8 @@ packfile(char *fname, char *tname, int fd, if (cur_nextents == 1 || cur_nextents <= nextents) { if (vflag) fsrprintf(_("%s already fully defragmented.\n"), fname); - return 1; /* indicates no change/no error */ + retval = 1; /* indicates no change/no error */ + goto out; } if (dflag) @@ -1248,15 +1255,14 @@ packfile(char *fname, char *tname, int fd, if (vflag) fsrprintf(_("could not open tmp file: %s: %s\n"), tname, strerror(errno)); - return -1; + goto out; } unlink(tname); /* Setup extended attributes */ if (fsr_setup_attr_fork(fd, tfd, statp) != 0) { fsrprintf(_("failed to set ATTR fork on tmp: %s:\n"), tname); - close(tfd); - return -1; + goto out; } /* Setup extended inode flags, project identifier, etc */ @@ -1264,15 +1270,13 @@ packfile(char *fname, char *tname, int fd, if (ioctl(tfd, XFS_IOC_FSSETXATTR, fsxp) < 0) { fsrprintf(_("could not set inode attrs on tmp: %s\n"), tname); - close(tfd); - return -1; + goto out; } } if ((ioctl(tfd, XFS_IOC_DIOINFO, &dio)) < 0 ) { fsrprintf(_("could not get DirectIO info on tmp: %s\n"), tname); - close(tfd); - return -1; + goto out; } dio_min = dio.d_miniosz; @@ -1294,8 +1298,7 @@ packfile(char *fname, char *tname, int fd, if (!(fbuf = (char *)memalign(dio.d_mem, blksz_dio))) { fsrprintf(_("could not allocate buf: %s\n"), tname); - close(tfd); - return -1; + goto out; } if (nfrags) { @@ -1306,9 +1309,7 @@ packfile(char *fname, char *tname, int fd, if ((ffd = open(ffname, openopts, 0666)) < 0) { fsrprintf(_("could not open fragfile: %s : %s\n"), ffname, strerror(errno)); - close(tfd); - free(fbuf); - return -1; + goto out; } unlink(ffname); } @@ -1338,9 +1339,7 @@ packfile(char *fname, char *tname, int fd, if (ioctl(tfd, XFS_IOC_RESVSP64, &space) < 0) { fsrprintf(_("could not pre-allocate tmp space:" " %s\n"), tname); - close(tfd); - free(fbuf); - return -1; + goto out; } lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); } @@ -1348,11 +1347,7 @@ packfile(char *fname, char *tname, int fd, if (lseek64(tfd, 0, SEEK_SET)) { fsrprintf(_("Couldn't rewind on temporary file\n")); - close(tfd); - if (ffd != -1) - close(ffd); - free(fbuf); - return -1; + goto out; } /* Check if the temporary file has fewer extents */ @@ -1362,11 +1357,8 @@ packfile(char *fname, char *tname, int fd, if (cur_nextents <= new_nextents) { if (vflag) fsrprintf(_("No improvement will be made (skipping): %s\n"), fname); - free(fbuf); - close(tfd); - if (ffd != -1) - close(ffd); - return 1; /* no change/no error */ + retval = 1; /* no change/no error */ + goto out; } /* Loop through block map copying the file. */ @@ -1437,11 +1429,7 @@ packfile(char *fname, char *tname, int fd, tname); } } - free(fbuf); - close(tfd); - if (ffd != -1) - close(ffd); - return -1; + goto out; } if (nfrags) { /* Do a matching write to the tmp file */ @@ -1455,12 +1443,8 @@ packfile(char *fname, char *tname, int fd, } } ftruncate64(tfd, statp->bs_size); - if (ffd != -1) - close(ffd); fsync(tfd); - free(fbuf); - sx.sx_stat = *statp; /* struct copy */ sx.sx_version = XFS_SX_VERSION; sx.sx_fdtarget = fd; @@ -1473,8 +1457,7 @@ packfile(char *fname, char *tname, int fd, if (vflag) fsrprintf(_("failed to fchown tmpfile %s: %s\n"), tname, strerror(errno)); - close(tfd); - return -1; + goto out; } /* Swap the extents */ @@ -1496,8 +1479,7 @@ packfile(char *fname, char *tname, int fd, fsrprintf(_("XFS_IOC_SWAPEXT failed: %s: %s\n"), fname, strerror(errno)); } - close(tfd); - return -1; + goto out; } /* Report progress */ @@ -1506,8 +1488,15 @@ packfile(char *fname, char *tname, int fd, cur_nextents, new_nextents, (new_nextents <= nextents ? "DONE" : " " ), fname); - close(tfd); - return 0; + retval = 0; + +out: + free(fbuf); + if (tfd != -1) + close(tfd); + if (ffd != -1) + close(ffd); + return retval; } char * From sandeen@sandeen.net Fri Jun 6 16:06:48 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E4B377F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 16:06:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6F6F9AC006 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 14:06:44 -0700 (PDT) X-ASG-Debug-ID: 1402088803-04bdf05667bbcc0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id LqR3aSedM3mEVGFK for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 14:06:43 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id E4FC363B97E3; Fri, 6 Jun 2014 16:06:42 -0500 (CDT) Message-ID: <53922D67.2060906@sandeen.net> Date: Fri, 06 Jun 2014 16:06:47 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH 3/3] xfs_fsr: test for more potential failures in packfile() References: <53922B49.1050005@redhat.com> X-ASG-Orig-Subj: [PATCH 3/3] xfs_fsr: test for more potential failures in packfile() In-Reply-To: <53922B49.1050005@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402088803 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6436 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Test for lseek, ftruncate, and fsync failures in packfile() Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index 8b191e6..48629fd 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c @@ -1325,7 +1325,11 @@ packfile(char *fname, char *tname, int fd, fsrprintf(_("could not trunc tmp %s\n"), tname); } - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), + tname, strerror(errno)); + goto out; + } continue; } else if (outmap[extent].bmv_length == 0) { /* to catch holes at the beginning of the file */ @@ -1341,7 +1345,11 @@ packfile(char *fname, char *tname, int fd, " %s\n"), tname); goto out; } - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), + tname, strerror(errno)); + goto out; + } } } /* end of space allocation loop */ @@ -1365,8 +1373,16 @@ packfile(char *fname, char *tname, int fd, for (extent = 0; extent < nextents; extent++) { pos = outmap[extent].bmv_offset; if (outmap[extent].bmv_block == -1) { - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); - lseek64(fd, outmap[extent].bmv_length, SEEK_CUR); + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), + tname, strerror(errno)); + goto out; + } + if (lseek64(fd, outmap[extent].bmv_length, SEEK_CUR) < 0) { + fsrprintf(_("could not lseek in file: %s : %s\n"), + fname, strerror(errno)); + goto out; + } continue; } else if (outmap[extent].bmv_length == 0) { /* to catch holes at the beginning of the file */ @@ -1442,8 +1458,16 @@ packfile(char *fname, char *tname, int fd, } } } - ftruncate64(tfd, statp->bs_size); - fsync(tfd); + if (ftruncate64(tfd, statp->bs_size) < 0) { + fsrprintf(_("could not truncate tmpfile: %s : %s\n"), + fname, strerror(errno)); + goto out; + } + if (fsync(tfd) < 0) { + fsrprintf(_("could not fsync tmpfile: %s : %s\n"), + fname, strerror(errno)); + goto out; + } sx.sx_stat = *statp; /* struct copy */ sx.sx_version = XFS_SX_VERSION; From david@fromorbit.com Fri Jun 6 19:18:39 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D2DB47F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 19:18:39 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B1D618F8040 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 17:18:36 -0700 (PDT) X-ASG-Debug-ID: 1402100314-04bdf05668c0d50001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id e8jRBEGdOE1kJLMe for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 17:18:34 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmwOAFtZklN5LGMP/2dsb2JhbABZDoJ/g0aoWAaZEAGBBBd1hAMBAQQBOhwjBQsIAxgJJQ8FDRgDIROILgMJB8c6DYYIFxaFR4ZqgiIHgyuBFgSYI4F5iymCJIV4gnxSKw Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail07.adl2.internode.on.net with ESMTP; 07 Jun 2014 09:48:32 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1Wt4Kx-0005FP-QJ; Sat, 07 Jun 2014 10:18:19 +1000 Date: Sat, 7 Jun 2014 10:18:19 +1000 From: Dave Chinner <david@fromorbit.com> To: Pranith Kumar <pranith@gatech.edu> Cc: peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked Message-ID: <20140607001819.GE4453@dastard> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53920446.7060505@gatech.edu> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402100314 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6439 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 02:11:18PM -0400, Pranith Kumar wrote: > On 06/06/2014 01:53 PM, Pranith Kumar wrote: > > On Fri, Jun 6, 2014 at 3:35 AM, Peter Zijlstra <peterz@infradead.org> wrote: > >> > >> Now in general, I don't particularly like such superfluous changes, so > >> unless you can show that GCC actually generates better code, I'd prefer > >> to keep things as they are. > > > > Fixed and checked the assembly. It saves us 2 bytes of code, not much. I am not sure if that is worth it :( > > > > use bool as the return type for rwsem_is_locked() instead of int > > > > Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> .... Makes sense to me. > I observed one other user of rwsem_is_locked() in xfs, change accordingly > > Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> > --- > fs/xfs/xfs_inode.c | 2 +- > fs/xfs/xfs_inode.h | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > index 768087b..9047eda 100644 > --- a/fs/xfs/xfs_inode.c > +++ b/fs/xfs/xfs_inode.c > @@ -285,7 +285,7 @@ xfs_ilock_demote( > } > > #if defined(DEBUG) || defined(XFS_WARN) > -int > +bool > xfs_isilocked( > xfs_inode_t *ip, > uint lock_flags) If you are going to change the return type to bool, then you should also remove the manual "!!" conversions to a boolean return and let the compiler do it in the most optimal way. Cheers, Dave. -- Dave Chinner david@fromorbit.com From bobby.prani@gmail.com Fri Jun 6 19:59:53 2014 Return-Path: <bobby.prani@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 970CF7F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 19:59:53 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 48ECE8F8049 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 17:59:53 -0700 (PDT) X-ASG-Debug-ID: 1402102791-04cbb07525be5f0001-NocioJ Received: from mail-qa0-f53.google.com (mail-qa0-f53.google.com [209.85.216.53]) by cuda.sgi.com with ESMTP id RD6HXDeTVGiqdKfH (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 17:59:51 -0700 (PDT) X-Barracuda-Envelope-From: bobby.prani@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.53 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.53] Received: by mail-qa0-f53.google.com with SMTP id k15so4856804qaq.12 for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 17:59:51 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.53] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.53] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=KEUKK6E7X+WYRbhU3hgOmEKK/ZoakKqL0FYFMOntxo4=; b=0vGKGSmZGtPQtjwv/kWD7i+1Kdr2QKSpSpAhKYLyiqPv+lilTjtUfwZWyMidD18Ig+ eulC/sE/w4BtSI2khqce1NTH9AusfZDcRIsZtSxFnQQJ2HjsDVwv1tjI9BBJUxudtX2t ZDq6cTLbCqWV98MyIGLwhT5ffy0FBb79TpL0WS7pM9WuyHm3uWM5ZVgH7T7w+pZpW4bF x+GZ5HRwoqLSQsQHHglg2v7OM3xkIhJBEUwYS2b8giEdLcEU8+az4xrK6UDfiAIwbbiv Rql7R0HyaWT1pB/2Y+c38b7EGjU/dDyK5uC9dncKxFMMScxIRO8HJl5JS9xCnpzCJoDA LFUA== X-Received: by 10.140.86.178 with SMTP id p47mr13409479qgd.66.1402102791428; Fri, 06 Jun 2014 17:59:51 -0700 (PDT) Received: from [192.168.1.67] (108-232-152-155.lightspeed.tukrga.sbcglobal.net. [108.232.152.155]) by mx.google.com with ESMTPSA id x12sm10611767yhe.53.2014.06.06.17.59.49 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 06 Jun 2014 17:59:50 -0700 (PDT) Message-ID: <53926406.4020200@gmail.com> Date: Fri, 06 Jun 2014 20:59:50 -0400 From: Pranith Kumar <bobby.prani@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, Pranith Kumar <pranith@gatech.edu> CC: peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> <20140607001819.GE4453@dastard> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked In-Reply-To: <20140607001819.GE4453@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qa0-f53.google.com[209.85.216.53] X-Barracuda-Start-Time: 1402102791 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6440 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/06/2014 08:18 PM, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 02:11:18PM -0400, Pranith Kumar wrote: >> On 06/06/2014 01:53 PM, Pranith Kumar wrote: >>> On Fri, Jun 6, 2014 at 3:35 AM, Peter Zijlstra <peterz@infradead.org> wrote: >>>> >>>> Now in general, I don't particularly like such superfluous changes, so >>>> unless you can show that GCC actually generates better code, I'd prefer >>>> to keep things as they are. >>> >>> Fixed and checked the assembly. It saves us 2 bytes of code, not much. I am not sure if that is worth it :( >>> >>> use bool as the return type for rwsem_is_locked() instead of int >>> > > If you are going to change the return type to bool, then you should > also remove the manual "!!" conversions to a boolean return and let > the compiler do it in the most optimal way. > Agreed, please find patch below: change return type to bool to follow rwsem_is_locked() Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- fs/xfs/xfs_inode.c | 8 ++++---- fs/xfs/xfs_inode.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index a6115fe..c02ac49 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -285,25 +285,25 @@ xfs_ilock_demote( } #if defined(DEBUG) || defined(XFS_WARN) -int +bool xfs_isilocked( xfs_inode_t *ip, uint lock_flags) { if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { if (!(lock_flags & XFS_ILOCK_SHARED)) - return !!ip->i_lock.mr_writer; + return !(ip->i_lock.mr_writer == 0); return rwsem_is_locked(&ip->i_lock.mr_lock); } if (lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) { if (!(lock_flags & XFS_IOLOCK_SHARED)) - return !!ip->i_iolock.mr_writer; + return !(ip->i_iolock.mr_writer == 0); return rwsem_is_locked(&ip->i_iolock.mr_lock); } ASSERT(0); - return 0; + return false; } #endif diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index f72bffa..efebed6 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -346,7 +346,7 @@ void xfs_ilock(xfs_inode_t *, uint); int xfs_ilock_nowait(xfs_inode_t *, uint); void xfs_iunlock(xfs_inode_t *, uint); void xfs_ilock_demote(xfs_inode_t *, uint); -int xfs_isilocked(xfs_inode_t *, uint); +bool xfs_isilocked(xfs_inode_t *, uint); uint xfs_ilock_data_map_shared(struct xfs_inode *); uint xfs_ilock_attr_map_shared(struct xfs_inode *); int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, umode_t, -- 1.9.1 From bobby.prani@gmail.com Fri Jun 6 20:41:27 2014 Return-Path: <bobby.prani@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 856F67F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 20:41:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4759830404E for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 18:41:24 -0700 (PDT) X-ASG-Debug-ID: 1402105282-04bdf05668c3050001-NocioJ Received: from mail-qa0-f54.google.com (mail-qa0-f54.google.com [209.85.216.54]) by cuda.sgi.com with ESMTP id e4VuGBPBBavux1RS (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 18:41:22 -0700 (PDT) X-Barracuda-Envelope-From: bobby.prani@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.54 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.54] Received: by mail-qa0-f54.google.com with SMTP id j15so5190753qaq.13 for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 18:41:22 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.54] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.54] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=0aU3mbsqHwL952QTTN4aLwmss/S07VppsEagu4EgWOM=; b=XVxhJqQ3jO+U4UaL4+iEDsjOqL8i+Zgz8Jt6LSodX1lbnsTu09z+NAMgPLf0oKzNaB LYaoAyZt3fqKktb31o7oxNo9EfH0LVC2rdN0k2e6MKcn404/MR+7zn1K/Nj140Qyjwnt AliilnXmqAefJz+umi1ddwBh31yNsYrDjiQfRhdAUKElP3eTeCr/O8GOEBGHHlcWAr1Q ezadk3CD0ZPpF4TDknnWlEg8KhDOItO1XTlLiL+K+rNXJZxRVNi34q3YPWCJlS+p7SZe kvCTbfeFINGPq7q5CJ39o+HOtzoCBYQ0rCUddR85zWLx44anZlmALHDo7YsEpOsKh6k7 Swmg== X-Received: by 10.140.102.166 with SMTP id w35mr13314916qge.97.1402105281698; Fri, 06 Jun 2014 18:41:21 -0700 (PDT) Received: from [192.168.1.67] (108-232-152-155.lightspeed.tukrga.sbcglobal.net. [108.232.152.155]) by mx.google.com with ESMTPSA id k66sm14473596yhg.39.2014.06.06.18.41.19 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 06 Jun 2014 18:41:20 -0700 (PDT) Message-ID: <53926DC1.4050304@gmail.com> Date: Fri, 06 Jun 2014 21:41:21 -0400 From: Pranith Kumar <bobby.prani@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, Pranith Kumar <pranith@gatech.edu> CC: peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> <20140607001819.GE4453@dastard> <53926406.4020200@gmail.com> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked In-Reply-To: <53926406.4020200@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qa0-f54.google.com[209.85.216.54] X-Barracuda-Start-Time: 1402105282 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6440 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/06/2014 08:59 PM, Pranith Kumar wrote: > On 06/06/2014 08:18 PM, Dave Chinner wrote: >> On Fri, Jun 06, 2014 at 02:11:18PM -0400, Pranith Kumar wrote: >>> On 06/06/2014 01:53 PM, Pranith Kumar wrote: >>>> On Fri, Jun 6, 2014 at 3:35 AM, Peter Zijlstra <peterz@infradead.org> wrote: >>>>> >>>>> Now in general, I don't particularly like such superfluous changes, so >>>>> unless you can show that GCC actually generates better code, I'd prefer >>>>> to keep things as they are. >>>> >>>> Fixed and checked the assembly. It saves us 2 bytes of code, not much. I am not sure if that is worth it :( >>>> >>>> use bool as the return type for rwsem_is_locked() instead of int >>>> > >> >> If you are going to change the return type to bool, then you should >> also remove the manual "!!" conversions to a boolean return and let >> the compiler do it in the most optimal way. >> > > Agreed, please find patch below: > Simplify the "!!" condition. This is much simpler. :) change return type to bool to follow rwsem_is_locked() Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- fs/xfs/xfs_inode.c | 8 ++++---- fs/xfs/xfs_inode.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index a6115fe..c02ac49 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -285,25 +285,25 @@ xfs_ilock_demote( } #if defined(DEBUG) || defined(XFS_WARN) -int +bool xfs_isilocked( xfs_inode_t *ip, uint lock_flags) { if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { if (!(lock_flags & XFS_ILOCK_SHARED)) - return !!ip->i_lock.mr_writer; + return (ip->i_lock.mr_writer != 0); return rwsem_is_locked(&ip->i_lock.mr_lock); } if (lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) { if (!(lock_flags & XFS_IOLOCK_SHARED)) - return !!ip->i_iolock.mr_writer; + return (ip->i_iolock.mr_writer != 0); return rwsem_is_locked(&ip->i_iolock.mr_lock); } ASSERT(0); - return 0; + return false; } #endif diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index f72bffa..efebed6 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -346,7 +346,7 @@ void xfs_ilock(xfs_inode_t *, uint); int xfs_ilock_nowait(xfs_inode_t *, uint); void xfs_iunlock(xfs_inode_t *, uint); void xfs_ilock_demote(xfs_inode_t *, uint); -int xfs_isilocked(xfs_inode_t *, uint); +bool xfs_isilocked(xfs_inode_t *, uint); uint xfs_ilock_data_map_shared(struct xfs_inode *); uint xfs_ilock_attr_map_shared(struct xfs_inode *); int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, umode_t, -- 1.9.1 From joe@perches.com Fri Jun 6 21:39:36 2014 Return-Path: <joe@perches.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1D90C7F3F for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 21:39:36 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0BA7C8F8037 for <xfs@oss.sgi.com>; Fri, 6 Jun 2014 19:39:35 -0700 (PDT) X-ASG-Debug-ID: 1402108774-04cb6c78c6b8c90001-NocioJ Received: from smtprelay.hostedemail.com (smtprelay0133.hostedemail.com [216.40.44.133]) by cuda.sgi.com with ESMTP id wDGt5M7xq2wiwmXp for <xfs@oss.sgi.com>; Fri, 06 Jun 2014 19:39:34 -0700 (PDT) X-Barracuda-Envelope-From: joe@perches.com X-Barracuda-Apparent-Source-IP: 216.40.44.133 Received: from filter.hostedemail.com (ff-bigip1 [10.5.19.254]) by smtprelay03.hostedemail.com (Postfix) with ESMTP id F361A6B0D5; Sat, 7 Jun 2014 02:39:33 +0000 (UTC) X-Session-Marker: 6A6F6540706572636865732E636F6D X-HE-Tag: trick82_70662c2063f39 X-Filterd-Recvd-Size: 2124 Received: from [10.0.0.10] (cpe-23-242-95-217.socal.res.rr.com [23.242.95.217]) (Authenticated sender: joe@perches.com) by omf13.hostedemail.com (Postfix) with ESMTPA; Sat, 7 Jun 2014 02:39:32 +0000 (UTC) Message-ID: <1402108770.25112.5.camel@joe-AO725> Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked From: Joe Perches <joe@perches.com> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked To: Pranith Kumar <bobby.prani@gmail.com> Cc: Dave Chinner <david@fromorbit.com>, Pranith Kumar <pranith@gatech.edu>, peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Date: Fri, 06 Jun 2014 19:39:30 -0700 In-Reply-To: <53926DC1.4050304@gmail.com> References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> <20140607001819.GE4453@dastard> <53926406.4020200@gmail.com> <53926DC1.4050304@gmail.com> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.10.4-0ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: smtprelay0133.hostedemail.com[216.40.44.133] X-Barracuda-Start-Time: 1402108774 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6441 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, 2014-06-06 at 21:41 -0400, Pranith Kumar wrote: > On 06/06/2014 08:59 PM, Pranith Kumar wrote: > > On 06/06/2014 08:18 PM, Dave Chinner wrote: > >> If you are going to change the return type to bool, then you should > >> also remove the manual "!!" conversions to a boolean return and let > >> the compiler do it in the most optimal way. > > Agreed, please find patch below: > Simplify the "!!" condition. This is much simpler. :) [] > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > @@ -285,25 +285,25 @@ xfs_ilock_demote( > } > > #if defined(DEBUG) || defined(XFS_WARN) > -int > +bool > xfs_isilocked( > xfs_inode_t *ip, > uint lock_flags) > { > if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { > if (!(lock_flags & XFS_ILOCK_SHARED)) > - return !!ip->i_lock.mr_writer; > + return (ip->i_lock.mr_writer != 0); simpler still would be just removing the !! completely. I presume in no case would it make an actual difference in emitted code. ie: return ip->i_lock.mr_writer; From IslamicBooks@ieee.org Sat Jun 7 07:33:05 2014 Return-Path: <IslamicBooks@ieee.org> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id F10297F3F for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 07:33:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id BB0608F8035 for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 05:33:01 -0700 (PDT) X-ASG-Debug-ID: 1402144379-04bdf05668d42f0001-NocioJ Received: from vms ([23.97.155.254]) by cuda.sgi.com with ESMTP id RtnIPmTkExVgqp20 for <xfs@oss.sgi.com>; Sat, 07 Jun 2014 05:32:59 -0700 (PDT) X-Barracuda-Envelope-From: IslamicBooks@ieee.org X-Barracuda-Apparent-Source-IP: 23.97.155.254 Received: from centralserver ([23.97.68.55]) by vms with Microsoft SMTPSVC(7.5.7601.17514); Sat, 7 Jun 2014 12:32:52 +0000 Message-ID: <20140607.OIBSJAEWGQSDUDEA@ieee.org> From: "Discover the truth !" <IslamicBooks@ieee.org> To: "xfs" <xfs@oss.sgi.com> Reply-To: "Discover the truth !" <IslamicBooks@ieee.org> Subject: Newly Published titles Date: Sat, 7 Jun 2014 12:32:51 +0000 X-ASG-Orig-Subj: Newly Published titles Importance: Normal X-Mailer: Microsoft Office Outlook, Build 11.0.5510 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_323_2350_13278453.88020271" X-OriginalArrivalTime: 07 Jun 2014 12:32:52.0836 (UTC) FILETIME=[99E94240:01CF824C] X-Barracuda-Connect: UNKNOWN[23.97.155.254] X-Barracuda-Start-Time: 1402144379 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6451 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS This message is in MIME format with multi-part. Since your mail reader does not understand this format, some or all of this message may not be legible. ------=_NextPart_323_2350_13278453.88020271 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 TmV3bHkgSXNsYW1pYyB0aXRsZXMgcHVibGlzaGVkIGFuZCBhdmFpbGFibGUgZm9yIHNhbGUgZnJv bSBvbmxpbmUgcmV0YWlsZXJzICENCkEgbmljZSBsaXN0IG9mIElzbGFtaWMgcHVibGljYXRpb25z IGF2YWlsYWJsZSBmb3Igc2FsZSBmcm9tIGFtYXpvbi5jb20gYW5kIG90aGVyIG9ubGluZSBzdG9y ZXMgIQ0KU2VlIG91ciBsaXN0IG9mIHB1Ymxpc2hlZCBJc2xhbWljIGJvb2tzIGF2YWlsYWJsZSBm b3Igc2FsZQ0KWW91IGNhbiBidXkgYW55d2hlcmUgYW55dGltZSBmcm9tIEFtYXpvbiBoZXJlIChz aG9ydGVkIGxpbmtzKSA6DQpodHRwOi8vYW16bi50by8xdXZDbjBxDQpodHRwOi8vYW16bi50by8x a0trUjVIDQpodHRwOi8vYW16bi50by8xa1JQUEVjDQpQbGVhc2Ugc2hhcmUNCiANClJlZ2FyZHM= ------=_NextPart_323_2350_13278453.88020271 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PEhUTUw+PEhFQUQ+PHRpdGxlPk5ld2x5IFB1Ymxpc2hlZCB0aXRsZXM8L3RpdGxlPg0KPE1FVEEg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PUNvbnRlbnQtVHlw ZT4NCjxNRVRBIG5hbWU9R0VORVJBVE9SIGNvbnRlbnQ9IkVtYWlsIE1hcmtldGVyIE1lc3NhZ2Ug RWRpdG9yIj4NCjxTVFlMRSB0eXBlPXRleHQvY3NzPg0KYm9keSx0YWJsZSx0ZCx0cixwLGlucHV0 IHtmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgU2Fucy1TZXJpZjsgZm9u dC1zaXplOiAxMXB4fQ0KaHIge2hlaWdodDogMXB4fQ0KPC9TVFlMRT4NCjwvSEVBRD4NCjxCT0RZ Pg0KPFA+TmV3bHkgSXNsYW1pYyB0aXRsZXMgcHVibGlzaGVkIGFuZCBhdmFpbGFibGUgZm9yIHNh bGUgZnJvbSBvbmxpbmUgcmV0YWlsZXJzICE8L1A+DQo8UD5BJm5ic3A7bmljZSBsaXN0IG9mIElz bGFtaWMgcHVibGljYXRpb25zIGF2YWlsYWJsZSBmb3Igc2FsZSBmcm9tIGFtYXpvbi5jb20gYW5k IG90aGVyIG9ubGluZSBzdG9yZXMgITwvUD4NCjxQPlNlZSBvdXIgbGlzdCBvZiBwdWJsaXNoZWQg SXNsYW1pYyBib29rcyBhdmFpbGFibGUgZm9yIHNhbGU8QlI+WW91IGNhbiBidXkgYW55d2hlcmUg YW55dGltZSBmcm9tIEFtYXpvbiBoZXJlIChzaG9ydGVkIGxpbmtzKSZuYnNwOzo8L1A+DQo8UD48 QSBocmVmPSJodHRwOi8vYW16bi50by8xdXZDbjBxIj5odHRwOi8vYW16bi50by8xdXZDbjBxPC9B PjxCUj48QSBocmVmPSJodHRwOi8vYW16bi50by8xa0trUjVIIj5odHRwOi8vYW16bi50by8xa0tr UjVIPC9BPjxCUj48QSBocmVmPSJodHRwOi8vYW16bi50by8xa1JQUEVjIj5odHRwOi8vYW16bi50 by8xa1JQUEVjPC9BPjwvUD4NCjxQPlBsZWFzZSBzaGFyZTxCUj4mbmJzcDs8QlI+UmVnYXJkczwv UD48L0JPRFk+PC9IVE1MPg== ------=_NextPart_323_2350_13278453.88020271-- From david@fromorbit.com Sat Jun 7 18:44:20 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 357C57F3F for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 18:44:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 129BE304053 for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 16:44:19 -0700 (PDT) X-ASG-Debug-ID: 1402184654-04bdf05666e4cc0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 5ISTQ9I7ySynOh6L for <xfs@oss.sgi.com>; Sat, 07 Jun 2014 16:44:14 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqdtAN6ik1N5LGMPPGdsb2JhbABYgw2sKwEGmRABgQEXBAEBAQE4NYQDAQEFJxMcIxAIAxgJJQ8FJQMHGhOIQc1KFxaFR4kPB4MrgRYBA5ogiymLays Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail04.adl6.internode.on.net with ESMTP; 08 Jun 2014 09:14:13 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WtQHT-0007lF-9K; Sun, 08 Jun 2014 09:44:11 +1000 Date: Sun, 8 Jun 2014 09:44:11 +1000 From: Dave Chinner <david@fromorbit.com> To: Joe Perches <joe@perches.com> Cc: Pranith Kumar <bobby.prani@gmail.com>, Pranith Kumar <pranith@gatech.edu>, peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked Message-ID: <20140607234411.GA9508@dastard> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> <20140607001819.GE4453@dastard> <53926406.4020200@gmail.com> <53926DC1.4050304@gmail.com> <1402108770.25112.5.camel@joe-AO725> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402108770.25112.5.camel@joe-AO725> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402184654 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6462 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 07:39:30PM -0700, Joe Perches wrote: > On Fri, 2014-06-06 at 21:41 -0400, Pranith Kumar wrote: > > On 06/06/2014 08:59 PM, Pranith Kumar wrote: > > > On 06/06/2014 08:18 PM, Dave Chinner wrote: > > >> If you are going to change the return type to bool, then you should > > >> also remove the manual "!!" conversions to a boolean return and let > > >> the compiler do it in the most optimal way. > > > Agreed, please find patch below: > > Simplify the "!!" condition. This is much simpler. :) > [] > > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c > > > @@ -285,25 +285,25 @@ xfs_ilock_demote( > > } > > > > #if defined(DEBUG) || defined(XFS_WARN) > > -int > > +bool > > xfs_isilocked( > > xfs_inode_t *ip, > > uint lock_flags) > > { > > if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { > > if (!(lock_flags & XFS_ILOCK_SHARED)) > > - return !!ip->i_lock.mr_writer; > > + return (ip->i_lock.mr_writer != 0); > > simpler still would be just removing the !! completely. > I presume in no case would it make an actual difference > in emitted code. > > ie: > return ip->i_lock.mr_writer; Yup, that's exactly what I meant. Casting to a bool type does all the work of squashing all non-zero values to 1... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bobby.prani@gmail.com Sat Jun 7 21:57:40 2014 Return-Path: <bobby.prani@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D20A87F3F for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 21:57:40 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6673FAC006 for <xfs@oss.sgi.com>; Sat, 7 Jun 2014 19:57:40 -0700 (PDT) X-ASG-Debug-ID: 1402196256-04bdf05668e8990001-NocioJ Received: from mail-yk0-f172.google.com (mail-yk0-f172.google.com [209.85.160.172]) by cuda.sgi.com with ESMTP id yyL9jOz3Q0y5Tcek (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Sat, 07 Jun 2014 19:57:37 -0700 (PDT) X-Barracuda-Envelope-From: bobby.prani@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.172 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.172] Received: by mail-yk0-f172.google.com with SMTP id 79so1603369ykr.31 for <xfs@oss.sgi.com>; Sat, 07 Jun 2014 19:57:36 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.172] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.172] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=p8ly90zEjiNatjOl92Ez594eL6/C+vOoUNOC1PeCHNE=; b=0HmLBUWkbKvXLuEiuCUHnk2tu154GIk5l2/8ljs9QgPRleiX2X1xmzBk6+S8tx0jed 1XRzdjHRIIp8kxUH8K7ApEMzd8uHLU5EDoL1O9Svjkk0jLRNDzzzvqoQnQmkQx4P497H UV5/t2c9z0Tz9kbiR39DAjf66SVjeRPovQbYjPW9N97EL/7KabpNAn2nv2WCjXKOblkQ lTcqVEwSRu4i3W42ZgViJrXA7i7f01QTL0TfQvqNjmGVUwosbTx4aCU/CTMwuzCOuNel ZrZvlc35aef3p1SSU9J3/uoFz1Pccr9KZPRz2so0f2JicOYL8fgZk7VgJjlf5yLA9fDs rCDA== X-Received: by 10.236.134.169 with SMTP id s29mr4742044yhi.4.1402196256683; Sat, 07 Jun 2014 19:57:36 -0700 (PDT) Received: from [192.168.1.67] (108-232-152-155.lightspeed.tukrga.sbcglobal.net. [108.232.152.155]) by mx.google.com with ESMTPSA id t9sm18373825yhg.18.2014.06.07.19.57.34 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 07 Jun 2014 19:57:35 -0700 (PDT) Message-ID: <5393D11E.2090906@gmail.com> Date: Sat, 07 Jun 2014 22:57:34 -0400 From: Pranith Kumar <bobby.prani@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, Joe Perches <joe@perches.com> CC: Pranith Kumar <pranith@gatech.edu>, peterz@infradead.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, davidlohr@hp.com, mingo@redhat.com, xfs@oss.sgi.com Subject: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked References: <5390D7E1.7060606@gatech.edu> <5391FFFD.1060901@gatech.edu> <53920446.7060505@gatech.edu> <20140607001819.GE4453@dastard> <53926406.4020200@gmail.com> <53926DC1.4050304@gmail.com> <1402108770.25112.5.camel@joe-AO725> <20140607234411.GA9508@dastard> X-ASG-Orig-Subj: Re: [RFC PATCH 1/1] cleanup: use bool as return type for rwsem_is_locked In-Reply-To: <20140607234411.GA9508@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-yk0-f172.google.com[209.85.160.172] X-Barracuda-Start-Time: 1402196257 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6466 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/07/2014 07:44 PM, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 07:39:30PM -0700, Joe Perches wrote: >> On Fri, 2014-06-06 at 21:41 -0400, Pranith Kumar wrote: >>> On 06/06/2014 08:59 PM, Pranith Kumar wrote: >>>> On 06/06/2014 08:18 PM, Dave Chinner wrote: >>>>> If you are going to change the return type to bool, then you should >>>>> also remove the manual "!!" conversions to a boolean return and let >>>>> the compiler do it in the most optimal way. >> simpler still would be just removing the !! completely. >> I presume in no case would it make an actual difference >> in emitted code. >> >> ie: >> return ip->i_lock.mr_writer; > > Yup, that's exactly what I meant. Casting to a bool type does all > the work of squashing all non-zero values to 1... > change return type if xfs_isilocked() to bool to follow rwsem_is_locked() Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> --- fs/xfs/xfs_inode.c | 8 ++++---- fs/xfs/xfs_inode.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index a6115fe..c02ac49 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -285,25 +285,25 @@ xfs_ilock_demote( } #if defined(DEBUG) || defined(XFS_WARN) -int +bool xfs_isilocked( xfs_inode_t *ip, uint lock_flags) { if (lock_flags & (XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)) { if (!(lock_flags & XFS_ILOCK_SHARED)) - return !!ip->i_lock.mr_writer; + return ip->i_lock.mr_writer; return rwsem_is_locked(&ip->i_lock.mr_lock); } if (lock_flags & (XFS_IOLOCK_EXCL|XFS_IOLOCK_SHARED)) { if (!(lock_flags & XFS_IOLOCK_SHARED)) - return !!ip->i_iolock.mr_writer; + return ip->i_iolock.mr_writer; return rwsem_is_locked(&ip->i_iolock.mr_lock); } ASSERT(0); - return 0; + return false; } #endif diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index f72bffa..efebed6 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -346,7 +346,7 @@ void xfs_ilock(xfs_inode_t *, uint); int xfs_ilock_nowait(xfs_inode_t *, uint); void xfs_iunlock(xfs_inode_t *, uint); void xfs_ilock_demote(xfs_inode_t *, uint); -int xfs_isilocked(xfs_inode_t *, uint); +bool xfs_isilocked(xfs_inode_t *, uint); uint xfs_ilock_data_map_shared(struct xfs_inode *); uint xfs_ilock_attr_map_shared(struct xfs_inode *); int xfs_ialloc(struct xfs_trans *, xfs_inode_t *, umode_t, -- 1.9.1 From bfoster@redhat.com Mon Jun 9 08:02:42 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E28757F3F for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 08:02:42 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id D7C7B8F8049 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 06:02:39 -0700 (PDT) X-ASG-Debug-ID: 1402318958-04cb6c78c611d630001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id K9iG2w3vP00GE0wu for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 06:02:38 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s59D2cBv011844 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 9 Jun 2014 09:02:38 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s59D2b0K026246; Mon, 9 Jun 2014 09:02:37 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 842E61234DD; Mon, 9 Jun 2014 09:02:36 -0400 (EDT) Date: Mon, 9 Jun 2014 09:02:36 -0400 From: Brian Foster <bfoster@redhat.com> To: Eric Sandeen <sandeen@sandeen.net> Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated Message-ID: <20140609130235.GA31319@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated References: <53922B49.1050005@redhat.com> <53922C8E.3050700@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53922C8E.3050700@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402318958 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 06, 2014 at 04:03:10PM -0500, Eric Sandeen wrote: > Ensure that the string we read from leftofffile is NULL > terminated; the buffer gets passed to strchr(), so > it's important that we ensure it ends with NULL. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- > > diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c > index 3818f02..94d235c 100644 > --- a/fsr/xfs_fsr.c > +++ b/fsr/xfs_fsr.c > @@ -554,6 +554,8 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) > fsrprintf(_("could not read %s, starting with %s\n"), > leftofffile, *fs->dev); > } else { > + /* Ensure the buffer we read is null terminated */ > + buf[SMBUFSZ-1] = '\0'; Maybe just initialize the buffer..? Brian > for (fs = fsbase; fs < fsend; fs++) { > fsname = fs->dev; > if ((strncmp(buf,fsname,strlen(fsname)) == 0) > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Jun 9 08:02:44 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id AA0137F3F for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 08:02:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A02728F8049 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 06:02:44 -0700 (PDT) X-ASG-Debug-ID: 1402318963-04cbb07528124b00001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 1g1JQbv0BkFfKeW0 for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 06:02:43 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s59D2hRJ006495 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 9 Jun 2014 09:02:43 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s59D2gCe019641; Mon, 9 Jun 2014 09:02:42 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id C403C1234DD; Mon, 9 Jun 2014 09:02:41 -0400 (EDT) Date: Mon, 9 Jun 2014 09:02:41 -0400 From: Brian Foster <bfoster@redhat.com> To: Eric Sandeen <sandeen@sandeen.net> Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 2/3] xfs_fsr: create a cleanup/return target in packfile() Message-ID: <20140609130241.GB31319@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/3] xfs_fsr: create a cleanup/return target in packfile() References: <53922B49.1050005@redhat.com> <53922CE5.4000401@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53922CE5.4000401@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402318963 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 06, 2014 at 04:04:37PM -0500, Eric Sandeen wrote: > Error handling is a mishmash of closes, frees, etc at every > error point. Create an "out" target that does this all > in one place. > > Minor comment/doc update while we're at it. > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- Reviewed-by: Brian Foster <bfoster@redhat.com> > > diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c > index 94d235c..8b191e6 100644 > --- a/fsr/xfs_fsr.c > +++ b/fsr/xfs_fsr.c > @@ -1205,14 +1205,20 @@ out: > * We already are pretty sure we can and want to > * defragment the file. Create the tmp file, copy > * the data (maintaining holes) and call the kernel > - * extent swap routinte. > + * extent swap routine. > + * > + * Return values: > + * -1: Some error was encountered > + * 0: Successfully defragmented the file > + * 1: No change / No Error > */ > static int > packfile(char *fname, char *tname, int fd, > xfs_bstat_t *statp, struct fsxattr *fsxp) > { > - int tfd; > + int tfd = -1; > int srval; > + int retval = -1; /* Failure is the default */ > int nextents, extent, cur_nextents, new_nextents; > unsigned blksz_dio; > unsigned dio_min; > @@ -1220,7 +1226,7 @@ packfile(char *fname, char *tname, int fd, > static xfs_swapext_t sx; > struct xfs_flock64 space; > off64_t cnt, pos; > - void *fbuf; > + void *fbuf = NULL; > int ct, wc, wc_b4; > char ffname[SMBUFSZ]; > int ffd = -1; > @@ -1236,7 +1242,8 @@ packfile(char *fname, char *tname, int fd, > if (cur_nextents == 1 || cur_nextents <= nextents) { > if (vflag) > fsrprintf(_("%s already fully defragmented.\n"), fname); > - return 1; /* indicates no change/no error */ > + retval = 1; /* indicates no change/no error */ > + goto out; > } > > if (dflag) > @@ -1248,15 +1255,14 @@ packfile(char *fname, char *tname, int fd, > if (vflag) > fsrprintf(_("could not open tmp file: %s: %s\n"), > tname, strerror(errno)); > - return -1; > + goto out; > } > unlink(tname); > > /* Setup extended attributes */ > if (fsr_setup_attr_fork(fd, tfd, statp) != 0) { > fsrprintf(_("failed to set ATTR fork on tmp: %s:\n"), tname); > - close(tfd); > - return -1; > + goto out; > } > > /* Setup extended inode flags, project identifier, etc */ > @@ -1264,15 +1270,13 @@ packfile(char *fname, char *tname, int fd, > if (ioctl(tfd, XFS_IOC_FSSETXATTR, fsxp) < 0) { > fsrprintf(_("could not set inode attrs on tmp: %s\n"), > tname); > - close(tfd); > - return -1; > + goto out; > } > } > > if ((ioctl(tfd, XFS_IOC_DIOINFO, &dio)) < 0 ) { > fsrprintf(_("could not get DirectIO info on tmp: %s\n"), tname); > - close(tfd); > - return -1; > + goto out; > } > > dio_min = dio.d_miniosz; > @@ -1294,8 +1298,7 @@ packfile(char *fname, char *tname, int fd, > > if (!(fbuf = (char *)memalign(dio.d_mem, blksz_dio))) { > fsrprintf(_("could not allocate buf: %s\n"), tname); > - close(tfd); > - return -1; > + goto out; > } > > if (nfrags) { > @@ -1306,9 +1309,7 @@ packfile(char *fname, char *tname, int fd, > if ((ffd = open(ffname, openopts, 0666)) < 0) { > fsrprintf(_("could not open fragfile: %s : %s\n"), > ffname, strerror(errno)); > - close(tfd); > - free(fbuf); > - return -1; > + goto out; > } > unlink(ffname); > } > @@ -1338,9 +1339,7 @@ packfile(char *fname, char *tname, int fd, > if (ioctl(tfd, XFS_IOC_RESVSP64, &space) < 0) { > fsrprintf(_("could not pre-allocate tmp space:" > " %s\n"), tname); > - close(tfd); > - free(fbuf); > - return -1; > + goto out; > } > lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); > } > @@ -1348,11 +1347,7 @@ packfile(char *fname, char *tname, int fd, > > if (lseek64(tfd, 0, SEEK_SET)) { > fsrprintf(_("Couldn't rewind on temporary file\n")); > - close(tfd); > - if (ffd != -1) > - close(ffd); > - free(fbuf); > - return -1; > + goto out; > } > > /* Check if the temporary file has fewer extents */ > @@ -1362,11 +1357,8 @@ packfile(char *fname, char *tname, int fd, > if (cur_nextents <= new_nextents) { > if (vflag) > fsrprintf(_("No improvement will be made (skipping): %s\n"), fname); > - free(fbuf); > - close(tfd); > - if (ffd != -1) > - close(ffd); > - return 1; /* no change/no error */ > + retval = 1; /* no change/no error */ > + goto out; > } > > /* Loop through block map copying the file. */ > @@ -1437,11 +1429,7 @@ packfile(char *fname, char *tname, int fd, > tname); > } > } > - free(fbuf); > - close(tfd); > - if (ffd != -1) > - close(ffd); > - return -1; > + goto out; > } > if (nfrags) { > /* Do a matching write to the tmp file */ > @@ -1455,12 +1443,8 @@ packfile(char *fname, char *tname, int fd, > } > } > ftruncate64(tfd, statp->bs_size); > - if (ffd != -1) > - close(ffd); > fsync(tfd); > > - free(fbuf); > - > sx.sx_stat = *statp; /* struct copy */ > sx.sx_version = XFS_SX_VERSION; > sx.sx_fdtarget = fd; > @@ -1473,8 +1457,7 @@ packfile(char *fname, char *tname, int fd, > if (vflag) > fsrprintf(_("failed to fchown tmpfile %s: %s\n"), > tname, strerror(errno)); > - close(tfd); > - return -1; > + goto out; > } > > /* Swap the extents */ > @@ -1496,8 +1479,7 @@ packfile(char *fname, char *tname, int fd, > fsrprintf(_("XFS_IOC_SWAPEXT failed: %s: %s\n"), > fname, strerror(errno)); > } > - close(tfd); > - return -1; > + goto out; > } > > /* Report progress */ > @@ -1506,8 +1488,15 @@ packfile(char *fname, char *tname, int fd, > cur_nextents, new_nextents, > (new_nextents <= nextents ? "DONE" : " " ), > fname); > - close(tfd); > - return 0; > + retval = 0; > + > +out: > + free(fbuf); > + if (tfd != -1) > + close(tfd); > + if (ffd != -1) > + close(ffd); > + return retval; > } > > char * > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Mon Jun 9 08:02:52 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5BD1C7F58 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 08:02:52 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 50E548F804B for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 06:02:52 -0700 (PDT) X-ASG-Debug-ID: 1402318971-04cbb07524124b20001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id k8XQaXM5jrvwxQuS for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 06:02:51 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s59D2oxD003819 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 9 Jun 2014 09:02:51 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s59D2oYv001459; Mon, 9 Jun 2014 09:02:50 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id A21A01234DD; Mon, 9 Jun 2014 09:02:49 -0400 (EDT) Date: Mon, 9 Jun 2014 09:02:49 -0400 From: Brian Foster <bfoster@redhat.com> To: Eric Sandeen <sandeen@sandeen.net> Cc: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 3/3] xfs_fsr: test for more potential failures in packfile() Message-ID: <20140609130249.GC31319@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 3/3] xfs_fsr: test for more potential failures in packfile() References: <53922B49.1050005@redhat.com> <53922D67.2060906@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53922D67.2060906@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402318971 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 06, 2014 at 04:06:47PM -0500, Eric Sandeen wrote: > Test for lseek, ftruncate, and fsync failures in packfile() > > Signed-off-by: Eric Sandeen <sandeen@redhat.com> > --- Reviewed-by: Brian Foster <bfoster@redhat.com> > > diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c > index 8b191e6..48629fd 100644 > --- a/fsr/xfs_fsr.c > +++ b/fsr/xfs_fsr.c > @@ -1325,7 +1325,11 @@ packfile(char *fname, char *tname, int fd, > fsrprintf(_("could not trunc tmp %s\n"), > tname); > } > - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); > + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { > + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), > + tname, strerror(errno)); > + goto out; > + } > continue; > } else if (outmap[extent].bmv_length == 0) { > /* to catch holes at the beginning of the file */ > @@ -1341,7 +1345,11 @@ packfile(char *fname, char *tname, int fd, > " %s\n"), tname); > goto out; > } > - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); > + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { > + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), > + tname, strerror(errno)); > + goto out; > + } > } > } /* end of space allocation loop */ > > @@ -1365,8 +1373,16 @@ packfile(char *fname, char *tname, int fd, > for (extent = 0; extent < nextents; extent++) { > pos = outmap[extent].bmv_offset; > if (outmap[extent].bmv_block == -1) { > - lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR); > - lseek64(fd, outmap[extent].bmv_length, SEEK_CUR); > + if (lseek64(tfd, outmap[extent].bmv_length, SEEK_CUR) < 0) { > + fsrprintf(_("could not lseek in tmpfile: %s : %s\n"), > + tname, strerror(errno)); > + goto out; > + } > + if (lseek64(fd, outmap[extent].bmv_length, SEEK_CUR) < 0) { > + fsrprintf(_("could not lseek in file: %s : %s\n"), > + fname, strerror(errno)); > + goto out; > + } > continue; > } else if (outmap[extent].bmv_length == 0) { > /* to catch holes at the beginning of the file */ > @@ -1442,8 +1458,16 @@ packfile(char *fname, char *tname, int fd, > } > } > } > - ftruncate64(tfd, statp->bs_size); > - fsync(tfd); > + if (ftruncate64(tfd, statp->bs_size) < 0) { > + fsrprintf(_("could not truncate tmpfile: %s : %s\n"), > + fname, strerror(errno)); > + goto out; > + } > + if (fsync(tfd) < 0) { > + fsrprintf(_("could not fsync tmpfile: %s : %s\n"), > + fname, strerror(errno)); > + goto out; > + } > > sx.sx_stat = *statp; /* struct copy */ > sx.sx_version = XFS_SX_VERSION; > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Mon Jun 9 09:01:33 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E10967F51 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 09:01:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B1C8C8F8039 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 07:01:30 -0700 (PDT) X-ASG-Debug-ID: 1402322482-04bdf05668125ac0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id VGjIN4tO28n6yiUh for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 07:01:23 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 6DD9463C5FF1; Mon, 9 Jun 2014 09:01:22 -0500 (CDT) Message-ID: <5395BE32.3080204@sandeen.net> Date: Mon, 09 Jun 2014 09:01:22 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Brian Foster <bfoster@redhat.com> CC: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated References: <53922B49.1050005@redhat.com> <53922C8E.3050700@sandeen.net> <20140609130235.GA31319@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated In-Reply-To: <20140609130235.GA31319@bfoster.bfoster> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402322482 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6504 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/9/14, 8:02 AM, Brian Foster wrote: > On Fri, Jun 06, 2014 at 04:03:10PM -0500, Eric Sandeen wrote: >> Ensure that the string we read from leftofffile is NULL >> terminated; the buffer gets passed to strchr(), so >> it's important that we ensure it ends with NULL. >> >> Signed-off-by: Eric Sandeen <sandeen@redhat.com> >> --- >> >> diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c >> index 3818f02..94d235c 100644 >> --- a/fsr/xfs_fsr.c >> +++ b/fsr/xfs_fsr.c >> @@ -554,6 +554,8 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) >> fsrprintf(_("could not read %s, starting with %s\n"), >> leftofffile, *fs->dev); >> } else { >> + /* Ensure the buffer we read is null terminated */ >> + buf[SMBUFSZ-1] = '\0'; > > Maybe just initialize the buffer..? and then read no more than SMBUFSZ-1... I dunno, 6 one way, half a dozen the other? -Eric > Brian > >> for (fs = fsbase; fs < fsend; fs++) { >> fsname = fs->dev; >> if ((strncmp(buf,fsname,strlen(fsname)) == 0) >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs > From tinguely@sgi.com Mon Jun 9 09:29:34 2014 Return-Path: <tinguely@sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3B6047F55 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 09:29:34 -0500 (CDT) Received: from eagdhcp-232-192.americas.sgi.com (eagdhcp-232-192.americas.sgi.com [128.162.232.192]) by relay2.corp.sgi.com (Postfix) with ESMTP id BA54530406B; Mon, 9 Jun 2014 07:29:30 -0700 (PDT) Message-ID: <5395C4CA.6010206@sgi.com> Date: Mon, 09 Jun 2014 09:29:30 -0500 From: Mark Tinguely <tinguely@sgi.com> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@sandeen.net> CC: Brian Foster <bfoster@redhat.com>, Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH 1/3] xfs_fsr: ensure the line we read from leftofffile is null terminated References: <53922B49.1050005@redhat.com> <53922C8E.3050700@sandeen.net> <20140609130235.GA31319@bfoster.bfoster> <5395BE32.3080204@sandeen.net> In-Reply-To: <5395BE32.3080204@sandeen.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/09/14 09:01, Eric Sandeen wrote: > On 6/9/14, 8:02 AM, Brian Foster wrote: >> On Fri, Jun 06, 2014 at 04:03:10PM -0500, Eric Sandeen wrote: >>> Ensure that the string we read from leftofffile is NULL >>> terminated; the buffer gets passed to strchr(), so >>> it's important that we ensure it ends with NULL. >>> >>> Signed-off-by: Eric Sandeen<sandeen@redhat.com> >>> --- >>> >>> diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c >>> index 3818f02..94d235c 100644 >>> --- a/fsr/xfs_fsr.c >>> +++ b/fsr/xfs_fsr.c >>> @@ -554,6 +554,8 @@ fsrallfs(char *mtab, int howlong, char *leftofffile) >>> fsrprintf(_("could not read %s, starting with %s\n"), >>> leftofffile, *fs->dev); >>> } else { >>> + /* Ensure the buffer we read is null terminated */ >>> + buf[SMBUFSZ-1] = '\0'; >> >> Maybe just initialize the buffer..? > > and then read no more than SMBUFSZ-1... I dunno, 6 one way, half a dozen > the other? I like my bike shed pained red with white and blue swirlies. :) The strings should be NULL terminated for the string ops. It makes more sense to NULL one byte than 1024. If the full SMBUFSZ bytes are desired, then bump the array for the NULL byte. --Mark. From sandeen@sandeen.net Mon Jun 9 15:58:26 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 20E417F60 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 15:58:26 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id EFCA88F8059 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 13:58:22 -0700 (PDT) X-ASG-Debug-ID: 1402347496-04cb6c78c31343d0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id OotaFIFCe0j0baFT for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 13:58:16 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 27431602D715; Mon, 9 Jun 2014 15:58:16 -0500 (CDT) Message-ID: <53961FE7.3050607@sandeen.net> Date: Mon, 09 Jun 2014 15:58:15 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, Eric Sandeen <sandeen@redhat.com> CC: xfs-oss <xfs@oss.sgi.com> Subject: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() References: <5390F89C.2050305@redhat.com> <20140605235633.GC4453@dastard> <53910482.1030909@redhat.com> <20140606014256.GD4453@dastard> <53912D1F.6010609@sandeen.net> X-ASG-Orig-Subj: Re: [PATCH] xfs_mdrestore: initialize sb prior to xfs_sb_from_disk() In-Reply-To: <53912D1F.6010609@sandeen.net> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402347496 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6514 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/5/14, 9:53 PM, Eric Sandeen wrote: > On 6/5/14, 8:42 PM, Dave Chinner wrote: >> On Thu, Jun 05, 2014 at 07:00:02PM -0500, Eric Sandeen wrote: >>> On 6/5/14, 6:56 PM, Dave Chinner wrote: >>>> On Thu, Jun 05, 2014 at 06:09:16PM -0500, Eric Sandeen wrote: >>> >>> ... >>> >>>>> But ... should we maybe just do this once and for all in >>>>> xfs_sb_from_disk? I'm not sure leaving it up to every >>>>> caller is a good idea, unless somebody ahs a reason to >>>>> pre-populate some fields - I can't imagine why that would >>>>> be, though... >>>> >>>> We don't ever read in the CRC field into the in-memory structures >>>> because it has no meaning in memory. Simiarly, we don't ever write >>>> the CRC field from the in-core structure because we always >>>> re-calculate it in the IO path if CRCs are configured. That is >>>> consistent behaviour across the entire code-base. But as you say in userspace, this libxfs_sb_to_disk(buf, sbp, XFS_SB_ALL_BITS) *does* write it. kernelspace does the same here: 0 xfs_fsops.c xfs_growfs_data_private 520 xfs_sb_to_disk(XFS_BUF_TO_SBP(bp), &mp->m_sb, XFS_SB_ALL_BITS); >>> <snip stuff> >>> >>>> Perhaps we should move the memset() to within xfs_sb_from_disk() >>>> to make this explicit? >>> >>> Yes, that's what I meant by "this" in "do this once and for all" - >>> sorry, that wasn't clear. memset(0) in xfs_sb_from_disk(). >> >> I didn't read it clearly. my fault. >> >>> Yeah, the more I think about it, the more I think that's probably >>> the obviously correct thing to do. > > Actually, a memset() seems like overkill - every field except > sb_crc is explicitly filled in in the function. > > Maybe better to just set sb_crc to 0, with a comment as to why? > I think I'll whip that one up. But now I realize we do sometimes write the in-memory value to disk, as seen above. Backing up - shouldn't we just go ahead and read/write it from/to disk just like every other field, at least in the cases where we are writing all, and when we are reading (which always reads all)? -Eric From sandeen@sandeen.net Mon Jun 9 16:31:04 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 50F2A7F66 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 16:31:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 3D1678F806F for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 14:31:00 -0700 (PDT) X-ASG-Debug-ID: 1402349459-04cb6c78c61353c0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id gVP7wGHvmIIbx9DQ for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 14:30:59 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 20B9B602D715; Mon, 9 Jun 2014 16:30:59 -0500 (CDT) Message-ID: <53962792.6040000@sandeen.net> Date: Mon, 09 Jun 2014 16:30:58 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen <sandeen@redhat.com>, xfs-oss <xfs@oss.sgi.com> Subject: [PATCH V2] xfs: fix crc field handling in xfs_sb_to/from_disk References: <5390F89C.2050305@redhat.com> X-ASG-Orig-Subj: [PATCH V2] xfs: fix crc field handling in xfs_sb_to/from_disk In-Reply-To: <5390F89C.2050305@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402349459 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6515 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I discovered this in userspace, but the same change applies to the kernel. If we xfs_mdrestore an image from a non-crc filesystem, lo and behold the restored image has gained a CRC: # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 crc = 0 (correct) # xfs_db -c "sb 0" -c "p crc" test.img crc = 0xb6f8d6a0 (correct) This is because xfs_sb_from_disk doesn't fill in sb_crc, but xfs_sb_to_disk(XFS_SB_ALL_BITS) does write the in-memory CRC to disk - so we get uninitialized memory on disk. Fix this by always initializing sb_crc to 0 when we read the superblock, and masking out the CRC bit from ALL_BITS when we write it. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- diff --git a/fs/xfs/xfs_sb.c b/fs/xfs/xfs_sb.c index 8baf61a..d2ccb2e 100644 --- a/fs/xfs/xfs_sb.c +++ b/fs/xfs/xfs_sb.c @@ -450,6 +450,8 @@ xfs_sb_from_disk( to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat); to->sb_features_log_incompat = be32_to_cpu(from->sb_features_log_incompat); + /* crc is only used on disk, not in memory; just init to 0 here. */ + to->sb_crc = 0; to->sb_pad = 0; to->sb_pquotino = be64_to_cpu(from->sb_pquotino); to->sb_lsn = be64_to_cpu(from->sb_lsn); @@ -527,6 +529,9 @@ xfs_sb_to_disk( if (!fields) return; + /* We should never write the crc here, it's updated in the IO path */ + fields &= ~XFS_SB_CRC; + xfs_sb_quota_to_disk(to, from, &fields); while (fields) { f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields); From dgc@oss.sgi.com Mon Jun 9 16:50:24 2014 Return-Path: <dgc@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 4ADF029DF8; Mon, 9 Jun 2014 16:50:24 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-da-geom, updated. xfs-for-linus-3.15-rc6-75-g35f46c5 X-Git-Refname: refs/heads/xfs-da-geom X-Git-Reftype: branch X-Git-Oldrev: b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5 X-Git-Newrev: 35f46c5f04cc7c45ce59d3ba4c28ba138184414b Message-Id: <20140609215024.4ADF029DF8@oss.sgi.com> Date: Mon, 9 Jun 2014 16:50:23 -0500 (CDT) 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, xfs-da-geom has been updated 35f46c5 xfs: fix xfs_da_args sparse warning in xfs_readdir from b2a21e7a6bfa6aa1b712fb6167d37a96f332d3d5 (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 35f46c5f04cc7c45ce59d3ba4c28ba138184414b Author: Dave Chinner <dchinner@redhat.com> Date: Tue Jun 10 07:30:36 2014 +1000 xfs: fix xfs_da_args sparse warning in xfs_readdir The kbuild test robot reported: >> fs/xfs/xfs_dir2_readdir.c:672:41: sparse: Using plain integer as NULL pointer Fix it. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_dir2_readdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Mon Jun 9 16:51:46 2014 Return-Path: <dgc@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 6F33A29DF8; Mon, 9 Jun 2014 16:51:46 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. xfs-for-linus-3.15-rc6-95-g7691283 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: 1d2378a4e89bcef25f3800ef00b94cd07069c876 X-Git-Newrev: 7691283d0561a350b7517be94818669fb5e3d910 Message-Id: <20140609215146.6F33A29DF8@oss.sgi.com> Date: Mon, 9 Jun 2014 16:51:46 -0500 (CDT) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated discards 1d2378a4e89bcef25f3800ef00b94cd07069c876 (commit) discards 8cd56740f64b10fb75aba326cf188282970eee5b (commit) 7691283 Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next 8612c7e Merge branch 'xfs-da-geom' into for-next 35f46c5 xfs: fix xfs_da_args sparse warning in xfs_readdir from 1d2378a4e89bcef25f3800ef00b94cd07069c876 (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 7691283d0561a350b7517be94818669fb5e3d910 Merge: 8612c7e 3026511 Author: Dave Chinner <david@fromorbit.com> Date: Tue Jun 10 07:32:56 2014 +1000 Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next commit 8612c7e594808e4a67bc2d4661f5925df2be3f51 Merge: b70f14e 35f46c5 Author: Dave Chinner <david@fromorbit.com> Date: Tue Jun 10 07:32:41 2014 +1000 Merge branch 'xfs-da-geom' into for-next ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_dir2_readdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- XFS development tree From david@fromorbit.com Mon Jun 9 17:33:31 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 6426C7F6B for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 17:33:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 14CDEAC00A for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 15:33:27 -0700 (PDT) X-ASG-Debug-ID: 1402353202-04bdf05669139990001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 0IsI3e3Dk07Jmo29 for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 15:33:22 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtB0ADY1llN5LGMPPGdsb2JhbABZgw2DRoUIoz4BAQEBAQEGBZodFwQBAQEBODWEYDskNAUlAwctiEGbM65TFoVHiCyEFYEWBJoglxQr Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 10 Jun 2014 08:03:21 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1Wu880-0004nI-2I for xfs@oss.sgi.com; Tue, 10 Jun 2014 08:33:20 +1000 Date: Tue, 10 Jun 2014 08:33:20 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140609223320.GE9508@dastard> X-ASG-Orig-Subj: [DISCUSS] Planning for new dev cycle (3.17) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="cWoXeonUoKmBZSoM" Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402353202 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6516 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --cWoXeonUoKmBZSoM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi everyone, Now that the 3.16 dev cycle has drawn to a close (one more linux-next build and I'll tag for-next and send a pull request), it's time to look ahead for the next couple of months. I think the current major pieces of work that are currently outstanding are these: - Jeff's bulkstat rework - Brian's EOF prealloc scanning - Namjae's FALLOC_FL_INSERT_RANGE work - Eric's XFS_ERROR() macro removal and return () cleanup. There's also two major pieces of infrastructure work I'd like to get done: - convert XFS to negative error returns - restructure code to have a fs/xfs/libxfs structure similar to userspace Because Eric's XFS_ERROR removal touches the entire codebase, as does the negative error return and the libxfs restructuring, I'd like to get these done first and base the rest of the dev cycle work on top of that. Eric's patches just need a minor rebase and the libxfs restructure needs some makefile rework and review and they should be good to go. The issue is the negative error number patchset, and how to handle review and testing. The patchset is already 62 patches long and it converts roughly half the code base. It'll take me another couple of days to convert the rest of the code, and that will probably take another 60 patches. I understand that reviewing 100+ patches is going to be a pain, but each patch currently averages about +/- 10 lines. The current diffstat is: 37 files changed, 723 insertions(+), 722 deletions(-) And that will probably double, so it's still going to be a fair amount of change. So the big question is how do we handle the review side of things. I think testing won't be a huge issue because of the time we have in the cycle (a couple of months to the 3.17 merge, and then a couple more months in the 3.17-rcX cycle) to find and catch regressions, but I'd like to know what people think about the best way to review this change will be. I'm happy for people to say "no, we need to review it patch by patch, so delay it for a cycle while we work through it", but I'm also happy for a "apply it all and look at error sources and inversion points for problems". The second is probably easier, as there will be very few remaining inversion points (only embedded errors in ioctl structures, I think) and all error sources should be negated at their definition and hence any error value (E* values) that are not defined as "-E*" is likely to be an mistake.... I'll be spending the next couple of days finishing this all off, so once it is done I can focus on review and bug fixes for the rest of the 3.17 dev cycle. That allows me to concentrate on a xfsprogs 3.2.1 release, subsequent userspace libxfs resync with the new kernel structure, and starting to work on some of the smart block device concepts I've been talking about recently.... These are not concrete plans - just what I'd *like* to do in the next couple of months. Reality is bound to mess up any plans I have, so I figure I mays as well mess them up straight away.... Cheers, Dave. --=20 Dave Chinner david@fromorbit.com --cWoXeonUoKmBZSoM Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBAgAGBQJTljYvAAoJEK3oKUf0dfodIlIP/10LhZYLfrpobEb9QDW/7D1y ETu5WtbrB7mA5F0ZFxV7LltK3GPYKw3bPw7EqdUEHYiHsxPAY2PtIs/cRReU9zaU 9ZcuFsWpNYYs3/HvcmwpAfQEdy/RSsfWXx5x7LGJeyPFf3EM/qTpMT6xTseUifC6 X6dZdu79RN9AdUprmwNCR9SBVSZ8tNRNgXoyJUgxvM2y964hc79mCpdghYn4NkvN AxEVBTPFdtPe8HsMMwvEY7YapyZ28571JbJts7ksq/g64IoV+BcYw6DtfEhfQQ+s JbwngujjK3mEWRM39jnsysPyY2AAgzpBMuAryLEqgO+AyBB+jfFGwvkzKhrlJegO a7PKN1NFubhH1DkFBvPc/NG8Nh0g8tRjh/jQjaG6fDqLbfVH7YtnNQOZOKBzCoNO Gtpbkfu+HE0Hf0wTBgLmJNvyXipx8mftdJri8QrJHsKH0/FeceF9o4s24pj1xXpe RD+PeG7nZubFwVTeDRppQMOMd6Gu99vKVutWiBF4GLf6iem5/CU6zItzGvLtYsQQ AqOmn+BkwP4nmb9CT8R4TLuwmXCS2nde1cE4eFwCXqCCVuNkZU71D8TPP3yjGYk7 bRPoA/IdF4CxDJwwaYm/88uYCjQzAtMOCjuUgR/sUykH1TMFNL3sXS/iuoxS5Gmv DmAwADVqamiea1CshrQs =o8It -----END PGP SIGNATURE----- --cWoXeonUoKmBZSoM-- From david@fromorbit.com Mon Jun 9 20:21:57 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id B0E0A7F66 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 20:21:57 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 829A330407B for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 18:21:57 -0700 (PDT) X-ASG-Debug-ID: 1402363311-04bdf05668140070001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id r91jbPcriUuIv9tU for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 18:21:52 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ahx0AFlcllN5LGMPPGdsb2JhbABZgw2DRoUIoz8BAQEBAQEGmRABgQ4XBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcorFxaFR4kPB4RBBJoglxQr Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 10 Jun 2014 10:51:51 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WuAl3-0005Nu-3p; Tue, 10 Jun 2014 11:21:49 +1000 Date: Tue, 10 Jun 2014 11:21:49 +1000 From: Dave Chinner <david@fromorbit.com> To: Brian Foster <bfoster@redhat.com> Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection Message-ID: <20140610012149.GH4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection References: <1402060483-22195-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060483-22195-1-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402363311 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6521 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:14:43AM -0400, Brian Foster wrote: > Changes in the XFS logging code have lead to small leaks in the log > grant heads that consume log space slowly over time. Such problems have > gone undetected for an unnecessarily long time due to code complexity > and potential for very subtle problems. Losing only a few bytes per > logged item on a reasonably large enough fs (10s of GB) means only the > most continuously stressful workloads will cause a severe enough failure > (deadlock due to log reservation exhaustion) quickly enough to indicate > something is seriously wrong. > > Recent changes in XFS export the state of the various log heads through > sysfs to aid in userspace/runtime analysis of the log. This test runs a > workload against an XFS filesystem, quiesces the fs and verifies that > the log reserve and write grant heads have not leaked any space with > respect to the current head of the physical log. > > Signed-off-by: Brian Foster <bfoster@redhat.com> > --- .... > > +# Determine the system device name for a particular block device. The device > +# name is how the block dev is referenced under sysfs. > +_get_device_name() > +{ > + devpath=$1 > + > + # check for a symlink (i.e., device mapper) > + if [ -L $devpath ] > + then > + devpath=`readlink -f $devpath` > + fi > + > + # grab the major minor and convert from hex to decimal > + major=$((0x`stat -c %t $devpath`)) > + minor=$((0x`stat -c %T $devpath`)) > + > + # refer to sysfs by major minor > + basename `readlink /sys/dev/block/$major:$minor` > +} $ basename `readlink -f /dev/mapper/vg0-home` dm-2 $ basename `readlink /sys/dev/block/253:2` dm-2 Why is _short_dev() not sufficient? > +# Use the information exported by XFS to sysfs to determine whether the log has > +# active reservations after a filesystem freeze. > +_check_scratch_log_state() > +{ > + devname=`_get_device_name $SCRATCH_DEV` > + attrpath="/sys/fs/xfs/$devname/log" > + > + # freeze the fs to ensure data is synced and the log is flushed. this > + # means no outstanding transactions, and thus no outstanding log > + # reservations, should exist > + xfs_freeze -f $SCRATCH_MNT > + > + # the log head is exported in basic blocks and the log grant heads in > + # bytes. convert the log head to bytes for precise comparison > + log_head_cycle=`cat $attrpath/log_head_lsn | awk -F : '{ print $1 }'` > + log_head_bytes=`cat $attrpath/log_head_lsn | awk -F : '{ print $2 }'` awk can read files directly: log_head_cycle=`awk -F : '{ print $1 }' $attrpath/log_head_lsn` > + log_head_bytes=$((log_head_bytes * 512)) > + > + for attr in "reserve_grant_head" "write_grant_head" > + do > + cycle=`cat $attrpath/$attr | awk -F : '{ print $1 }'` > + bytes=`cat $attrpath/$attr | awk -F : '{ print $2 }'` > + > + if [ $cycle != $log_head_cycle ] || > + [ $bytes != $log_head_bytes ] > + then > + echo "$attr ($cycle:$bytes) does not match" \ > + "log_head_lsn ($log_head_cycle:$log_head_bytes)," \ > + "possible leak detected." > + else > + echo "$attr matches log_head_lsn" > + fi > + done > + > + xfs_freeze -u $SCRATCH_MNT > +} > + > +# real QA test starts here > +_supported_fs xfs > +_supported_os Linux > + > +_require_scratch > +_require_freeze > + > +if [ ! -e /sys/fs/xfs ] > +then > + _notrun "no kernel support for XFS sysfs attributes" > +fi _requires_xfs_sysfs > + > +rm -f $seqres.full > + > +_scratch_mkfs_xfs | _filter_mkfs 2>> $seqres.full > +_scratch_mount > + > +_check_scratch_log_state > + > +$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -n 1000 -p 2 -S t \ > + >> $seqres.full 2>&1 > + > +_check_scratch_log_state wouldn't it be better to run fsstress as a background process and do several freeze/check/thaw cycles on a running workload? > + > +umount $SCRATCH_MNT > +_check_scratch_fs > + > +status=0 > +exit > diff --git a/tests/xfs/011.out b/tests/xfs/011.out > new file mode 100644 > index 0000000..a3f3805 > --- /dev/null > +++ b/tests/xfs/011.out > @@ -0,0 +1,11 @@ > +QA output created by 011 > +meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks > +data = bsize=XXX blocks=XXX, imaxpct=PCT > + = sunit=XXX swidth=XXX, unwritten=X > +naming =VERN bsize=XXX > +log =LDEV bsize=XXX blocks=XXX > +realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX Any particular reason for dumping the filtered mkfs information here? It won't ever cause a test failure unless we break _filter_mkfs... > +reserve_grant_head matches log_head_lsn > +write_grant_head matches log_head_lsn > +reserve_grant_head matches log_head_lsn > +write_grant_head matches log_head_lsn > diff --git a/tests/xfs/group b/tests/xfs/group > index 19fd968..99bf0e1 100644 > --- a/tests/xfs/group > +++ b/tests/xfs/group > @@ -8,6 +8,7 @@ > 008 rw ioctl auto quick > 009 rw ioctl auto prealloc quick > 010 auto quick repair > +011 auto quick freeze log and metadata, too. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Jun 9 21:06:35 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 09FA129DFA for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 21:06:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id C486B8F8074 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 19:06:31 -0700 (PDT) X-ASG-Debug-ID: 1402365988-04bdf05666141980001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id g0eYCGaty1y2Qx5K for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 19:06:29 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ahx0ABtnllN5LGMPPGdsb2JhbABZgw2DRoUIo0ABAQEBAQEGmRABgQwXBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcouFxaFR4g4Ck0HhEEElheECZVCgVIrgTE Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 10 Jun 2014 11:36:28 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WuBSE-0005VW-Fm; Tue, 10 Jun 2014 12:06:26 +1000 Date: Tue, 10 Jun 2014 12:06:26 +1000 From: Dave Chinner <david@fromorbit.com> To: Brian Foster <bfoster@redhat.com> Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-ID: <20140610020626.GK4453@dastard> X-ASG-Orig-Subj: Re: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT References: <1401807238-59437-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401807238-59437-1-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402365988 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6522 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 03, 2014 at 10:53:58AM -0400, Brian Foster wrote: > XFS can allocate significant amounts of space to files via speculative > preallocation. Such preallocation may not be reclaimed automatically on > file close() if a file is repeatedly opened and extended. For smaller > filesystems with relatively large and slow growing files, this > preallocation can linger for some time, including contributing to out of > space conditions. > > Create a situation where an fs is near out of space while several files > still have lingering, significant preallocations. Verify that new > writers reclaim the preallocated space rather than return ENOSPC. Repeat > a similar test for quota limits and EDQUOT. > > Signed-off-by: Brian Foster <bfoster@redhat.com> Couple of minor things. > +# Create a file using a repeated open, extending write and close pattern. This > +# causes the preallocation to persist after the file is closed. Preallocation > +# will not be reclaimed unless the inode is evicted or we hit an allocation > +# failure. > +_spec_prealloc_file() > +{ > + file=$1 > + > + rm -f $file > + > + # a few file extending open-write-close cycles should be enough to > + # trigger the fs to retain preallocation. write 256k in 32k intervals to > + # be sure > + for i in $(seq 0 32768 262144) > + do for .... ; do > + $XFS_IO_PROG -fc "pwrite $i 32k" $file | \ > + _filter_xfs_io >> $seqres.full > + done If you are dumping the output into $seqres.full, then it doesn't need to be filtered. Filtering is only necessary for golden image matching; $seqres.full is for debug output and so should be pristine... Also, I prefer $XFS_IO_PROG -f -c "..." (separate -c "...") because the -c arg must be followed by the command and so order is important... > + # write a 4k aligned amount of data to keep the calculations simple > + $XFS_IO_PROG -c "pwrite 0 128m" $file | _filter_xfs_io >> $seqres.full > + > + size=`stat -c "%s" $file` > + blocks=`stat -c "%b" $file` > + blocksize=`stat -c "%B" $file` > + > + prealloc_size=$((blocks * blocksize - size)) > + if [ $prealloc_size -eq 0 ] > + then if [ ... ]; then > + echo "Warning: No speculative preallocation for $file." \ > + "Check use of the allocsize= mount option." > + fi > + > + # keep a running total of how much preallocation we've created > + TOTAL_PREALLOC=$((TOTAL_PREALLOC + prealloc_size)) > +} > + > +_consume_free_space() > +{ > + dir=$1 > + > + # calculate the rough amount of free space in MB > + fsblocksize=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bsize | \ > + awk '{ print $3 }'` > + blocksavail=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bavail | \ > + awk '{ print $3 }'` > + freesp=$((fsblocksize * blocksavail / 1024 / 1024)) > + > + # allocate all but 10MB > + freesp=$((freesp - 10)) freesp=`$DF_PROG -m $dir | awk '/^\// { print $4 - 10 }'` > + $XFS_IO_PROG -fc "falloc 0 ${freesp}M" $dir/spc > +} > + > +# Create several files with preallocation and consume the remaining free space > +# via fallocate to the put the fs at ENOSPC. Create a set of background writers > +# to write into ENOSPC and cause the preallocation to be reclaimed and > +# reallocated to the new writers. > +_test_enospc() > +{ > + dir=$1 > + > + rm -rf $dir/* > + > + TOTAL_PREALLOC=0 > + for i in $(seq 0 3) > + do for (); do > + _spec_prealloc_file $dir/pre$i > + done > + > + _consume_free_space $dir > + > + # consume 1/2 of the current preallocation across the set of 4 writers > + write_size=$((TOTAL_PREALLOC / 2 / 4)) > + for i in $(seq 0 3) > + do > + $XFS_IO_PROG -fc "pwrite 0 $write_size" $dir/file.$i | \ > + _filter_xfs_io >> $seqres.full & no filter, for (); do > + done > + > + wait > +} > + > +# Create preallocations accounted by both user and group quotas. Set the > +# associated quota hard limits to put them at EDQUOT. Verify that a new writer > +# reclaims the preallocated space and proceeds without error. > +_test_edquot() > +{ > + dir=$1 > + > + rm -rf $dir/* > + > + TOTAL_PREALLOC=0 > + _spec_prealloc_file $dir/user > + chown $qa_user $dir/user > + > + _spec_prealloc_file $dir/group > + chgrp $qa_group $dir/group > + > + # writing to a file under both quotas means both will be reclaimed on > + # allocation failure > + touch $dir/file > + chown $qa_user $dir/file > + chgrp $qa_group $dir/file > + > + # put both quotas at EDQUOT > + blks=`$XFS_QUOTA_PROG -xc "quota -u $qa_user" $dir | \ > + tail -n 1 | awk '{ print $2 }'` > + $XFS_QUOTA_PROG -xc "limit -u bhard=${blks}k $qa_user" $dir > + blks=`$XFS_QUOTA_PROG -xc "quota -g $qa_grup" $dir | \ > + tail -n 1 | awk '{ print $2 }'` > + $XFS_QUOTA_PROG -xc "limit -g bhard=${blks}k $qa_group" $dir > + > + # each quota has a single file worth of preallocation to reclaim. leave > + # some wiggle room and write to 1/3 the total. > + write_size=$((TOTAL_PREALLOC / 3)) > + $XFS_IO_PROG -c "pwrite 0 $write_size" $dir/file | \ > + _filter_xfs_io >> $seqres.full no filter. > +} > + > +# real QA test starts here > +_supported_fs xfs > +_supported_os Linux > + > +_require_scratch > +_require_xfs_io_command "falloc" > +_require_loop > +_require_quota > +_require_user > +_require_group > + > +rm -f $seqres.full > + > +_scratch_mkfs_xfs | _filter_mkfs >> $seqres.full 2>&1 > +_scratch_mount > + > +# make sure the background eofblocks scanner doesn't interfere > +orig_sp_time=`cat /proc/sys/fs/xfs/speculative_prealloc_lifetime` > +echo 9999 > /proc/sys/fs/xfs/speculative_prealloc_lifetime > + > +LOOP_FILE=$SCRATCH_MNT/$seq.fs > +LOOP_MNT=$SCRATCH_MNT/$seq.mnt > + > +$MKFS_XFS_PROG -d "file=1,name=$LOOP_FILE,size=$((1024*1024*1024 * 10))" | \ > + _filter_mkfs >> $seqres.full 2>&1 mkfs takes "size=10g" as a valid size. > +mkdir -p $LOOP_MNT > +mount -t xfs -o loop,uquota,gquota $LOOP_FILE $LOOP_MNT || \ > + _fail "Failed to mount loop fs." > + > +_test_enospc $LOOP_MNT > +_test_edquot $LOOP_MNT > + > +umount $LOOP_MNT > + > +echo $orig_sp_time > /proc/sys/fs/xfs/speculative_prealloc_lifetime > + > +umount $SCRATCH_MNT > +_check_scratch_fs > + > +status=0 > +exit > diff --git a/tests/xfs/014.out b/tests/xfs/014.out > new file mode 100644 > index 0000000..a825535 > --- /dev/null > +++ b/tests/xfs/014.out > @@ -0,0 +1 @@ > +QA output created by 014 The test writes nothing to the output file? Perhaps it should indicate that (silence is golden....).... Cheers, Dave. -- Dave Chinner david@fromorbit.com From mlsemon35@gmail.com Mon Jun 9 22:21:12 2014 Return-Path: <mlsemon35@gmail.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 450F17F58 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 22:21:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2E4418F8037 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 20:21:09 -0700 (PDT) X-ASG-Debug-ID: 1402370464-04cbb07528146370001-NocioJ Received: from mail-yk0-f177.google.com (mail-yk0-f177.google.com [209.85.160.177]) by cuda.sgi.com with ESMTP id ycmEmLVAGeAmWDbG (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 20:21:04 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.177 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.177] Received: by mail-yk0-f177.google.com with SMTP id 10so2590030ykt.8 for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 20:21:04 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.177] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.177] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=66Y31Il1q6/NDZ4aLC9cnuzoX9SCFygT/dOIBO9XWSA=; b=HZd+u6hR5Mf9+w5Z5ZgGGHKU3DIKA1ZQpTXCcpSOKMmce0RMqJbw5AdeGPl0TbPANd sxKu1uCqdcjG6taCOQTs3/cQugoaJTj38Gg5q8eIlkzNCeT4wMFYO++WC8506IhSuv/X gVLBYVQCEvicKNuozu49jbiBeU2IiC3qeCJwDDOGj4U7kn2lP/a7kazgMG5EL5fI6TBP aWnNiIXQlNZiKp1x904znGY0ni/10eldI6z9oH0P5GElmhUcfEGWLfyEJ+QpBi99PM2O tUboSJJ0tNTirAk5XrCpZAgs0DQTL7Q0EZQGazsv17CKuu2e0ts2sAByeXvHBn4+B4q3 T6fQ== X-Received: by 10.236.160.67 with SMTP id t43mr20764219yhk.11.1402370464179; Mon, 09 Jun 2014 20:21:04 -0700 (PDT) Received: from [192.168.0.129] (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id w36sm15127696yhn.4.2014.06.09.20.21.03 for <xfs@oss.sgi.com> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 09 Jun 2014 20:21:03 -0700 (PDT) Message-ID: <5396799F.3050801@gmail.com> Date: Mon, 09 Jun 2014 23:21:03 -0400 From: "Michael L. Semon" <mlsemon35@gmail.com> User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: xfs-oss <xfs@oss.sgi.com> Subject: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-yk0-f177.google.com[209.85.160.177] X-Barracuda-Start-Time: 1402370464 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6523 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hi! I've been running around in circles trying to work with too many ACLs, even losing my ability to count for a while. Along the way, xfs_repair from git xfsprogs (last commit around May 27) is showing the following symptoms: On v5-superblock XFS... 1) When the ACL count is just above the limit from v4-superblock XFS-- 96 is a good test figure--`xfs_repair -n` and `xfs_repair` will both end in a segmentation fault. 2) When the ACL count is in a higher range--as low as 250, IIRC-- xfs_repair will complain about "Too many ACL entries" and proceed to remove them. Below is a full session: root@oldsvrhw:~# mkfs.xfs -f -m crc=1 $SCRATCH_DEV meta-data=/dev/sdb5 isize=512 agcount=4, agsize=786432 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 data = bsize=4096 blocks=3145728, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 root@oldsvrhw:~# mount $SCRATCH_DEV $SCRATCH_MNT root@oldsvrhw:~# mkdir $SCRATCH_MNT/acl-dir root@oldsvrhw:~# for a in `seq 1000 1325`; do setfacl -d -m u:$a:r-- $SCRATCH_MNT/acl-dir; done root@oldsvrhw:~# sync root@oldsvrhw:~# umount $SCRATCH_MNT root@oldsvrhw:~# xfs_repair -n $SCRATCH_DEV Phase 1 - find and verify superblock... Phase 2 - using internal log - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 Too many ACL entries, count 330 entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT remote attribute value check failed for entry 0, inode 67 problem with attribute contents in inode 67 would clear attr fork bad nblocks 2 for inode 67, would reset to 0 bad anextents 1 for inode 67, would reset to 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 No modify flag set, skipping phase 5 Phase 6 - check inode connectivity... - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify link counts... No modify flag set, skipping filesystem flush and exiting. root@oldsvrhw:~# xfs_repair $SCRATCH_DEV Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 Too many ACL entries, count 330 entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT remote attribute value check failed for entry 0, inode 67 problem with attribute contents in inode 67 clearing inode 67 attributes correcting nblocks for inode 67, was 2 - counted 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 bad attribute format 1 in inode 67, resetting value - agno = 1 - agno = 2 - agno = 3 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... done root@oldsvrhw:~# mount $SCRATCH_DEV $SCRATCH_MNT root@oldsvrhw:~# getfacl $SCRATCH_MNT/acl-dir getfacl: Removing leading '/' from absolute path names # file: mnt/xfstests-scratch/acl-dir # owner: root # group: root user::rwx group::r-x other::r-x 3) When the ACL count is at the max for v5-superblock XFS--at least with both regular and default ACL slots filled--xfs_repair will complain of corrupt remote attributes. AFAIK, xfs_repair doesn't bother with the "Too many ACL entries" line. Those ACLs will be cleansed, too. I can't tell if this is due to one missed check or three different tiny issues. ACLs seem to be OK when doing normal filesystem operations and using setfacl and getfacl. No kernel stack traces have been seen on this path of testing. Sorry I missed this one in all of my limits testing. This was discovered when I saw a bug in my ACL population script and hit Ctrl-c so I could stop and edit the script. Donations of brown paper bags are welcome...the plastic bags I'm using make it hard to breathe and don't hide my face very well... Test PC was a Pentium III, 733 MHz, 512 MB of RAM, running kernel 3.15.0-rc8 + xfs-oss/for-next, on Slackware 14.1. Thanks! Michael From david@fromorbit.com Tue Jun 10 00:53:04 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5E0507F66 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 00:53:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 566888F8087 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 22:53:04 -0700 (PDT) X-ASG-Debug-ID: 1402379577-04cbb0752814c140001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 7sUzeMy1RrzLJJgr for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 22:52:58 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiF0AOebllN5LGMPPGdsb2JhbABZgw2DRoUIo0EBAQEBAQEGmRABgQwXBAEBAQE4NYQDAQEEAScTHCMFCwgDFQMJJQ8FDRgDBxoTiC4DCQfFCg2FRxcWhUeGbYFKAVcHgyuBFgSYJ4F5iymCJIlHK4EwAQEeBg Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Jun 2014 15:22:56 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WuEzO-0005wp-Gu; Tue, 10 Jun 2014 15:52:54 +1000 Date: Tue, 10 Jun 2014 15:52:54 +1000 From: Dave Chinner <david@fromorbit.com> To: "Michael L. Semon" <mlsemon35@gmail.com> Cc: xfs-oss <xfs@oss.sgi.com> Subject: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits Message-ID: <20140610055254.GF9508@dastard> X-ASG-Orig-Subj: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits References: <5396799F.3050801@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5396799F.3050801@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1402379577 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6524 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email On Mon, Jun 09, 2014 at 11:21:03PM -0400, Michael L. Semon wrote: > Hi! I've been running around in circles trying to work with too many > ACLs, even losing my ability to count for a while. Along the way, > xfs_repair from git xfsprogs (last commit around May 27) is showing > the following symptoms: > > On v5-superblock XFS... > > 1) When the ACL count is just above the limit from v4-superblock XFS-- > 96 is a good test figure--`xfs_repair -n` and `xfs_repair` will both > end in a segmentation fault. I couldn't reproduce this - I suspect that this is a problem with the ACL struct having a hardcoded array size or userspace not having the correct padding in the on-disk structure definition and you are on a 32bit system. I think I've fixed that in the patch below. > > 2) When the ACL count is in a higher range--as low as 250, IIRC-- > xfs_repair will complain about "Too many ACL entries" and proceed to > remove them. Below is a full session: Yup, never been taught about the expanded ACL count. I didn't even realised that repair validated acls directly... > > root@oldsvrhw:~# mkfs.xfs -f -m crc=1 $SCRATCH_DEV > meta-data=/dev/sdb5 isize=512 agcount=4, agsize=786432 blks > = sectsz=512 attr=2, projid32bit=1 > = crc=1 finobt=0 > data = bsize=4096 blocks=3145728, imaxpct=25 > = sunit=0 swidth=0 blks > naming =version 2 bsize=4096 ascii-ci=0 ftype=1 > log =internal log bsize=4096 blocks=2560, version=2 > = sectsz=512 sunit=0 blks, lazy-count=1 > realtime =none extsz=4096 blocks=0, rtextents=0 > > root@oldsvrhw:~# mount $SCRATCH_DEV $SCRATCH_MNT > > root@oldsvrhw:~# mkdir $SCRATCH_MNT/acl-dir > > root@oldsvrhw:~# for a in `seq 1000 1325`; do setfacl -d -m u:$a:r-- $SCRATCH_MNT/acl-dir; done ..... Ok, I can reproduce that, and I've fixed it in the patch below. > 3) When the ACL count is at the max for v5-superblock XFS--at least > with both regular and default ACL slots filled--xfs_repair will > complain of corrupt remote attributes. AFAIK, xfs_repair doesn't > bother with the "Too many ACL entries" line. Those ACLs will be > cleansed, too. Ok, I see that, too: - agno = 0 Metadata corruption detected at block 0x190/0x1000 Corrupt remote block for attributes of inode 67 Ah, of course - there was an off-by-one in the remote attr max size validation that we fixed in the kernel. The kernel code hasn't been siynced to userspace yet. Ok, the patch below fixes that as well. Can you turn this into a new fstest so we don't break this accidentally again? Can you try the patch below? It should fix the problem you are seeing. > Sorry I missed this one in all of my limits testing. This was > discovered when I saw a bug in my ACL population script and hit > Ctrl-c so I could stop and edit the script. Donations of brown paper > bags are welcome...the plastic bags I'm using make it hard to breathe > and don't hide my face very well... We've all missed it, so pass the paper bags all around. To prevent this from happening again in future, can you wrap this all up in a new generic fstest that creates several different numbers of ACLs on a file and runs repair on the filesystem after each incremental increase in the number of ACLs? Thanks for the testing and the bug report, Michael! Cheers, Dave. -- Dave Chinner david@fromorbit.com repair: support more than 25 ACLs From: Dave Chinner <dchinner@redhat.com> v5 superblock supports many more than 25 ACLs on an inode, but xfs_repair still thinks that the maximum is 25. Fix it and update the ACL definitions to match the kernel definitions. Also fix the remote attr maximum size off-by-one that the maximum number of v5 ACLs tickles. Reported-by: Michael L. Semon <mlsemon35@gmail.com> Signed-off-by: Dave Chinner <dchinner@redhat.com> --- libxfs/xfs_attr_remote.c | 2 +- repair/attr_repair.c | 68 ++++++++++++++++++++++++++++++++---------------- repair/attr_repair.h | 46 +++++++++++++++++++++++--------- 3 files changed, 79 insertions(+), 37 deletions(-) diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c index 5cf5c73..08b983b 100644 --- a/libxfs/xfs_attr_remote.c +++ b/libxfs/xfs_attr_remote.c @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) return false; if (be32_to_cpu(rmt->rm_offset) + - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) return false; if (rmt->rm_owner == 0) return false; diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 5dd7e5f..5ff1647 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -25,7 +25,7 @@ #include "protos.h" #include "dir2.h" -static int xfs_acl_valid(xfs_acl_disk_t *daclp); +static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); static int xfs_mac_valid(xfs_mac_label_t *lp); /* @@ -734,11 +734,16 @@ verify_da_path(xfs_mount_t *mp, * If value is non-zero, then a remote attribute is being passed in */ static int -valuecheck(char *namevalue, char *value, int namelen, int valuelen) +valuecheck( + struct xfs_mount *mp, + char *namevalue, + char *value, + int namelen, + int valuelen) { /* for proper alignment issues, get the structs and memmove the values */ xfs_mac_label_t macl; - xfs_acl_t thisacl; + struct xfs_acl thisacl; void *valuep; int clearit = 0; @@ -746,13 +751,13 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) (strncmp(namevalue, SGI_ACL_DEFAULT, SGI_ACL_DEFAULT_SIZE) == 0)) { if (value == NULL) { - memset(&thisacl, 0, sizeof(xfs_acl_t)); - memmove(&thisacl, namevalue+namelen, valuelen); + memset(&thisacl, 0, sizeof(struct xfs_acl)); + memmove(&thisacl, namevalue + namelen, valuelen); valuep = &thisacl; } else valuep = value; - if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) { + if (xfs_acl_valid(mp, valuep) != 0) { clearit = 1; do_warn( _("entry contains illegal value in attribute named SGI_ACL_FILE " @@ -800,6 +805,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) */ static int process_shortform_attr( + struct xfs_mount *mp, xfs_ino_t ino, xfs_dinode_t *dip, int *repair) @@ -904,7 +910,7 @@ process_shortform_attr( /* Only check values for root security attributes */ if (currententry->flags & XFS_ATTR_ROOT) - junkit = valuecheck((char *)¤tentry->nameval[0], + junkit = valuecheck(mp, (char *)¤tentry->nameval[0], NULL, currententry->namelen, currententry->valuelen); @@ -1039,6 +1045,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, static int process_leaf_attr_local( + struct xfs_mount *mp, xfs_attr_leafblock_t *leaf, int i, xfs_attr_leaf_entry_t *entry, @@ -1076,7 +1083,7 @@ process_leaf_attr_local( /* Only check values for root security attributes */ if (entry->flags & XFS_ATTR_ROOT) { - if (valuecheck((char *)&local->nameval[0], NULL, + if (valuecheck(mp, (char *)&local->nameval[0], NULL, local->namelen, be16_to_cpu(local->valuelen))) { do_warn( _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"), @@ -1134,7 +1141,7 @@ process_leaf_attr_remote( i, ino); goto bad_free_out; } - if (valuecheck((char *)&remotep->name[0], value, remotep->namelen, + if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen, be32_to_cpu(remotep->valuelen))) { do_warn( _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"), @@ -1216,15 +1223,15 @@ process_leaf_attr_block( break; /* got an overlap */ } - if (entry->flags & XFS_ATTR_LOCAL) - thissize = process_leaf_attr_local(leaf, i, entry, + if (entry->flags & XFS_ATTR_LOCAL) + thissize = process_leaf_attr_local(mp, leaf, i, entry, last_hashval, da_bno, ino); else thissize = process_leaf_attr_remote(leaf, i, entry, last_hashval, da_bno, ino, mp, blkmap); if (thissize < 0) { - clearit = 1; + clearit = 1; break; } @@ -1608,15 +1615,19 @@ process_longform_attr( static int -xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) +xfs_acl_from_disk( + struct xfs_mount *mp, + struct xfs_icacl **aclp, + struct xfs_acl *dacl) { int count; - xfs_acl_t *acl; - xfs_acl_entry_t *ace; - xfs_acl_entry_disk_t *dace, *end; + int size; + struct xfs_icacl *acl; + struct xfs_icacl_entry *ace; + struct xfs_acl_entry *dace, *end; count = be32_to_cpu(dacl->acl_cnt); - if (count > XFS_ACL_MAX_ENTRIES) { + if (count > XFS_ACL_MAX_ENTRIES(mp)) { do_warn(_("Too many ACL entries, count %d\n"), count); *aclp = NULL; return EINVAL; @@ -1624,7 +1635,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) end = &dacl->acl_entry[0] + count; - acl = malloc((int)((char *)end - (char *)dacl)); + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); + if (size != (int)((char *)end - (char *)dacl)) { + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), + count, size, (int)((char *)end - (char *)dacl)); + *aclp = NULL; + return EINVAL; + } + + acl = malloc(sizeof(struct xfs_icacl) + + count * sizeof(struct xfs_icacl_entry)); if (!acl) { do_warn(_("cannot malloc enough for ACL attribute\n")); do_warn(_("SKIPPING this ACL\n")); @@ -1667,7 +1687,7 @@ process_attributes( if (aformat == XFS_DINODE_FMT_LOCAL) { ASSERT(be16_to_cpu(asf->hdr.totsize) <= XFS_DFORK_ASIZE(dip, mp)); - err = process_shortform_attr(ino, dip, repair); + err = process_shortform_attr(mp, ino, dip, repair); } else if (aformat == XFS_DINODE_FMT_EXTENTS || aformat == XFS_DINODE_FMT_BTREE) { err = process_longform_attr(mp, ino, dip, blkmap, @@ -1686,17 +1706,19 @@ process_attributes( * Validate an ACL */ static int -xfs_acl_valid(xfs_acl_disk_t *daclp) +xfs_acl_valid( + struct xfs_mount *mp, + struct xfs_acl *daclp) { - xfs_acl_t *aclp = NULL; - xfs_acl_entry_t *entry, *e; + struct xfs_icacl *aclp = NULL; + struct xfs_icacl_entry *entry, *e; int user = 0, group = 0, other = 0, mask = 0, mask_required = 0; int i, j; if (daclp == NULL) goto acl_invalid; - switch (xfs_acl_from_disk(&aclp, daclp)) { + switch (xfs_acl_from_disk(mp, &aclp, daclp)) { case ENOMEM: return 0; case EINVAL: diff --git a/repair/attr_repair.h b/repair/attr_repair.h index f42536a..0d0c62c 100644 --- a/repair/attr_repair.h +++ b/repair/attr_repair.h @@ -37,29 +37,49 @@ typedef __int32_t xfs_acl_type_t; typedef __int32_t xfs_acl_tag_t; typedef __int32_t xfs_acl_id_t; -typedef struct xfs_acl_entry { +/* + * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code, + * so they are magic names just for repair. The "acl" types are what the kernel + * code uses for the on-disk format names, so use them here too for the on-disk + * ACL format definitions. + */ +struct xfs_icacl_entry { xfs_acl_tag_t ae_tag; xfs_acl_id_t ae_id; xfs_acl_perm_t ae_perm; -} xfs_acl_entry_t; +}; -#define XFS_ACL_MAX_ENTRIES 25 -typedef struct xfs_acl { - __int32_t acl_cnt; - xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_t; +struct xfs_icacl { + __int32_t acl_cnt; + struct xfs_icacl_entry acl_entry[0]; +}; -typedef struct xfs_acl_entry_disk { +struct xfs_acl_entry { __be32 ae_tag; __be32 ae_id; __be16 ae_perm; -} xfs_acl_entry_disk_t; + __be16 ae_pad; +}; -typedef struct xfs_acl_disk { - __be32 acl_cnt; - xfs_acl_entry_disk_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_disk_t; +struct xfs_acl { + __be32 acl_cnt; + struct xfs_acl_entry acl_entry[0]; +}; +/* + * The number of ACL entries allowed is defined by the on-disk format. + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is + * limited only by the maximum size of the xattr that stores the information. + */ +#define XFS_ACL_MAX_ENTRIES(mp) \ + (xfs_sb_version_hascrc(&mp->m_sb) \ + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ + sizeof(struct xfs_acl_entry) \ + : 25) + +#define XFS_ACL_MAX_SIZE(mp) \ + (sizeof(struct xfs_acl) + \ + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) #define SGI_ACL_FILE "SGI_ACL_FILE" #define SGI_ACL_DEFAULT "SGI_ACL_DEFAULT" From dgc@oss.sgi.com Tue Jun 10 01:07:07 2014 Return-Path: <dgc@oss.sgi.com> X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 2E7CE7F6D; Tue, 10 Jun 2014 01:07:07 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, created. xfs-for-linus-3.15-rc6-858-gd12984e X-Git-Refname: refs/heads/xfs-libxfs-restructure X-Git-Reftype: branch X-Git-Oldrev: 0000000000000000000000000000000000000000 X-Git-Newrev: d12984ec02037de7af328580075ba1bb88272ffd Message-Id: <20140610060707.2E7CE7F6D@oss.sgi.com> Date: Tue, 10 Jun 2014 01:07:06 -0500 (CDT) 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, xfs-libxfs-restructure has been created at d12984ec02037de7af328580075ba1bb88272ffd (commit) - Log ----------------------------------------------------------------- commit d12984ec02037de7af328580075ba1bb88272ffd Author: Dave Chinner <dchinner@redhat.com> Date: Tue Jun 10 09:55:44 2014 +1000 libxfs: move source files Move all the source files that are shared with userspace into libxfs/. This is done as one big chunk simpy to get it done quickly Signed-off-by: Dave Chinner <dchinner@redhat.com> commit f212d6fcf5c1cc3a3980dd320804c1dfb9f49b75 Author: Dave Chinner <dchinner@redhat.com> Date: Tue Jun 10 09:34:14 2014 +1000 libxfs: move header files Move all the header files that are shared with userspace into libxfs. This is done as one big chunk simpy to get it done quickly. Signed-off-by: Dave Chinner <dchinner@redhat.com> commit e10404cf914273de8016d5992c7049bdb9a9a089 Author: Dave Chinner <dchinner@redhat.com> Date: Tue Jun 10 09:18:10 2014 +1000 xfs: create libxfs infrastructure To minimise the differences between kernel and userspace code, split the kernel code into the same structure as the userspace code. That is, the gneric core functionality of XFS is moved to a libxfs/ directory and treat it as a layering barrier in the XFS code. This patch introduces the libxfs directory, the build infrastructure and an initial source and header file to build. The libxfs directory will contain the header files that are needed to build libxfs - most of userspace does not care about the location of these header files as they are accessed indirectly. Hence keeping them inside libxfs makes it easy to track the changes and script the sync process as the directory structure will be identical. To allow this changeover to occur in the kernel code, there are some temporary infrastructure in the makefiles to grab the header filesystem from both locations. Once all the files are moved, modifications will be made in the source code that will make the need for these include directives go away. Signed-off-by: Dave Chinner <dchinner@redhat.com> commit f3a19b3ad85dcc4a073270e1fb594eff37709788 Author: Eric Sandeen <sandeen@sandeen.net> Date: Tue Jun 10 08:58:24 2014 +1000 xfs: Nuke XFS_ERROR macro XFS_ERROR was designed long ago to trap return values, but it's not runtime configurable, it's not consistently used, and we can do similar error trapping with ftrace scripts and triggers from userspace. Just nuke XFS_ERROR and associated bits. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit d5a6cda3cf2c0860543db26bb5df7ed4404f74cd Author: Eric Sandeen <sandeen@sandeen.net> Date: Tue Jun 10 08:55:14 2014 +1000 xfs: return is not a function return is not a function. "return(EIO);" is silly; "return (EIO);" moreso. return is not a function. Nuke the pointless parens. [dchinner: catch a couple of extra cases in xfs_attr_list.c, xfs_acl.c and xfs_linux.h.] Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com> commit 1a72690b705f8d0142108188f4a2d84367e51efb Merge: 1860e37 7691283 Author: Dave Chinner <david@fromorbit.com> Date: Tue Jun 10 08:48:28 2014 +1000 Merge branch 'for-next' into xfs-error-negate commit 1860e379875dfe7271c649058aeddffe5afd9d0d Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 8 11:19:54 2014 -0700 Linux 3.15 commit bb077d600689dbf9305758efed1e16775db1c84c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 8 10:09:49 2014 -0700 Revert "x86/smpboot: Initialize secondary CPU only if master CPU will wait for it" This reverts commit 3e1a878b7ccdb31da6d9d2b855c72ad87afeba3f. It came in very late, and already has one reported failure: Sitsofe reports that the current tree fails to boot on his EeePC, and bisected it down to this. Rather than waste time trying to figure out what's wrong, just revert it. Reported-by: Sitsofe Wheeler <sitsofe@gmail.com> Cc: Igor Mammedov <imammedo@redhat.com> Cc: Toshi Kani <toshi.kani@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit c593e8978722f7f4a12932733cfeed6c0c74fbaa Merge: 052e5c7 01a9a8a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat Jun 7 15:12:18 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fix from Chris Mason: "I had this in my 3.16 merge window queue, but it is small and obvious enough for 3.15. I cherry-picked and retested against current rc8" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: send, fix corrupted path strings for long paths commit 052e5c7e28cc22017f9ad3f67026f911fdfc2edc Merge: 813895f f145377 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat Jun 7 15:01:39 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target fixes from Nicholas Bellinger: "Here are the remaining fixes for v3.15. This series includes: - iser-target fix for ImmediateData exception reference count bug (Sagi + nab) - iscsi-target fix for MC/S login + potential iser-target MRDSL buffer overrun (Santosh + Roland) - iser-target fix for v3.15-rc multi network portal shutdown regression (nab) - target fix for allowing READ_CAPCITY during ALUA Standby access state (Chris + nab) - target fix for NULL pointer dereference of alua_access_state for un-configured devices (Chris + nab)" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: target: Fix alua_access_state attribute OOPs for un-configured devices target: Allow READ_CAPACITY opcode in ALUA Standby access state iser-target: Fix multi network portal shutdown regression iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value() iser-target: Add missing target_put_sess_cmd for ImmedateData failure commit 813895f8dcb31bc6b0e9f5fc35e8c687a467f3dd Merge: d4c5491 745c516 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat Jun 7 14:50:38 2014 -0700 Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Peter Anvin: "A significantly larger than I'd like set of patches for just below the wire. All of these, however, fix real problems. The one thing that is genuinely scary in here is the change of SMP initialization, but that *does* fix a confirmed hang when booting virtual machines. There is also a patch to actually do the right thing about not offlining a CPU when there are not enough interrupt vectors available in the system; the accounting was done incorrectly. The worst case for that patch is that we fail to offline CPUs when we should (the new code is strictly more conservative than the old), so is not particularly risky. Most of the rest is minor stuff; the EFI patches are all about exporting correct information to boot loaders and kexec" * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/boot: EFI_MIXED should not prohibit loading above 4G x86/smpboot: Initialize secondary CPU only if master CPU will wait for it x86/smpboot: Log error on secondary CPU wakeup failure at ERR level x86: Fix list/memory corruption on CPU hotplug x86: irq: Get correct available vectors for cpu disable x86/efi: Do not export efi runtime map in case old map x86/efi: earlyprintk=efi,keep fix commit 745c51673e289acf4d9ffc2835524de73ef923fd Author: Matt Fleming <matt.fleming@intel.com> Date: Sat Jun 7 12:26:20 2014 +0100 x86/boot: EFI_MIXED should not prohibit loading above 4G commit 7d453eee36ae ("x86/efi: Wire up CONFIG_EFI_MIXED") introduced a regression for the functionality to load kernels above 4G. The relevant (incorrect) reasoning behind this change can be seen in the commit message, "The xloadflags field in the bzImage header is also updated to reflect that the kernel supports both entry points by setting both of XLF_EFI_HANDOVER_32 and XLF_EFI_HANDOVER_64 when CONFIG_EFI_MIXED=y. XLF_CAN_BE_LOADED_ABOVE_4G is disabled so that the kernel text is guaranteed to be addressable with 32-bits." This is obviously bogus since 32-bit EFI loaders will never place the kernel above the 4G mark. So this restriction is entirely unnecessary. But things are worse than that - since we want to encourage people to always compile with CONFIG_EFI_MIXED=y so that their kernels work out of the box for both 32-bit and 64-bit firmware, commit 7d453eee36ae effectively disables XLF_CAN_BE_LOADED_ABOVE_4G completely. Remove the overzealous and superfluous restriction and restore the XLF_CAN_BE_LOADED_ABOVE_4G functionality. Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Dave Young <dyoung@redhat.com> Cc: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com> Link: http://lkml.kernel.org/r/1402140380-15377-1-git-send-email-matt@console-pimps.org Signed-off-by: H. Peter Anvin <hpa@zytor.com> commit d4c54919ed86302094c0ca7d48a8cbd4ee753e92 Author: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Date: Fri Jun 6 10:00:01 2014 -0400 mm: add !pte_present() check on existing hugetlb_entry callbacks The age table walker doesn't check non-present hugetlb entry in common path, so hugetlb_entry() callbacks must check it. The reason for this behavior is that some callers want to handle it in its own way. [ I think that reason is bogus, btw - it should just do what the regular code does, which is to call the "pte_hole()" function for such hugetlb entries - Linus] However, some callers don't check it now, which causes unpredictable result, for example when we have a race between migrating hugepage and reading /proc/pid/numa_maps. This patch fixes it by adding !pte_present checks on buggy callbacks. This bug exists for years and got visible by introducing hugepage migration. ChangeLog v2: - fix if condition (check !pte_present() instead of pte_present()) Reported-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Rik van Riel <riel@redhat.com> Cc: <stable@vger.kernel.org> [3.12+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> [ Backported to 3.15. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 01a9a8a9e20012f5676ec9cd16b6aed08b267066 Author: Filipe Manana <fdmanana@gmail.com> Date: Wed May 21 17:38:13 2014 +0100 Btrfs: send, fix corrupted path strings for long paths If a path has more than 230 characters, we allocate a new buffer to use for the path, but we were forgotting to copy the contents of the previous buffer into the new one, which has random content from the kmalloc call. Test: mkfs.btrfs -f /dev/sdd mount /dev/sdd /mnt TEST_PATH="/mnt/fdmanana/.config/google-chrome-mysetup/Default/Pepper_Data/Shockwave_Flash/WritableRoot/#SharedObjects/JSHJ4ZKN/s.wsj.net/[[IMPORT]]/players.edgesuite.net/flash/plugins/osmf/advanced-streaming-plugin/v2.7/osmf1.6/Ak#" mkdir -p $TEST_PATH echo "hello world" > $TEST_PATH/amaiAdvancedStreamingPlugin.txt btrfs subvolume snapshot -r /mnt /mnt/mysnap1 btrfs send /mnt/mysnap1 -f /tmp/1.snap A test for xfstests follows. Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Cc: Marc Merlin <marc@merlins.org> Tested-by: Marc MERLIN <marc@merlins.org> Signed-off-by: Chris Mason <clm@fb.com> commit d54d14bfb49f0b61aed9f20cb84cb692566cf83b Merge: 624483f 09dc4ab Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri Jun 6 09:53:32 2014 -0700 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: "Four misc fixes: each was deemed serious enough to warrant v3.15 inclusion" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/fair: Fix tg_set_cfs_bandwidth() deadlock on rq->lock sched/dl: Fix race in dl_task_timer() sched: Fix sched_policy < 0 comparison sched/numa: Fix use of spin_{un}lock_irq() when interrupts are disabled commit 624483f3ea82598ab0f62f1bdb9177f531ab1892 Author: Andrey Ryabinin <a.ryabinin@samsung.com> Date: Fri Jun 6 19:09:30 2014 +0400 mm: rmap: fix use-after-free in __put_anon_vma While working address sanitizer for kernel I've discovered use-after-free bug in __put_anon_vma. For the last anon_vma, anon_vma->root freed before child anon_vma. Later in anon_vma_free(anon_vma) we are referencing to already freed anon_vma->root to check rwsem. This fixes it by freeing the child anon_vma before freeing anon_vma->root. Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> # v3.0+ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f1453773514bb8b0bba0716301e8c8f17f8d39c7 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Fri Jun 6 00:52:57 2014 -0700 target: Fix alua_access_state attribute OOPs for un-configured devices This patch fixes a OOPs where an attempt to write to the per-device alua_access_state configfs attribute at: /sys/kernel/config/target/core/$HBA/$DEV/alua/$TG_PT_GP/alua_access_state results in an NULL pointer dereference when the backend device has not yet been configured. This patch adds an explicit check for DF_CONFIGURED, and fails with -ENODEV to avoid this case. Reported-by: Chris Boot <crb@tiger-computing.co.uk> Reported-by: Philip Gaw <pgaw@darktech.org.uk> Cc: Chris Boot <crb@tiger-computing.co.uk> Cc: Philip Gaw <pgaw@darktech.org.uk> Cc: stable@vger.kernel.org # 3.8+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit e7810c2d2c37fa8e58dda74b00790dab60fe6fba Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Thu Jun 5 23:37:00 2014 -0700 target: Allow READ_CAPACITY opcode in ALUA Standby access state This patch allows READ_CAPACITY + SAI_READ_CAPACITY_16 opcode processing to occur while the associated ALUA group is in Standby access state. This is required to avoid host side LUN probe failures during the initial scan if an ALUA group has already implicitly changed into Standby access state. This addresses a bug reported by Chris + Philip using dm-multipath + ESX hosts configured with ALUA multipath. Reported-by: Chris Boot <crb@tiger-computing.co.uk> Reported-by: Philip Gaw <pgaw@darktech.org.uk> Cc: Chris Boot <crb@tiger-computing.co.uk> Cc: Philip Gaw <pgaw@darktech.org.uk> Cc: Hannes Reinecke <hare@suse.de> Cc: stable@vger.kernel.org Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 177875423eb01179738f6badcbb9eef4be789a0e Merge: 3e1a878 a3530e8 Author: H. Peter Anvin <hpa@linux.intel.com> Date: Thu Jun 5 13:09:44 2014 -0700 Merge tag 'efi-urgent' into x86/urgent * Fix earlyprintk=efi,keep support by switching to an ioremap() mapping of the framebuffer when early_ioremap() is no longer available and dropping __init from functions that may be invoked after free_initmem() - Dave Young * We shouldn't be exporting the EFI runtime map in sysfs if not using the new 1:1 EFI mapping code since in that case the mappings are not static across a kexec reboot - Dave Young Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> commit 951e273060d15b233a7f7ccaf76ba682b5b05a03 Merge: 1c5aefb 22c91aa Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu Jun 5 12:51:05 2014 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Two last minute tooling fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Fix perf probe to find correct variable DIE perf probe: Fix a segfault if asked for variable it doesn't find commit 1c5aefb5b12a90e29866c960a57c1f8f75def617 Merge: 54539cd 54a2178 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu Jun 5 12:31:32 2014 -0700 Merge branch 'futex-fixes' (futex fixes from Thomas Gleixner) Merge futex fixes from Thomas Gleixner: "So with more awake and less futex wreckaged brain, I went through my list of points again and came up with the following 4 patches. 1) Prevent pi requeueing on the same futex I kept Kees check for uaddr1 == uaddr2 as a early check for private futexes and added a key comparison to both futex_requeue and futex_wait_requeue_pi. Sebastian, sorry for the confusion yesterday night. I really misunderstood your question. You are right the check is pointless for shared futexes where the same physical address is mapped to two different virtual addresses. 2) Sanity check atomic acquisiton in futex_lock_pi_atomic That's basically what Darren suggested. I just simplified it to use futex_top_waiter() to find kernel internal state. If state is found return -EINVAL and do not bother to fix up the user space variable. It's corrupted already. 3) Ensure state consistency in futex_unlock_pi The code is silly versus the owner died bit. There is no point to preserve it on unlock when the user space thread owns the futex. What's worse is that it does not update the user space value when the owner died bit is set. So the kernel itself creates observable inconsistency. Another "optimization" is to retry an atomic unlock. That's pointless as in a sane environment user space would not call into that code if it could have unlocked it atomically. So we always check whether there is kernel state around and only if there is none, we do the unlock by setting the user space value to 0. 4) Sanitize lookup_pi_state lookup_pi_state is ambigous about TID == 0 in the user space value. This can be a valid state even if there is kernel state on this uaddr, but we miss a few corner case checks. I tried to come up with a smaller solution hacking the checks into the current cruft, but it turned out to be ugly as hell and I got more confused than I was before. So I rewrote the sanity checks along the state documentation with awful lots of commentry" * emailed patches from Thomas Gleixner <tglx@linutronix.de>: futex: Make lookup_pi_state more robust futex: Always cleanup owner tid in unlock_pi futex: Validate atomic acquisition in futex_lock_pi_atomic() futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) commit 54a217887a7b658e2650c3feff22756ab80c7339 Author: Thomas Gleixner <tglx@linutronix.de> Date: Tue Jun 3 12:27:08 2014 +0000 futex: Make lookup_pi_state more robust The current implementation of lookup_pi_state has ambigous handling of the TID value 0 in the user space futex. We can get into the kernel even if the TID value is 0, because either there is a stale waiters bit or the owner died bit is set or we are called from the requeue_pi path or from user space just for fun. The current code avoids an explicit sanity check for pid = 0 in case that kernel internal state (waiters) are found for the user space address. This can lead to state leakage and worse under some circumstances. Handle the cases explicit: Waiter | pi_state | pi->owner | uTID | uODIED | ? [1] NULL | --- | --- | 0 | 0/1 | Valid [2] NULL | --- | --- | >0 | 0/1 | Valid [3] Found | NULL | -- | Any | 0/1 | Invalid [4] Found | Found | NULL | 0 | 1 | Valid [5] Found | Found | NULL | >0 | 1 | Invalid [6] Found | Found | task | 0 | 1 | Valid [7] Found | Found | NULL | Any | 0 | Invalid [8] Found | Found | task | ==taskTID | 0/1 | Valid [9] Found | Found | task | 0 | 0 | Invalid [10] Found | Found | task | !=taskTID | 0/1 | Invalid [1] Indicates that the kernel can acquire the futex atomically. We came came here due to a stale FUTEX_WAITERS/FUTEX_OWNER_DIED bit. [2] Valid, if TID does not belong to a kernel thread. If no matching thread is found then it indicates that the owner TID has died. [3] Invalid. The waiter is queued on a non PI futex [4] Valid state after exit_robust_list(), which sets the user space value to FUTEX_WAITERS | FUTEX_OWNER_DIED. [5] The user space value got manipulated between exit_robust_list() and exit_pi_state_list() [6] Valid state after exit_pi_state_list() which sets the new owner in the pi_state but cannot access the user space value. [7] pi_state->owner can only be NULL when the OWNER_DIED bit is set. [8] Owner and user space value match [9] There is no transient state which sets the user space TID to 0 except exit_robust_list(), but this is indicated by the FUTEX_OWNER_DIED bit. See [4] [10] There is no transient state which leaves owner and user space TID out of sync. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Kees Cook <keescook@chromium.org> Cc: Will Drewry <wad@chromium.org> Cc: Darren Hart <dvhart@linux.intel.com> Cc: stable@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 13fbca4c6ecd96ec1a1cfa2e4f2ce191fe928a5e Author: Thomas Gleixner <tglx@linutronix.de> Date: Tue Jun 3 12:27:07 2014 +0000 futex: Always cleanup owner tid in unlock_pi If the owner died bit is set at futex_unlock_pi, we currently do not cleanup the user space futex. So the owner TID of the current owner (the unlocker) persists. That's observable inconsistant state, especially when the ownership of the pi state got transferred. Clean it up unconditionally. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Kees Cook <keescook@chromium.org> Cc: Will Drewry <wad@chromium.org> Cc: Darren Hart <dvhart@linux.intel.com> Cc: stable@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit b3eaa9fc5cd0a4d74b18f6b8dc617aeaf1873270 Author: Thomas Gleixner <tglx@linutronix.de> Date: Tue Jun 3 12:27:06 2014 +0000 futex: Validate atomic acquisition in futex_lock_pi_atomic() We need to protect the atomic acquisition in the kernel against rogue user space which sets the user space futex to 0, so the kernel side acquisition succeeds while there is existing state in the kernel associated to the real owner. Verify whether the futex has waiters associated with kernel state. If it has, return -EINVAL. The state is corrupted already, so no point in cleaning it up. Subsequent calls will fail as well. Not our problem. [ tglx: Use futex_top_waiter() and explain why we do not need to try restoring the already corrupted user space state. ] Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Kees Cook <keescook@chromium.org> Cc: Will Drewry <wad@chromium.org> Cc: stable@vger.kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit e9c243a5a6de0be8e584c604d353412584b592f8 Author: Thomas Gleixner <tglx@linutronix.de> Date: Tue Jun 3 12:27:06 2014 +0000 futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) If uaddr == uaddr2, then we have broken the rule of only requeueing from a non-pi futex to a pi futex with this call. If we attempt this, then dangling pointers may be left for rt_waiter resulting in an exploitable condition. This change brings futex_requeue() in line with futex_wait_requeue_pi() which performs the same check as per commit 6f7b0a2a5c0f ("futex: Forbid uaddr == uaddr2 in futex_wait_requeue_pi()") [ tglx: Compare the resulting keys as well, as uaddrs might be different depending on the mapping ] Fixes CVE-2014-3153. Reported-by: Pinkie Pie Signed-off-by: Will Drewry <wad@chromium.org> Signed-off-by: Kees Cook <keescook@chromium.org> Cc: stable@vger.kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 3e1a878b7ccdb31da6d9d2b855c72ad87afeba3f Author: Igor Mammedov <imammedo@redhat.com> Date: Thu Jun 5 15:42:45 2014 +0200 x86/smpboot: Initialize secondary CPU only if master CPU will wait for it Hang is observed on virtual machines during CPU hotplug, especially in big guests with many CPUs. (It reproducible more often if host is over-committed). It happens because master CPU gives up waiting on secondary CPU and allows it to run wild. As result AP causes locking or crashing system. For example as described here: https://lkml.org/lkml/2014/3/6/257 If master CPU have sent STARTUP IPI successfully, and AP signalled to master CPU that it's ready to start initialization, make master CPU wait indefinitely till AP is onlined. To ensure that AP won't ever run wild, make it wait at early startup till master CPU confirms its intention to wait for AP. If AP doesn't respond in 10 seconds, the master CPU will timeout and cancel AP onlining. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Toshi Kani <toshi.kani@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1401975765-22328-4-git-send-email-imammedo@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit feef1e8ecbadf24f8e6829c935df8683cabae41b Author: Igor Mammedov <imammedo@redhat.com> Date: Thu Jun 5 15:42:44 2014 +0200 x86/smpboot: Log error on secondary CPU wakeup failure at ERR level If system is running without debug level logging, it will not log error if do_boot_cpu() failed to wakeup AP. It may lead to silent AP bringup failures at boot time. Change message level to KERN_ERR to make error visible to user as it's done on other architectures. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Toshi Kani <toshi.kani@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1401975765-22328-3-git-send-email-imammedo@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 89f898c1e195fa6235c869bb457e500b7b3ac49d Author: Igor Mammedov <imammedo@redhat.com> Date: Thu Jun 5 15:42:43 2014 +0200 x86: Fix list/memory corruption on CPU hotplug currently if AP wake up is failed, master CPU marks AP as not present in do_boot_cpu() by calling set_cpu_present(cpu, false). That leads to following list corruption on the next physical CPU hotplug: [ 418.107336] WARNING: CPU: 1 PID: 45 at lib/list_debug.c:33 __list_add+0xbe/0xd0() [ 418.115268] list_add corruption. prev->next should be next (ffff88003dc57600), but was ffff88003e20c3a0. (prev=ffff88003e20c3a0). [ 418.123693] Modules linked in: nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT ipt_REJECT cfg80211 xt_conntrack rfkill ee [ 418.138979] CPU: 1 PID: 45 Comm: kworker/u10:1 Not tainted 3.14.0-rc6+ #387 [ 418.149989] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007 [ 418.165750] Workqueue: kacpi_hotplug acpi_hotplug_work_fn [ 418.166433] 0000000000000021 ffff880038ca7988 ffffffff8159b22d 0000000000000021 [ 418.176460] ffff880038ca79d8 ffff880038ca79c8 ffffffff8106942c ffff880038ca79e8 [ 418.177453] ffff88003e20c3a0 ffff88003dc57600 ffff88003e20c3a0 00000000ffffffea [ 418.178445] Call Trace: [ 418.185811] [<ffffffff8159b22d>] dump_stack+0x49/0x5c [ 418.186440] [<ffffffff8106942c>] warn_slowpath_common+0x8c/0xc0 [ 418.187192] [<ffffffff81069516>] warn_slowpath_fmt+0x46/0x50 [ 418.191231] [<ffffffff8136ef51>] ? acpi_ns_get_node+0xb7/0xc7 [ 418.193889] [<ffffffff812f796e>] __list_add+0xbe/0xd0 [ 418.196649] [<ffffffff812e2aa9>] kobject_add_internal+0x79/0x200 [ 418.208610] [<ffffffff812e2e18>] kobject_add_varg+0x38/0x60 [ 418.213831] [<ffffffff812e2ef4>] kobject_add+0x44/0x70 [ 418.229961] [<ffffffff813e2c60>] device_add+0xd0/0x550 [ 418.234991] [<ffffffff813f0e95>] ? pm_runtime_init+0xe5/0xf0 [ 418.250226] [<ffffffff813e32be>] device_register+0x1e/0x30 [ 418.255296] [<ffffffff813e82a3>] register_cpu+0xe3/0x130 [ 418.266539] [<ffffffff81592be5>] arch_register_cpu+0x65/0x150 [ 418.285845] [<ffffffff81355c0d>] acpi_processor_hotadd_init+0x5a/0x9b ... Which is caused by the fact that generic_processor_info() allocates logical CPU id by calling: cpu = cpumask_next_zero(-1, cpu_present_mask); which returns id of previously failed to wake up CPU, since its bit is cleared by do_boot_cpu() and as result register_cpu() tries to register another CPU with the same id as already present but failed to be onlined CPU. Taking in account that AP will not do anything if master CPU failed to wake it up, there is no reason to mark that AP as not present and break next cpu hotplug attempts. As a side effect of not marking AP as not present, user would be allowed to online it again later. Also fix memory corruption in acpi_unmap_lsapic() if during CPU hotplug master CPU failed to wake up AP it set percpu x86_cpu_to_apicid to BAD_APICID=0xFFFF for AP. However following attempt to unplug that CPU will lead to out of bound write access to __apicid_to_node[] which is 32768 items long on x86_64 kernel. So with above fix of cpu_present_mask make sure that a present CPU has a valid APIC ID by not setting x86_cpu_to_apicid to BAD_APICID in do_boot_cpu() on failure and allow acpi_processor_remove()->acpi_unmap_lsapic() cleanly remove CPU. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Toshi Kani <toshi.kani@hp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1401975765-22328-2-git-send-email-imammedo@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 09dc4ab03936df5c5aa711d27c81283c6d09f495 Author: Roman Gushchin <klamm@yandex-team.ru> Date: Mon May 19 15:10:09 2014 +0400 sched/fair: Fix tg_set_cfs_bandwidth() deadlock on rq->lock tg_set_cfs_bandwidth() sets cfs_b->timer_active to 0 to force the period timer restart. It's not safe, because can lead to deadlock, described in commit 927b54fccbf0: "__start_cfs_bandwidth calls hrtimer_cancel while holding rq->lock, waiting for the hrtimer to finish. However, if sched_cfs_period_timer runs for another loop iteration, the hrtimer can attempt to take rq->lock, resulting in deadlock." Three CPUs must be involved: CPU0 CPU1 CPU2 take rq->lock period timer fired ... take cfs_b lock ... ... tg_set_cfs_bandwidth() throttle_cfs_rq() release cfs_b lock take cfs_b lock ... distribute_cfs_runtime() timer_active = 0 take cfs_b->lock wait for rq->lock ... __start_cfs_bandwidth() {wait for timer callback break if timer_active == 1} So, CPU0 and CPU1 are deadlocked. Instead of resetting cfs_b->timer_active, tg_set_cfs_bandwidth can wait for period timer callbacks (ignoring cfs_b->timer_active) and restart the timer explicitly. Signed-off-by: Roman Gushchin <klamm@yandex-team.ru> Reviewed-by: Ben Segall <bsegall@google.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/87wqdi9g8e.wl\%klamm@yandex-team.ru Cc: pjt@google.com Cc: chris.j.arges@canonical.com Cc: gregkh@linuxfoundation.org Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 0f397f2c90ce68821ee864c2c53baafe78de765d Author: Kirill Tkhai <tkhai@yandex.ru> Date: Tue May 20 13:33:42 2014 +0400 sched/dl: Fix race in dl_task_timer() Throttled task is still on rq, and it may be moved to other cpu if user is playing with sched_setaffinity(). Therefore, unlocked task_rq() access makes the race. Juri Lelli reports he got this race when dl_bandwidth_enabled() was not set. Other thing, pointed by Peter Zijlstra: "Now I suppose the problem can still actually happen when you change the root domain and trigger a effective affinity change that way". To fix that we do the same as made in __task_rq_lock(). We do not use __task_rq_lock() itself, because it has a useful lockdep check, which is not correct in case of dl_task_timer(). We do not need pi_lock locked here. This case is an exception (PeterZ): "The only reason we don't strictly need ->pi_lock now is because we're guaranteed to have p->state == TASK_RUNNING here and are thus free of ttwu races". Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> # v3.14+ Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/3056991400578422@web14g.yandex.ru Signed-off-by: Ingo Molnar <mingo@kernel.org> commit b14ed2c273f8ab872ae4e6735fe5ab09cb14b8c3 Author: Richard Weinberger <richard@nod.at> Date: Mon Jun 2 22:38:34 2014 +0200 sched: Fix sched_policy < 0 comparison attr.sched_policy is u32, therefore a comparison against < 0 is never true. Fix this by casting sched_policy to int. This issue was reported by coverity CID 1219934. Fixes: dbdb22754fde ("sched: Disallow sched_attr::sched_policy < 0") Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/1401741514-7045-1-git-send-email-richard@nod.at Signed-off-by: Ingo Molnar <mingo@kernel.org> commit e9dd685ce81815811fb4da72e6ab10a694ac8468 Author: Steven Rostedt <rostedt@goodmis.org> Date: Tue May 27 17:02:04 2014 -0400 sched/numa: Fix use of spin_{un}lock_irq() when interrupts are disabled As Peter Zijlstra told me, we have the following path: do_exit() exit_itimers() itimer_delete() spin_lock_irqsave(&timer->it_lock, &flags); timer_delete_hook(timer); kc->timer_del(timer) := posix_cpu_timer_del() put_task_struct() __put_task_struct() task_numa_free() spin_lock(&grp->lock); Which means that task_numa_free() can be called with interrupts disabled, which means that we should not be using spin_lock_irq() but spin_lock_irqsave() instead. Otherwise we are enabling interrupts while holding an interrupt unsafe lock! Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner<tglx@linutronix.de> Cc: Mike Galbraith <umgwanakikbuti@gmail.com> Cc: Eric Dumazet <eric.dumazet@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140527182541.GH11096@twins.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 22c91aa23547a4363fd2a9ffddde95c899ac8aa0 Merge: fad01e8 082f96a Author: Ingo Molnar <mingo@kernel.org> Date: Thu Jun 5 09:52:41 2014 +0200 Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/urgent Pull perf/urgent fixes from Jiri Olsa: * Fix perf probe to find correct variable DIE (Masami Hiramatsu) * Fix a segfault in perf probe if asked for variable it doesn't find (Masami Hiramatsu) Signed-off-by: Jiri Olsa <jolsa@kernel.org> Acked-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 54539cd217d687d9acf385eab22ec02b3f7a86a0 Merge: c717d15 0c36b39 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed Jun 4 09:56:03 2014 -0700 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu fix from Tejun Heo: "It is very late but this is an important percpu-refcount fix from Sebastian Ott. The problem is that percpu_ref_*() used __this_cpu_*() instead of this_cpu_*(). The difference between the two is that the latter is atomic on the local cpu while the former is not. this_cpu_inc() is guaranteed to increment the percpu counter on the cpu that the operation is executed on without any synchronization; however, __this_cpu_inc() doesn't and if the local cpu invokes the function from different contexts (e.g. process and irq) of the same CPU, it's not guaranteed to actually increment as it may be implemented as rmw. This bug existed from the get-go but it hasn't been noticed earlier probably because on x86 __this_cpu_inc() is equivalent to this_cpu_inc() as both get translated into single instruction; however, s390 uses the generic rmw implementation and gets affected by the bug. Kudos to Sebastian and Heiko for diagnosing it. The change is very low risk and fixes a critical issue on the affected architectures, so I think it's a good candidate for inclusion although it's very late in the devel cycle. On the other hand, this has been broken since v3.11, so backporting it through -stable post -rc1 won't be the end of the world. I'll ping Christoph whether __this_cpu_*() ops can be better annotated so that it can trigger lockdep warning when used from multiple contexts" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu-refcount: fix usage of this_cpu_ops commit 0c36b390a546055b6815d4b93a2c9fed4d980ffb Author: Sebastian Ott <sebott@linux.vnet.ibm.com> Date: Wed Jun 4 15:58:24 2014 +0200 percpu-refcount: fix usage of this_cpu_ops The percpu-refcount infrastructure uses the underscore variants of this_cpu_ops in order to modify percpu reference counters. (e.g. __this_cpu_inc()). However the underscore variants do not atomically update the percpu variable, instead they may be implemented using read-modify-write semantics (more than one instruction). Therefore it is only safe to use the underscore variant if the context is always the same (process, softirq, or hardirq). Otherwise it is possible to lose updates. This problem is something that Sebastian has seen within the aio subsystem which uses percpu refcounters both in process and softirq context leading to reference counts that never dropped to zeroes; even though the number of "get" and "put" calls matched. Fix this by using the non-underscore this_cpu_ops variant which provides correct per cpu atomic semantics and fixes the corrupted reference counts. Cc: Kent Overstreet <kmo@daterainc.com> Cc: <stable@vger.kernel.org> # v3.11+ Reported-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Tejun Heo <tj@kernel.org> References: http://lkml.kernel.org/g/alpine.LFD.2.11.1406041540520.21183@denkbrett commit c717d1561493c58d030405c7e30e35459db31912 Merge: 9e9a928 bf81022 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed Jun 4 07:48:54 2014 -0700 Merge tag 'pm-3.15-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull intel pstate fixes from Rafael Wysocki: "Final power management fixes for 3.15 - Taking non-idle time into account when calculating core busy time was a mistake and led to a performance regression. Since the problem it was supposed to address is now taken care of in a different way, we don't need to do it any more, so drop the non-idle time tracking from intel_pstate. Dirk Brandewie. - Changing to fixed point math throughout the busy calculation introduced rounding errors that adversely affect the accuracy of intel_pstate's computations. Fix from Dirk Brandewie. - The PID controller algorithm used by intel_pstate assumes that the time interval between two adjacent samples will always be the same which is not the case for deferable timers (used by intel_pstate) when the system is idle. This leads to inaccurate predictions and artificially increases convergence times for the minimum P-state. Fix from Dirk Brandewie. - intel_pstate carries out computations using 32-bit variables that may overflow for large enough values of APERF/MPERF. Switch to using 64-bit variables for computations, from Doug Smythies" * tag 'pm-3.15-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: intel_pstate: Improve initial busy calculation intel_pstate: add sample time scaling intel_pstate: Correct rounding in busy calculation intel_pstate: Remove C0 tracking commit 9e9a928eed8796a0a1aaed7e0b676db86ba84594 Merge: d2cfd31 0a4ae72 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed Jun 4 07:48:01 2014 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "All fairly small: radeon stability and a panic path fix. Mostly radeon fixes, suspend/resume fix, stability on the CIK chipsets, along with a locking check avoidance patch for panic times regression" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: use the CP DMA on CIK drm/radeon: sync page table updates drm/radeon: fix vm buffer size estimation drm/crtc-helper: skip locking checks in panicking path drm/radeon/dpm: resume fixes for some systems commit 082f96a93eb5ba9bf771518a0dda590624568e8e Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Date: Thu May 29 21:19:30 2014 +0900 perf probe: Fix perf probe to find correct variable DIE Fix perf probe to find correct variable DIE which has location or external instance by tracking down the lexical blocks. Current die_find_variable() expects that the all variable DIEs which has DW_TAG_variable have a location. However, since recent dwarf information may have declaration variable DIEs at the entry of function (subprogram), die_find_variable() returns it. To solve this problem, it must track down the DIE tree to find a DIE which has an actual location or a reference for external instance. e.g. finding a DIE which origin is <0xdc73>; <1><11496>: Abbrev Number: 95 (DW_TAG_subprogram) <11497> DW_AT_abstract_origin: <0xdc42> <1149b> DW_AT_low_pc : 0x1850 [...] <2><114cc>: Abbrev Number: 119 (DW_TAG_variable) <- this is a declaration <114cd> DW_AT_abstract_origin: <0xdc73> <2><114d1>: Abbrev Number: 119 (DW_TAG_variable) [...] <3><115a7>: Abbrev Number: 105 (DW_TAG_lexical_block) <115a8> DW_AT_ranges : 0xaa0 <4><115ac>: Abbrev Number: 96 (DW_TAG_variable) <- this has a location <115ad> DW_AT_abstract_origin: <0xdc73> <115b1> DW_AT_location : 0x486c (location list) Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Tested-by: Arnaldo Carvalho de Melo <acme@kernel.org> Acked-by: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/20140529121930.30879.87092.stgit@ltc230.yrl.intra.hitachi.co.jp Signed-off-by: Jiri Olsa <jolsa@kernel.org> commit 0c188a07b6a399e3df66534c29fef0a2082aaf57 Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Date: Thu May 29 19:52:32 2014 +0900 perf probe: Fix a segfault if asked for variable it doesn't find Fix a segfault bug by asking for variable it doesn't find. Since the convert_variable() didn't handle error code returned from convert_variable_location(), it just passed an incomplete variable field and then a segfault was occurred when formatting the field. This fixes that bug by handling success code correctly in convert_variable(). Other callers of convert_variable_location() are correctly checking the return code. This bug was introduced by following commit. But another hidden erroneous error handling has been there previously (-ENOMEM case). commit 3d918a12a1b3088ac16ff37fa52760639d6e2403 Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Reported-by: Arnaldo Carvalho de Melo <acme@kernel.org> Tested-by: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/20140529105232.28251.30447.stgit@ltc230.yrl.intra.hitachi.co.jp Signed-off-by: Jiri Olsa <jolsa@kernel.org> commit ac2a55395eddccd6e3e39532df9869d61e97b2ee Author: Yinghai Lu <yinghai@kernel.org> Date: Tue May 13 11:39:34 2014 -0400 x86: irq: Get correct available vectors for cpu disable check_irq_vectors_for_cpu_disable() can overestimate the number of available interrupt vectors, so the check for cpu down succeeds, but the actual cpu removal fails. It iterates from FIRST_EXTERNAL_VECTOR to NR_VECTORS, which is wrong because the systems vectors are not taken into account. Limit the search to first_system_vector instead of NR_VECTORS. The second indicator for vector availability the used_vectors bitmap is not taken into account at all. So system vectors, e.g. IA32_SYSCALL_VECTOR (0x80) and IRQ_MOVE_CLEANUP_VECTOR (0x20), are accounted as available. Add a check for the used_vectors bitmap and do not account vectors which are marked there. [ tglx: Simplified code. Rewrote changelog and code comments. ] Signed-off-by: Yinghai Lu <yinghai@kernel.org> Acked-by: Prarit Bhargava <prarit@redhat.com> Cc: Seiji Aguchi <seiji.aguchi@hds.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: K. Y. Srinivasan <kys@microsoft.com> Cc: Steven Rostedt (Red Hat) <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Elliott, Robert (Server Storage)" <Elliott@hp.com> Cc: x86@kernel.org Link: http://lkml.kernel.org/r/1400160305-17774-2-git-send-email-prarit@redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 0a4ae727d6aa459247b027387edb6ff99f657792 Merge: ba6f582 91b0275 Author: Dave Airlie <airlied@redhat.com> Date: Wed Jun 4 13:29:13 2014 +1000 Merge branch 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-fixes The first one is a one liner fixing a stupid typo in the VM handling code and is only relevant if play with one of the VM defines. The other two switches CIK to use the CPDMA instead of the SDMA for buffer moves, as it turned out the SDMA is still sometimes not 100% reliable. * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux: drm/radeon: use the CP DMA on CIK drm/radeon: sync page table updates drm/radeon: fix vm buffer size estimation commit 2363d196686e44c0158929e7cf96c8589a24a81b Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Tue Jun 3 18:27:52 2014 -0700 iser-target: Fix multi network portal shutdown regression This patch fixes a iser-target specific regression introduced in v3.15-rc6 with: commit 14f4b54fe38f3a8f8392a50b951c8aa43b63687a Author: Sagi Grimberg <sagig@mellanox.com> Date: Tue Apr 29 13:13:47 2014 +0300 Target/iscsi,iser: Avoid accepting transport connections during stop stage where the change to set iscsi_np->enabled = false within iscsit_clear_tpg_np_login_thread() meant that a iscsi_np with two iscsi_tpg_np exports would have it's parent iscsi_np set to a disabled state, even if other iscsi_tpg_np exports still existed. This patch changes iscsit_clear_tpg_np_login_thread() to only set iscsi_np->enabled = false when shutdown = true, and also changes iscsit_del_np() to set iscsi_np->enabled = true when iscsi_np->np_exports is non zero. Cc: Sagi Grimberg <sagig@dev.mellanox.co.il> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 79d59d08082dd0a0a18f8ceb78c99f9f321d72aa Author: Roland Dreier <roland@purestorage.com> Date: Thu May 29 13:32:30 2014 -0700 iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value() In non-leading connection login, iscsi_login_non_zero_tsih_s1() calls iscsi_change_param_value() with the buffer it uses to hold the login PDU, not a temporary buffer. This leads to the login header getting corrupted and login failing for non-leading connections in MC/S. Fix this by adding a wrapper iscsi_change_param_sprintf() that handles the temporary buffer itself to avoid confusion. Also handle sending a reject in case of failure in the wrapper, which lets the calling code get quite a bit smaller and easier to read. Finally, bump the size of the temporary buffer from 32 to 64 bytes to be safe, since "MaxRecvDataSegmentLength=" by itself is 25 bytes; with a trailing NUL, a value >= 1M will lead to a buffer overrun. (This isn't the default but we don't need to run right at the ragged edge here) Reported-by: Santosh Kulkarni <santosh.kulkarni@calsoftinc.com> Signed-off-by: Roland Dreier <roland@purestorage.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 6cc44a6fb46e1ecc1c28125aa8fa34d317aa9ea7 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Fri May 23 00:48:35 2014 -0700 iser-target: Add missing target_put_sess_cmd for ImmedateData failure This patch addresses a bug where an early exception for SCSI WRITE with ImmediateData=Yes was missing the target_put_sess_cmd() call to drop the extra se_cmd->cmd_kref reference obtained during the normal iscsit_setup_scsi_cmd() codepath execution. This bug was manifesting itself during session shutdown within isert_cq_rx_comp_err() where target_wait_for_sess_cmds() would end up waiting indefinately for the last se_cmd->cmd_kref put to occur for the failed SCSI WRITE + ImmediateData descriptors. This fix follows what traditional iscsi-target code already does for the same failure case within iscsit_get_immediate_data(). Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il> Cc: Sagi Grimberg <sagig@dev.mellanox.co.il> Cc: Or Gerlitz <ogerlitz@mellanox.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit d2cfd3105094f593bc1fbd0b042a7752ddf08691 Merge: c9482a5 192a98e Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue Jun 3 12:07:30 2014 -0700 Merge tag 'sound-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "A few addition of HD-audio fixups for ALC260 and AD1986A codecs. All marked as stable fixes. The fixes are pretty local and they are old machines, so quite safe to apply" * tag 'sound-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop ALSA: hda/analog - Fix silent output on ASUS A8JN commit c9482a5bdcc09be9096f40e858c5fe39c389cd52 Author: Jianyu Zhan <nasa4836@gmail.com> Date: Sat Apr 26 15:40:28 2014 +0800 kernfs: move the last knowledge of sysfs out from kernfs There is still one residue of sysfs remaining: the sb_magic SYSFS_MAGIC. However this should be kernfs user specific, so this patch moves it out. Kerrnfs user should specify their magic number while mouting. Signed-off-by: Jianyu Zhan <nasa4836@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit cae61ba37b4c2672704cbd8a626fbd85be7e67d9 Merge: ca75517 418c96a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon Jun 2 18:16:41 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Unbreak zebra and other netlink apps, from Eric W Biederman. 2) Some new qmi_wwan device IDs, from Aleksander Morgado. 3) Fix info leak in DCB netlink handler of qlcnic driver, from Dan Carpenter. 4) inet_getid() and ipv6_select_ident() do not generate monotonically increasing ID numbers, fix from Eric Dumazet. 5) Fix memory leak in __sk_prepare_filter(), from Leon Yu. 6) Netlink leftover bytes warning message is user triggerable, rate limit it. From Michal Schmidt. 7) Fix non-linear SKB panic in ipvs, from Peter Christensen. 8) Congestion window undo needs to be performed even if only never retransmitted data is SACK'd, fix from Yuching Cheng. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (24 commits) net: filter: fix possible memory leak in __sk_prepare_filter() net: ec_bhf: Add runtime dependencies tcp: fix cwnd undo on DSACK in F-RTO netlink: Only check file credentials for implicit destinations ipheth: Add support for iPad 2 and iPad 3 team: fix mtu setting net: fix inet_getid() and ipv6_select_ident() bugs net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI net: qmi_wwan: add additional Sierra Wireless QMI devices bridge: Prevent insertion of FDB entry with disallowed vlan netlink: rate-limit leftover bytes warning and print process name bridge: notify user space after fdb update net: qmi_wwan: add Netgear AirCard 341U net: fix wrong mac_len calculation for vlans batman-adv: fix NULL pointer dereferences net/mlx4_core: Reset RoCE VF gids when guest driver goes down emac: aggregation of v1-2 PLB errors for IER register emac: add missing support of 10mbit in emac/rgmii can: only rename enabled led triggers when changing the netdev name ipvs: Fix panic due to non-linear skb ... commit 418c96ac151a16a5094a95d14252c92c1d47ec67 Author: Leon Yu <chianglungyu@gmail.com> Date: Sun Jun 1 05:37:25 2014 +0000 net: filter: fix possible memory leak in __sk_prepare_filter() __sk_prepare_filter() was reworked in commit bd4cf0ed3 (net: filter: rework/optimize internal BPF interpreter's instruction set) so that it should have uncharged memory once things went wrong. However that work isn't complete. Error is handled only in __sk_migrate_filter() while memory can still leak in the error path right after sk_chk_filter(). Fixes: bd4cf0ed331a ("net: filter: rework/optimize internal BPF interpreter's instruction set") Signed-off-by: Leon Yu <chianglungyu@gmail.com> Acked-by: Alexei Starovoitov <ast@plumgrid.com> Tested-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit ca755175f245b91f72cfa474aaa8acd9c26996f4 Merge: 3b8d267 2ac295a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon Jun 2 17:04:37 2014 -0700 Merge tag 'md/3.15-fixes' of git://neil.brown.name/md Pull two md bugfixes from Neil Brown: "Two md bugfixes for possible corruption when restarting reshape If a raid5/6 reshape is restarted (After stopping and re-assembling the array) and the array is marked read-only (or read-auto), then the reshape will appear to complete immediately, without actually moving anything around. This can result in corruption. There are two patches which do much the same thing in different places. They are separate because one is an older bug and so can be applied to more -stable kernels" * tag 'md/3.15-fixes' of git://neil.brown.name/md: md: always set MD_RECOVERY_INTR when interrupting a reshape thread. md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync". commit 3aab01d800eb195de3f273d9a195fe070a507d56 Author: Jean Delvare <jdelvare@suse.de> Date: Sat May 31 17:32:27 2014 +0200 net: ec_bhf: Add runtime dependencies The ec_bhf driver is specific to the Beckhoff CX embedded PC series. These are based on Intel x86 CPU. So we can add a dependency on X86, with COMPILE_TEST as an alternative to still allow for broader build-testing. Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Darek Marcinkiewicz <reksio@newterm.pl> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net> commit 3b8d2676d15d6b2326757adb66b70a9cd6650373 Author: Martin K. Petersen <martin.petersen@oracle.com> Date: Mon Jun 2 19:57:16 2014 -0400 libata: Blacklist queued trim for Crucial M500 Queued trim only works for some users with MU05 firmware. Revert to blacklisting all firmware versions. Introduced by commit d121f7d0cbb8 ("libata: Update queued trim blacklist for M5x0 drives") which this effectively reverts, while retaining the blacklisting of M550. See https://bugzilla.kernel.org/show_bug.cgi?id=71371 for reports of trouble with MU05 firmware. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Tejun Heo <tj@kernel.org> Cc: stable@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 92b4e113155f9c8de9ef71ecdf55d796b68e7318 Merge: 8ee7a33 368b69a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon Jun 2 16:57:23 2014 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Peter Anvin: "A single quite small patch that managed to get overlooked earlier, to prevent a user space triggerable oops on systems without HPET" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, vdso: Fix an OOPS accessing the HPET mapping w/o an HPET commit 8ee7a330fbb78344802cc6c3cc8be023b6d05aa0 Merge: da579dd 5dc2808 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon Jun 2 16:56:42 2014 -0700 Merge tag 'usb-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are some fixes for 3.15-rc8 that resolve a number of tiny USB issues that have been reported, and there are some new device ids as well. All have been tested in linux-next" * tag 'usb-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: xhci: delete endpoints from bandwidth list before freeing whole device usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports USB: cdc-wdm: properly include types.h usb: cdc-wdm: export cdc-wdm uapi header USB: serial: option: add support for Novatel E371 PCIe card USB: ftdi_sio: add NovaTech OrionLXm product ID USB: io_ti: fix firmware download on big-endian machines (part 2) USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume commit da579dd6a180693368ade74b3ac38701d35f686e Merge: fad01e8 9326c5c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon Jun 2 16:55:18 2014 -0700 Merge tag 'staging-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are some staging driver fixes for 3.15. Three are for the speakup drivers (one fixes a regression caused in 3.15-rc, and the other two resolve a tty issue found by Ben Hutchings) The comedi and r8192e_pci driver fixes also resolve reported issues" * tag 'staging-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: r8192e_pci: fix htons error Staging: speakup: Update __speakup_paste_selection() tty (ab)usage to match vt Staging: speakup: Move pasting into a work item staging: comedi: ni_daq_700: add mux settling delay speakup: fix incorrect perms on speakup_acntsa.c commit 0cfa5c07d6d1d7f8e710fc671c5ba1ce85e09fa4 Author: Yuchung Cheng <ycheng@google.com> Date: Fri May 30 15:25:59 2014 -0700 tcp: fix cwnd undo on DSACK in F-RTO This bug is discovered by an recent F-RTO issue on tcpm list https://www.ietf.org/mail-archive/web/tcpm/current/msg08794.html The bug is that currently F-RTO does not use DSACK to undo cwnd in certain cases: upon receiving an ACK after the RTO retransmission in F-RTO, and the ACK has DSACK indicating the retransmission is spurious, the sender only calls tcp_try_undo_loss() if some never retransmisted data is sacked (FLAG_ORIG_DATA_SACKED). The correct behavior is to unconditionally call tcp_try_undo_loss so the DSACK information is used properly to undo the cwnd reduction. Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 2d7a85f4b06e9c27ff629f07a524c48074f07f81 Author: Eric W. Biederman <ebiederm@xmission.com> Date: Fri May 30 11:04:00 2014 -0700 netlink: Only check file credentials for implicit destinations It was possible to get a setuid root or setcap executable to write to it's stdout or stderr (which has been set made a netlink socket) and inadvertently reconfigure the networking stack. To prevent this we check that both the creator of the socket and the currentl applications has permission to reconfigure the network stack. Unfortunately this breaks Zebra which always uses sendto/sendmsg and creates it's socket without any privileges. To keep Zebra working don't bother checking if the creator of the socket has privilege when a destination address is specified. Instead rely exclusively on the privileges of the sender of the socket. Note from Andy: This is exactly Eric's code except for some comment clarifications and formatting fixes. Neither I nor, I think, anyone else is thrilled with this approach, but I'm hesitant to wait on a better fix since 3.15 is almost here. Note to stable maintainers: This is a mess. An earlier series of patches in 3.15 fix a rather serious security issue (CVE-2014-0181), but they did so in a way that breaks Zebra. The offending series includes: commit aa4cf9452f469f16cea8c96283b641b4576d4a7b Author: Eric W. Biederman <ebiederm@xmission.com> Date: Wed Apr 23 14:28:03 2014 -0700 net: Add variants of capable for use on netlink messages If a given kernel version is missing that series of fixes, it's probably worth backporting it and this patch. if that series is present, then this fix is critical if you care about Zebra. Cc: stable@vger.kernel.org Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: David S. Miller <davem@davemloft.net> commit 22fd2a52f715550930938fc79140defc098287d6 Author: Kristian Evensen <kristian.evensen@gmail.com> Date: Fri May 30 12:17:00 2014 +0200 ipheth: Add support for iPad 2 and iPad 3 Each iPad model has a different product id, this patch adds support for iPad 2 (pid 0x12a2) and iPad 3 (pid 0x12a6). Note that iPad 2 must be jailbroken and a third-party app must be used for tethering to work. On iPad 3, tethering works out of the box (assuming your ISP is nice). Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 9d0d68faea6962d62dd501cd6e71ce5cc8ed262b Author: Jiri Pirko <jiri@resnulli.us> Date: Thu May 29 20:46:17 2014 +0200 team: fix mtu setting Now it is not possible to set mtu to team device which has a port enslaved to it. The reason is that when team_change_mtu() calls dev_set_mtu() for port device, notificator for NETDEV_PRECHANGEMTU event is called and team_device_event() returns NOTIFY_BAD forbidding the change. So fix this by returning NOTIFY_DONE here in case team is changing mtu in team_change_mtu(). Introduced-by: 3d249d4c "net: introduce ethernet teaming device" Signed-off-by: Jiri Pirko <jiri@resnulli.us> Acked-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 39c36094d78c39e038c1e499b2364e13bce36f54 Author: Eric Dumazet <edumazet@google.com> Date: Thu May 29 08:45:14 2014 -0700 net: fix inet_getid() and ipv6_select_ident() bugs I noticed we were sending wrong IPv4 ID in TCP flows when MTU discovery is disabled. Note how GSO/TSO packets do not have monotonically incrementing ID. 06:37:41.575531 IP (id 14227, proto: TCP (6), length: 4396) 06:37:41.575534 IP (id 14272, proto: TCP (6), length: 65212) 06:37:41.575544 IP (id 14312, proto: TCP (6), length: 57972) 06:37:41.575678 IP (id 14317, proto: TCP (6), length: 7292) 06:37:41.575683 IP (id 14361, proto: TCP (6), length: 63764) It appears I introduced this bug in linux-3.1. inet_getid() must return the old value of peer->ip_id_count, not the new one. Lets revert this part, and remove the prevention of a null identification field in IPv6 Fragment Extension Header, which is dubious and not even done properly. Fixes: 87c48fa3b463 ("ipv6: make fragment identifications less predictable") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit fc0d6e9cd0aefbe5de5ebafb1805f2c59539725b Author: Aleksander Morgado <aleksander@aleksander.es> Date: Thu May 29 13:51:36 2014 +0200 net: qmi_wwan: interface #11 in Sierra Wireless MC73xx is not QMI This interface is unusable, as the cdc-wdm character device doesn't reply to any QMI command. Also, the out-of-tree Sierra Wireless GobiNet driver fully skips it. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Acked-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> commit 9a793e71ebd6fc4a2649f33811589a9c4fe7f4e8 Author: Aleksander Morgado <aleksander@aleksander.es> Date: Thu May 29 13:44:45 2014 +0200 net: qmi_wwan: add additional Sierra Wireless QMI devices A set of new VID/PIDs retrieved from the out-of-tree GobiNet/GobiSerial Sierra Wireless drivers. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Acked-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> commit e0d7968ab6c8bce2437b36fa7f04117e333f196d Author: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> Date: Mon May 26 15:15:53 2014 +0900 bridge: Prevent insertion of FDB entry with disallowed vlan br_handle_local_finish() is allowing us to insert an FDB entry with disallowed vlan. For example, when port 1 and 2 are communicating in vlan 10, and even if vlan 10 is disallowed on port 3, port 3 can interfere with their communication by spoofed src mac address with vlan id 10. Note: Even if it is judged that a frame should not be learned, it should not be dropped because it is destined for not forwarding layer but higher layer. See IEEE 802.1Q-2011 8.13.10. Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> Acked-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit bfc5184b69cf9eeb286137640351c650c27f118a Author: Michal Schmidt <mschmidt@redhat.com> Date: Mon Jun 2 18:25:02 2014 +0200 netlink: rate-limit leftover bytes warning and print process name Any process is able to send netlink messages with leftover bytes. Make the warning rate-limited to prevent too much log spam. The warning is supposed to help find userspace bugs, so print the triggering command name to implicate the buggy program. [v2: Use pr_warn_ratelimited instead of printk_ratelimited.] Signed-off-by: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 192a98e280e560510a62aca8cfa83b4ae7c095bb Author: Takashi Iwai <tiwai@suse.de> Date: Mon Jun 2 15:16:07 2014 +0200 ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup The conversion to a fixup table for Replacer model with ALC260 in commit 20f7d928 took the wrong widget NID for COEF setups. Namely, NID 0x1a should have been used instead of NID 0x20, which is the common node for all Realtek codecs but ALC260. Fixes: 20f7d928fa6e ('ALSA: hda/realtek - Replace ALC260 model=replacer with the auto-parser') Cc: <stable@vger.kernel.org> [v3.4+] Signed-off-by: Takashi Iwai <tiwai@suse.de> commit e30cf2d2bed3aed74a651c64de323ba26e4ff7d0 Author: Ronan Marquet <ronan.marquet@orange.fr> Date: Sun Jun 1 18:38:53 2014 +0200 ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop Correcion of wrong fixup entries add in commit ca8f0424 to replace static model quirk for PB V7900 laptop (will model). [note: the removal of ALC260_FIXUP_HP_PIN_0F chain is also needed as a part of the fix; otherwise the pin is set up wrongly as a headphone, and user-space (PulseAudio) may be wrongly trying to detect the jack state -- tiwai] Fixes: ca8f04247eaa ('ALSA: hda/realtek - Add the fixup codes for ALC260 model=will') Signed-off-by: Ronan Marquet <ronan.marquet@orange.fr> Cc: <stable@vger.kernel.org> [v3.4+] Signed-off-by: Takashi Iwai <tiwai@suse.de> commit a3530e8fe980f756b823d451fe9243f26db95fa5 Author: Dave Young <dyoung@redhat.com> Date: Fri May 30 11:20:10 2014 +0800 x86/efi: Do not export efi runtime map in case old map For ioremapped efi memory aka old_map the virt addresses are not persistant across kexec reboot. kexec-tools will read the runtime maps from sysfs then pass them to 2nd kernel and assuming kexec efi boot is ok. This will cause kexec boot failure. To address this issue do not export runtime maps in case efi old_map so userspace can use no efi boot instead. Signed-off-by: Dave Young <dyoung@redhat.com> Acked-by: Borislav Petkov <bp@suse.de> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com> commit bf8102228a8bf053051f311e5486042fe0542894 Author: Doug Smythies <dsmythies@telus.net> Date: Fri May 30 10:10:57 2014 -0700 intel_pstate: Improve initial busy calculation This change makes the busy calculation using 64 bit math which prevents overflow for large values of aperf/mperf. Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Doug Smythies <dsmythies@telus.net> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit c4ee841f602e5eef8eab673295c49c5b49d7732b Author: Dirk Brandewie <dirk.j.brandewie@intel.com> Date: Thu May 29 09:32:24 2014 -0700 intel_pstate: add sample time scaling The PID assumes that samples are of equal time, which for a deferable timers this is not true when the system goes idle. This causes the PID to take a long time to converge to the min P state and depending on the pattern of the idle load can make the P state appear stuck. The hold-off value of three sample times before using the scaling is to give a grace period for applications that have high performance requirements and spend a lot of time idle, The poster child for this behavior is the ffmpeg benchmark in the Phoronix test suite. Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit f0fe3cd7e12d8290c82284b5c8aee723cbd0371a Author: Dirk Brandewie <dirk.j.brandewie@intel.com> Date: Thu May 29 09:32:23 2014 -0700 intel_pstate: Correct rounding in busy calculation Changing to fixed point math throughout the busy calculation in commit e66c1768 (Change busy calculation to use fixed point math.) Introduced some inaccuracies by rounding the busy value at two points in the calculation. This change removes roundings and moves the rounding to the output of the PID where the calculations are complete and the value returned as an integer. Fixes: e66c17683746 (intel_pstate: Change busy calculation to use fixed point math.) Reported-by: Doug Smythies <dsmythies@telus.net> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit adacdf3f2b8e65aa441613cf61c4f598e9042690 Author: Dirk Brandewie <dirk.j.brandewie@intel.com> Date: Thu May 29 09:32:22 2014 -0700 intel_pstate: Remove C0 tracking Commit fcb6a15c (intel_pstate: Take core C0 time into account for core busy calculation) introduced a regression referenced below. The issue with "lockup" after suspend that this commit was addressing is now dealt with in the suspend path. Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation) Link: https://bugzilla.kernel.org/show_bug.cgi?id=66581 Link: https://bugzilla.kernel.org/show_bug.cgi?id=75121 Reported-by: Doug Smythies <dsmythies@telus.net> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 91b0275c0ecd1870c5f8bfb73e2da2d6c29414b3 Author: Christian König <christian.koenig@amd.com> Date: Fri May 30 17:52:27 2014 +0200 drm/radeon: use the CP DMA on CIK The SDMA sometimes doesn't seem to work reliable. Signed-off-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org commit 37903b5e08ec9a481a811287b4db3dfe61f6e31f Author: Christian König <christian.koenig@amd.com> Date: Fri May 30 15:21:16 2014 +0200 drm/radeon: sync page table updates Only necessary if we don't use the same engine for buffer moves and table updates. Signed-off-by: Christian König <christian.koenig@amd.com> commit 2f93dc32b09a2c97f6f33bafe4c6bdcec7cae774 Author: Christian König <christian.koenig@amd.com> Date: Sat May 31 20:38:34 2014 +0200 drm/radeon: fix vm buffer size estimation Only relevant if we got VM_BLOCK_SIZE>9, but better save than sorry. Signed-off-by: Christian König <christian.koenig@amd.com> commit c65c7a306610ee7c13669a8f5601b472c19dc6f1 Author: Jon Maxwell <jmaxwell37@gmail.com> Date: Thu May 29 17:27:16 2014 +1000 bridge: notify user space after fdb update There has been a number incidents recently where customers running KVM have reported that VM hosts on different Hypervisors are unreachable. Based on pcap traces we found that the bridge was broadcasting the ARP request out onto the network. However some NICs have an inbuilt switch which on occasions were broadcasting the VMs ARP request back through the physical NIC on the Hypervisor. This resulted in the bridge changing ports and incorrectly learning that the VMs mac address was external. As a result the ARP reply was directed back onto the external network and VM never updated it's ARP cache. This patch will notify the bridge command, after a fdb has been updated to identify such port toggling. Signed-off-by: Jon Maxwell <jmaxwell37@gmail.com> Reviewed-by: Jiri Pirko <jiri@resnulli.us> Acked-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit ba6f582606655754d9dfbfc9dffe75dcf806f1dd Author: Sergei Antonov <saproj@gmail.com> Date: Mon May 12 00:30:48 2014 +0200 drm/crtc-helper: skip locking checks in panicking path Skip locking checks in drm_helper_*_in_use() if they are called in panicking path. See similar code in drm_warn_on_modeset_not_all_locked(). After panic information has been output, these WARN_ONs go off outputing a lot of lines and scrolling the panic information out of the screen. Here is a partial call trace showing how execution reaches them: ? drm_helper_crtc_in_use() ? __drm_helper_disable_unused_functions() ? several *_set_config functions ? drm_fb_helper_restore_fbdev_mode() Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Sergei Antonov <saproj@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com> commit 3640da2faa952a2e9439a254c1ce76033ca0a6dc Author: Alex Deucher <alexdeucher@gmail.com> Date: Fri May 30 12:40:15 2014 -0400 drm/radeon/dpm: resume fixes for some systems Setting the power state prior to restoring the display hardware leads to blank screens on some systems. Drop the power state set from dpm resume. The power state will get set as part of the mode set sequence. Also add an explicit power state set after mode set resume to cover PX and headless systems. bug: https://bugzilla.kernel.org/show_bug.cgi?id=76761 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com> commit 4324be1e0bab67194a263be263b7e48c176d43c7 Author: Aleksander Morgado <aleksander@aleksander.es> Date: Wed May 28 21:05:03 2014 +0200 net: qmi_wwan: add Netgear AirCard 341U Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Acked-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> commit 4b9b1cdf83c4facba89e0646aeac8ead679851b8 Author: Nikolay Aleksandrov <nikolay@redhat.com> Date: Wed May 28 18:03:48 2014 +0200 net: fix wrong mac_len calculation for vlans After 1e785f48d29a ("net: Start with correct mac_len in skb_network_protocol") skb->mac_len is used as a start of the calculation in skb_network_protocol() but that is not always correct. If skb->protocol == 8021Q/AD, usually the vlan header is already inserted in the skb (i.e. vlan reorder hdr == 0). Usually when the packet enters dev_hard_xmit it has mac_len == 0 so we take 2 bytes from the destination mac address (skb->data + VLAN_HLEN) as a type in skb_network_protocol() and return vlan_depth == 4. In the case where TSO is off, then the mac_len is set but it's == 18 (ETH_HLEN + VLAN_HLEN), so skb_network_protocol() returns a type from inside the packet and offset == 22. Also make vlan_depth unsigned as suggested before. As suggested by Eric Dumazet, move the while() loop in the if() so we can avoid additional testing in fast path. Here are few netperf tests + debug printk's to illustrate: cat netperf.tso-on.reorder-on.bugged - Vlan -> device (reorder on, default, this case is okay) MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.3.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 7111.54 [ 81.605435] skb->len 65226 skb->gso_size 1448 skb->proto 0x800 skb->mac_len 0 vlan_depth 0 type 0x800 - Vlan -> device (reorder off, bad) cat netperf.tso-on.reorder-off.bugged MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.3.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 241.35 [ 204.578332] skb->len 1518 skb->gso_size 0 skb->proto 0x8100 skb->mac_len 0 vlan_depth 4 type 0x5301 0x5301 are the last two bytes of the destination mac. And if we stop TSO, we may get even the following: [ 83.343156] skb->len 2966 skb->gso_size 1448 skb->proto 0x8100 skb->mac_len 18 vlan_depth 22 type 0xb84 Because mac_len already accounts for VLAN_HLEN. After the fix: cat netperf.tso-on.reorder-off.fixed MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.3.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.01 5001.46 [ 81.888489] skb->len 65230 skb->gso_size 1448 skb->proto 0x8100 skb->mac_len 0 vlan_depth 18 type 0x800 CC: Vlad Yasevich <vyasevic@redhat.com> CC: Eric Dumazet <eric.dumazet@gmail.com> CC: Daniel Borkman <dborkman@redhat.com> CC: David S. Miller <davem@davemloft.net> Fixes:1e785f48d29a ("net: Start with correct mac_len in skb_network_protocol") Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit fad01e866afdbe01a1f3ec06a39c3a8b9e197014 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 1 19:12:24 2014 -0700 Linux 3.15-rc8 commit 204fe0380b14557a3179cf18f1101d4ed6532172 Merge: 568180a 8212f58 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 1 18:30:07 2014 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fix from Ben Herrenschmidt: "Here's just one trivial patch to wire up sys_renameat2 which I seem to have completely missed so far. (My test build scripts fwd me warnings but miss the ones generated for missing syscalls)" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Wire renameat2() syscall commit 568180a517aee88a8afdc9938f6884e047a2613f Merge: 3243970 f3f0d95 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 1 18:28:58 2014 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: "A fair number of fixes across the field. Nothing terribly complicated; the one liners in below changelog should be fairly descriptive. Noteworthy is the SB1 change which the result of changes to binutils resulting in one big gas warning for most files being assembled as well as the asid_cache and branch emulation fixes which fix corruption or possible uninteded behaviour of kernel or application code. The remainder of fixes are more platforms or subsystem specific" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: R46000: Fix Micro-assembler field overflow for R4600 V2 MIPS: ptrace: Avoid smp_processor_id() in preemptible code MIPS: Lemote 2F: cs5536: mfgpt: use raw locks MIPS: SB1: Fix excessive kernel warnings. MIPS: RC32434: fix broken PCI resource initialization MIPS: malta: memory.c: Initialize the 'memsize' variable MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores MIPS: Fix inconsistancy of __NR_Linux_syscalls value MIPS: Fix branch emulation of branch likely instructions. MIPS: Fix a typo error in AUDIT_ARCH definition MIPS: Change type of asid_cache to unsigned long commit 32439700fe1c0fc3c2d3f2aedd3ad6707c88b8ba Merge: a4bf79e 6acbfb9 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jun 1 18:26:59 2014 -0700 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: "Various fixlets, mostly related to the (root-only) SCHED_DEADLINE policy, but also a hotplug bug fix and a fix for a NR_CPUS related overallocation bug causing a suspend/resume regression" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Fix hotplug vs. set_cpus_allowed_ptr() sched/cpupri: Replace NR_CPUS arrays sched/deadline: Replace NR_CPUS arrays sched/deadline: Restrict user params max value to 2^63 ns sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE sched: Disallow sched_attr::sched_policy < 0 sched: Make sched_setattr() correctly return -EFBIG commit 8212f58a9b151d842fa60a70f354e43c61fad839 Author: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: Mon Jun 2 09:24:27 2014 +1000 powerpc: Wire renameat2() syscall Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> commit 6ce995c6f466e59a5f16e6eae8b265c1d13bb202 Merge: dbfc4b6 af0a171 Author: David S. Miller <davem@davemloft.net> Date: Sat May 31 20:01:47 2014 -0700 Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge Included changes: - prevent NULL dereference in multicast code Antonion Quartulli says: ==================== pull request net: batman-adv 20140527 here you have another very small fix intended for net/linux-3.15. It prevents some multicast functions from dereferencing a NULL pointer. (Actually it was nothing more than a typo) I hope it is not too late for such a small patch. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit a4bf79eb6a42e863e0fccf19f9383c618e8efc43 Merge: 80e0679 397335f Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat May 31 09:47:55 2014 -0700 Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core futex/rtmutex fixes from Thomas Gleixner: "Three fixlets for long standing issues in the futex/rtmutex code unearthed by Dave Jones syscall fuzzer: - Add missing early deadlock detection checks in the futex code - Prevent user space from attaching a futex to kernel threads - Make the deadlock detector of rtmutex work again Looks large, but is more comments than code change" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: rtmutex: Fix deadlock detector for real futex: Prevent attaching to kernel threads futex: Add another early deadlock detection check commit 80e0679469a481ab8baa4fe982205f99004a0686 Merge: 9f12600 18ee37a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat May 31 09:19:02 2014 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Mostly quiet now: i915: fixing userspace visiblie issues, all stable marked radeon: one more pll fix, two crashers, one suspend/resume regression" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon: Resume fbcon last drm/radeon: only allocate necessary size for vm bo list drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission drm/radeon: avoid crash if VM command submission isn't available drm/radeon: lower the ref * post PLL maximum once more drm/i915: Prevent negative relocation deltas from wrapping drm/i915: Only copy back the modified fields to userspace from execbuffer drm/i915: Fix dynamic allocation of physical handles commit 9f12600fe425bc28f0ccba034a77783c09c15af4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat May 31 09:13:21 2014 -0700 dcache: add missing lockdep annotation lock_parent() very much on purpose does nested locking of dentries, and is careful to maintain the right order (lock parent first). But because it didn't annotate the nested locking order, lockdep thought it might be a deadlock on d_lock, and complained. Add the proper annotation for the inner locking of the child dentry to make lockdep happy. Introduced by commit 046b961b45f9 ("shrink_dentry_list(): take parent's ->d_lock earlier"). Reported-and-tested-by: Josh Boyer <jwboyer@fedoraproject.org> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit af0a171c07174661db71f92e442d4e6e90984b77 Author: Marek Lindner <mareklindner@neomailbox.ch> Date: Thu Apr 24 03:41:26 2014 +0800 batman-adv: fix NULL pointer dereferences Was introduced with 4c8755d69cbde2ec464a39c932aed0a83f9ff89f ("batman-adv: Send multicast packets to nodes with a WANT_ALL flag") Reported-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Acked-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit dbfc4b698ab83494eb8a03f5f3c478cec29a4f62 Merge: 554215c f44a5f4 Author: David S. Miller <davem@davemloft.net> Date: Fri May 30 17:56:09 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== The following patchset contains a late fix for IPVS: * Fix crash when trying to remove the transport header with non-linear skbuffs, this was introduced in 3.6-rc. Patch from Peter Christensen via the IPVS folks. I'll pass this to -stable once this hits mainstream. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 554215c5ca08d196ed48a66693e7fc6e5f81f00e Merge: 111c609 45fb4f8 Author: David S. Miller <davem@davemloft.net> Date: Fri May 30 17:32:53 2014 -0700 Merge tag 'linux-can-fixes-for-3.15-20140528' of git://gitorious.org/linux-can/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2014-05-28 here's a pull request for v3.15, hope it's not too late. Oliver Hartkopp fixed a bug in the CAN led trigger device renaming code. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 111c6094bd7731cb1a415b2ea7d450fa23d6857c Author: Jack Morgenstein <jackm@dev.mellanox.co.il> Date: Tue May 27 09:26:38 2014 +0300 net/mlx4_core: Reset RoCE VF gids when guest driver goes down Reset the GIDs assigned to a VF in the port RoCE GID table when that guest goes down (either crashes or goes down cleanly). As part of this fix, we refactor the RoCE gid table driver copy, moving it to the mlx4_port_info structure (together with the MAC and VLAN tables). As with the MAC and VLAN tables, we now use a mutex per port for the GID table so that modifying the driver copy and modifying the firmware copy of a port GID table becomes an atomic operation (thus avoiding driver-copy/FW-copy mismatches). Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 09271db6e0f2b282f9bfe0ab6e8b644a93237c5e Author: Ivan Mikhaylov <ivan@ru.ibm.com> Date: Mon May 26 22:34:39 2014 +0400 emac: aggregation of v1-2 PLB errors for IER register Aggreagation of version 1-2 because of version 1 can hit PLB errors too. If it's not set so we missing events for PLB bits and driver can't process those interrupts. Signed-off-by: Ivan Mikhaylov <ivan@ru.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit faacd3af0cf4a3ef5565da86038812a25f6fe9eb Author: Ivan Mikhaylov <ivan@ru.ibm.com> Date: Mon May 26 22:24:17 2014 +0400 emac: add missing support of 10mbit in emac/rgmii In chips of emac/rgmii b'000' for 0/1 channel isn't suitable which resulted in non working network interface in this mode. Signed-off-by: Ivan Mikhaylov <ivan@ru.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 18ee37a485653aa635cfab9a3710e9bcf5fbca01 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Fri May 30 16:41:23 2014 +0200 drm/radeon: Resume fbcon last So a few people complained that commit 177cf92de4aa97ec1435987e91696ed8b5023130 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue Apr 1 22:14:59 2014 +0200 drm/crtc-helpers: fix dpms on logic which was merged into 3.15-rc1, broke resume on radeons. Strangely git bisect lead everyone to commit 25f397a429dfa43f22c278d0119a60a343aa568f Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Fri Jul 19 18:57:11 2013 +0200 drm/crtc-helper: explicit DPMS on after modeset which was merged long ago and actually part of 3.14. Digging deeper I've noticed (again) that the call to drm_helper_resume_force_mode in the radeon resume handlers was a no-op previously because everything gets shut down on suspend. radeon does this with explicit calls to drm_helper_connector_dpms with DPMS_OFF. But with 177c we now force the dpms state to ON, so suddenly resume_force_mode actually forced the crtcs back on. This is the intention of the change after all, the problem is that radeon resumes the fbdev console layer _before_ restoring the display, through calling fb_set_suspend. And fbcon does an immediate ->set_par, which in turn causes the same forced mode restore to happen. Two concurrent modeset operations didn't lead to happiness. Fix this by delaying the fbcon resume until the end of the readeon resum functions. v2: Fix up a bit of the spelling fail. References: https://lkml.org/lkml/2014/5/29/1043 References: https://lkml.org/lkml/2014/5/2/388 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=74751 Tested-by: Ken Moffat <zarniwhoop@ntlworld.com> Cc: Alex Deucher <alexdeucher@gmail.com> Cc: Ken Moffat <zarniwhoop@ntlworld.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@gmail.com> commit 1446e04c9b9b7d27437a5fefee37d9984afcd560 Merge: efb27e7 7d95f6c Author: Dave Airlie <airlied@gmail.com> Date: Sat May 31 09:19:05 2014 +1000 Merge branch 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-fixes this is the next pull request for stashed up radeon fixes for 3.15. This is finally calming down with only four patches in this pull request. * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux: drm/radeon: only allocate necessary size for vm bo list drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission drm/radeon: avoid crash if VM command submission isn't available drm/radeon: lower the ref * post PLL maximum once more commit 1487385edb55a68a629cf3a30fc04958ad798df1 Merge: 1326af2 0f68f39 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 30 12:07:48 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input subsystem fixes from Dmitry Torokhov: "A couple of driver/build fixups and also redone quirk for Synaptics touchpads on Lenovo boxes (now using PNP IDs instead of DMI data to limit number of quirks)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: synaptics - change min/max quirk table to pnp-id matching Input: synaptics - add a matches_pnp_id helper function Input: synaptics - T540p - unify with other LEN0034 models Input: synaptics - add min/max quirk for the ThinkPad W540 Input: ambakmi - request a shared interrupt for AMBA KMI devices Input: pxa27x-keypad - fix generating scancode Input: atmel-wm97xx - only build for AVR32 Input: fix ps2/serio module dependency commit 1326af2464fc29290d1710447297d33a90a6ece4 Merge: 24e19d2 2fe2023 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 30 12:06:15 2014 -0700 Merge tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 Pull firewire fix from Stefan Richter: "A regression fix for the IEEE 1394 subsystem: re-enable IRQ-based asynchronous request reception at addresses below 128 TB" * tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: revert to 4 GB RDMA, fix protocols using Memory Space commit 24e19d279f9e289e965b4bc4710fbccab824c4c4 Merge: 6538b8e 63d832c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 30 12:04:56 2014 -0700 Merge tag 'dm-3.15-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device-mapper fixes from Mike Snitzer: "A dm-cache stable fix to split discards on cache block boundaries because dm-cache cannot yet handle discards that span cache blocks. Really fix a dm-mpath LOCKDEP warning that was introduced in -rc1. Add a 'no_space_timeout' control to dm-thinp to restore the ability to queue IO indefinitely when no data space is available. This fixes a change in behavior that was introduced in -rc6 where the timeout couldn't be disabled" * tag 'dm-3.15-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm mpath: really fix lockdep warning dm cache: always split discards on cache block boundaries dm thin: add 'no_space_timeout' dm-thin-pool module param commit 6538b8ea886e472f4431db8ca1d60478f838d14b Author: Minchan Kim <minchan@kernel.org> Date: Wed May 28 15:53:59 2014 +0900 x86_64: expand kernel stack to 16K While I play inhouse patches with much memory pressure on qemu-kvm, 3.14 kernel was randomly crashed. The reason was kernel stack overflow. When I investigated the problem, the callstack was a little bit deeper by involve with reclaim functions but not direct reclaim path. I tried to diet stack size of some functions related with alloc/reclaim so did a hundred of byte but overflow was't disappeard so that I encounter overflow by another deeper callstack on reclaim/allocator path. Of course, we might sweep every sites we have found for reducing stack usage but I'm not sure how long it saves the world(surely, lots of developer start to add nice features which will use stack agains) and if we consider another more complex feature in I/O layer and/or reclaim path, it might be better to increase stack size( meanwhile, stack usage on 64bit machine was doubled compared to 32bit while it have sticked to 8K. Hmm, it's not a fair to me and arm64 already expaned to 16K. ) So, my stupid idea is just let's expand stack size and keep an eye toward stack consumption on each kernel functions via stacktrace of ftrace. For example, we can have a bar like that each funcion shouldn't exceed 200K and emit the warning when some function consumes more in runtime. Of course, it could make false positive but at least, it could make a chance to think over it. I guess this topic was discussed several time so there might be strong reason not to increase kernel stack size on x86_64, for me not knowing so Ccing x86_64 maintainers, other MM guys and virtio maintainers. Here's an example call trace using up the kernel stack: Depth Size Location (51 entries) ----- ---- -------- 0) 7696 16 lookup_address 1) 7680 16 _lookup_address_cpa.isra.3 2) 7664 24 __change_page_attr_set_clr 3) 7640 392 kernel_map_pages 4) 7248 256 get_page_from_freelist 5) 6992 352 __alloc_pages_nodemask 6) 6640 8 alloc_pages_current 7) 6632 168 new_slab 8) 6464 8 __slab_alloc 9) 6456 80 __kmalloc 10) 6376 376 vring_add_indirect 11) 6000 144 virtqueue_add_sgs 12) 5856 288 __virtblk_add_req 13) 5568 96 virtio_queue_rq 14) 5472 128 __blk_mq_run_hw_queue 15) 5344 16 blk_mq_run_hw_queue 16) 5328 96 blk_mq_insert_requests 17) 5232 112 blk_mq_flush_plug_list 18) 5120 112 blk_flush_plug_list 19) 5008 64 io_schedule_timeout 20) 4944 128 mempool_alloc 21) 4816 96 bio_alloc_bioset 22) 4720 48 get_swap_bio 23) 4672 160 __swap_writepage 24) 4512 32 swap_writepage 25) 4480 320 shrink_page_list 26) 4160 208 shrink_inactive_list 27) 3952 304 shrink_lruvec 28) 3648 80 shrink_zone 29) 3568 128 do_try_to_free_pages 30) 3440 208 try_to_free_pages 31) 3232 352 __alloc_pages_nodemask 32) 2880 8 alloc_pages_current 33) 2872 200 __page_cache_alloc 34) 2672 80 find_or_create_page 35) 2592 80 ext4_mb_load_buddy 36) 2512 176 ext4_mb_regular_allocator 37) 2336 128 ext4_mb_new_blocks 38) 2208 256 ext4_ext_map_blocks 39) 1952 160 ext4_map_blocks 40) 1792 384 ext4_writepages 41) 1408 16 do_writepages 42) 1392 96 __writeback_single_inode 43) 1296 176 writeback_sb_inodes 44) 1120 80 __writeback_inodes_wb 45) 1040 160 wb_writeback 46) 880 208 bdi_writeback_workfn 47) 672 144 process_one_work 48) 528 112 worker_thread 49) 416 240 kthread 50) 176 176 ret_from_fork [ Note: the problem is exacerbated by certain gcc versions that seem to generate much bigger stack frames due to apparently bad coalescing of temporaries and generating too many spills. Rusty saw gcc-4.6.4 using 35% more stack on the virtio path than 4.8.2 does, for example. Minchan not only uses such a bad gcc version (4.6.3 in his case), but some of the stack use is due to debugging (CONFIG_DEBUG_PAGEALLOC is what causes that kernel_map_pages() frame, for example). But we're clearly getting too close. The VM code also seems to have excessive stack frames partly for the same compiler reason, triggered by excessive inlining and lots of function arguments. We need to improve on our stack use, but in the meantime let's do this simple stack increase too. Unlike most earlier reports, there is nothing simple that stands out as being really horribly wrong here, apart from the fact that the stack frames are just bigger than they should need to be. - Linus ] Signed-off-by: Minchan Kim <minchan@kernel.org> Cc: Peter Anvin <hpa@zytor.com> Cc: Dave Chinner <david@fromorbit.com> Cc: Dave Jones <davej@redhat.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Mel Gorman <mgorman@suse.de> Cc: Rik van Riel <riel@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Hugh Dickins <hughd@google.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Michael S Tsirkin <mst@redhat.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: PJ Waskiewicz <pjwaskiewicz@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 6f6111e4a73d0f6370eb8be4f8e4523210b6a67d Merge: fe45736 8cbf74d Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 30 09:52:55 2014 -0700 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs dcache livelock fix from Al Viro: "Fixes for livelocks in shrink_dentry_list() introduced by fixes to shrink list corruption; the root cause was that trylock of parent's ->d_lock could be disrupted by d_walk() happening on other CPUs, resulting in shrink_dentry_list() making no progress *and* the same d_walk() being called again and again for as long as shrink_dentry_list() doesn't get past that mess. The solution is to have shrink_dentry_list() treat that trylock failure not as 'try to do the same thing again', but 'lock them in the right order'" * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: dentry_kill() doesn't need the second argument now dealing with the rest of shrink_dentry_list() livelock shrink_dentry_list(): take parent's ->d_lock earlier expand dentry_kill(dentry, 0) in shrink_dentry_list() split dentry_kill() lift the "already marked killed" case into shrink_dentry_list() commit 8cbf74da435d1bd13dbb790f94c7ff67b2fb6af4 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Thu May 29 09:18:26 2014 -0400 dentry_kill() doesn't need the second argument now it's 1 in the only remaining caller. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit b2b80195d8829921506880f6dccd21cabd163d0d Author: Al Viro <viro@zeniv.linux.org.uk> Date: Thu May 29 09:11:45 2014 -0400 dealing with the rest of shrink_dentry_list() livelock We have the same problem with ->d_lock order in the inner loop, where we are dropping references to ancestors. Same solution, basically - instead of using dentry_kill() we use lock_parent() (introduced in the previous commit) to get that lock in a safe way, recheck ->d_count (in case if lock_parent() has ended up dropping and retaking ->d_lock and somebody managed to grab a reference during that window), trylock the inode->i_lock and use __dentry_kill() to do the rest. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit 046b961b45f93a92e4c70525a12f3d378bced130 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Thu May 29 08:54:52 2014 -0400 shrink_dentry_list(): take parent's ->d_lock earlier The cause of livelocks there is that we are taking ->d_lock on dentry and its parent in the wrong order, forcing us to use trylock on the parent's one. d_walk() takes them in the right order, and unfortunately it's not hard to create a situation when shrink_dentry_list() can't make progress since trylock keeps failing, and shrink_dcache_parent() or check_submounts_and_drop() keeps calling d_walk() disrupting the very shrink_dentry_list() it's waiting for. Solution is straightforward - if that trylock fails, let's unlock the dentry itself and take locks in the right order. We need to stabilize ->d_parent without holding ->d_lock, but that's doable using RCU. And we'd better do that in the very beginning of the loop in shrink_dentry_list(), since the checks on refcount, etc. would need to be redone anyway. That deals with a half of the problem - killing dentries on the shrink list itself. Another one (dropping their parents) is in the next commit. locking parent is interesting - it would be easy to do rcu_read_lock(), lock whatever we think is a parent, lock dentry itself and check if the parent is still the right one. Except that we need to check that *before* locking the dentry, or we are risking taking ->d_lock out of order. Fortunately, once the D1 is locked, we can check if D2->d_parent is equal to D1 without the need to lock D2; D2->d_parent can start or stop pointing to D1 only under D1->d_lock, so taking D1->d_lock is enough. In other words, the right solution is rcu_read_lock/lock what looks like parent right now/check if it's still our parent/rcu_read_unlock/lock the child. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit 7d95f6cc4ef73572a43d4a0a1907a13ace17a62a Author: Christian König <christian.koenig@amd.com> Date: Wed May 28 12:24:17 2014 +0200 drm/radeon: only allocate necessary size for vm bo list No need to always allocate the theoretical maximum here. Signed-off-by: Christian König <christian.koenig@amd.com> commit ec65da385d46f63740c1c9230b891a6dcbd64c71 Author: Marek Olšák <marek.olsak@amd.com> Date: Tue May 27 02:56:36 2014 +0200 drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission It hangs the hardware. Signed-off-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org commit 60a445405a1731bac2279eab354173c9c3156747 Author: Christian König <christian.koenig@amd.com> Date: Wed May 21 17:43:59 2014 +0200 drm/radeon: avoid crash if VM command submission isn't available Signed-off-by: Christian König <christian.koenig@amd.com> CC: stable@vger.kernel.org commit 4b21ce1b4b5d262e7d4656b8ececc891fc3cb806 Author: Christian König <christian.koenig@amd.com> Date: Wed May 21 15:25:41 2014 +0200 drm/radeon: lower the ref * post PLL maximum once more Let's be conservative and use 100 here until we find something better. Bugs: https://bugzilla.kernel.org/show_bug.cgi?id=75241 Signed-off-by: Christian König <christian.koenig@amd.com> commit 598e306184d26fa1d546334f2eb370b4d94a4ad3 Author: Takashi Iwai <tiwai@suse.de> Date: Fri May 23 09:21:06 2014 +0200 ALSA: hda/analog - Fix silent output on ASUS A8JN ASUS A8JN with AD1986A codec seems following the normal EAPD in the normal order (0 = off, 1 = on) unlike other machines with AD1986A. Apply the workaround used for Toshiba laptop that showed the same problem. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=75041 Cc: <stable@vger.kernel.org> [3.11+] Signed-off-by: Takashi Iwai <tiwai@suse.de> commit fe45736f4134b9656c656ac5e15b915192f2704a Merge: a991639 3f8517e Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 29 18:31:09 2014 -0700 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "The usual random collection of relatively small ARM fixes" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8063/1: bL_switcher: fix individual online status reporting of removed CPUs ARM: 8064/1: fix v7-M signal return ARM: 8057/1: amba: Add Qualcomm vendor ID. ARM: 8052/1: unwind: Fix handling of "Pop r4-r[4+nnn],r14" opcode ARM: 8051/1: put_user: fix possible data corruption in put_user ARM: 8048/1: fix v7-M setup stack location commit a991639c26c7231ddb6de7f34899fb70832b7d04 Merge: f035b3d ceb2183 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 29 14:14:43 2014 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fix from Will Deacon: "Fix CoW regression for transparent hugepages by routing set_pmd_at to set_pte_at, which correctly handles PTE_WRITE and will mark the resulting table entry as read-only where appropriate" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: mm: fix pmd_write CoW brokenness commit f035b3d32256b93a4c39622afe6ac7ade8eedbea Merge: 15a7b60 9b961aa Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 29 14:05:57 2014 -0700 Merge tag 'pm+acpi-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management fixes from Rafael Wysocki: "These are three stable-candidate fixes, one for the ACPI thermal driver and two for cpufreq drivers. Specifics: - A workqueue is destroyed too early during the ACPI thermal driver module unload which leads to a NULL pointer dereference in the driver's remove callback. Fix from Aaron Lu. - A wrong argument is passed to devm_regulator_get_optional() in the probe routine of the cpu0 cpufreq driver which leads to resource leaks if the driver is unbound from the cpufreq platform device. Fix from Lucas Stach. - A lock is missing in cpufreq_governor_dbs() which leads to memory corruption and NULL pointer dereferences during system suspend/resume, for example. Fix from Bibek Basu" * tag 'pm+acpi-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / thermal: fix workqueue destroy order cpufreq: cpu0: drop wrong devm usage cpufreq: remove race while accessing cur_policy commit 15a7b60ea157d4e7cb498ac88515a558d79d7da2 Merge: f2159d1 5178438 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 29 13:59:18 2014 -0700 Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux Pull clock fixes from Mike Turquette: "Small number of user-visible regression fixes for clock drivers. There is a memory leak fix for an ST platform, an infinite Loop Of Doom fix for the recent changes to the basic clock divider (hopefully the last fix for those recent changes) and some Tegra PLL changes which keep PCI from being hosed on that platform" * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux: clk: st: Fix memory leak clk: divider: Fix table round up function clk: tegra: Fix enabling of PLLE clk: tegra: Introduce divider mask and shift helpers clk: tegra: Fix PLLE programming commit 2fe2023adf695d08af5b598b2be3b288a95d563c Author: Stefan Richter <stefanr@s5r6.in-berlin.de> Date: Thu May 29 15:23:26 2014 +0200 firewire: revert to 4 GB RDMA, fix protocols using Memory Space Undo a feature introduced in v3.14 by commit fcd46b34425d "firewire: Enable remote DMA above 4 GB". That change raised the minimum address at which protocol drivers and user programs can register for request reception from 0x0001'0000'0000 to 0x8000'0000'0000. It turned out that at least one vendor-specific protocol exists which uses lower addresses: https://bugzilla.kernel.org/show_bug.cgi?id=76921 For the time being, revert most of commit fcd46b34425d so that affected protocols work like with kernel v3.13 and before. Just keep the valid documentation parts from the regressing commit, and the ability to identify controllers which could be programmed to accept >32 bit physical DMA addresses. The rest of fcd46b34425d should probably be brought back as an optional instead of default feature. Reported-by: Fabien Spindler <fabien.spindler@inria.fr> Cc: <stable@vger.kernel.org> # 3.14+ Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> commit ff2fde9929feb2aef45377ce56b8b12df85dda69 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Wed May 28 13:59:13 2014 -0400 expand dentry_kill(dentry, 0) in shrink_dentry_list() Result will be massaged to saner shape in the next commits. It is ugly, no questions - the point of that one is to be a provably equivalent transformation (and it might be worth splitting a bit more). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit e55fd011549eae01a230e3cace6f4d031b6a3453 Author: Al Viro <viro@zeniv.linux.org.uk> Date: Wed May 28 13:51:12 2014 -0400 split dentry_kill() ... into trylocks and everything else. The latter (actual killing) is __dentry_kill(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit ceb218359de22e70980801d4fa04fffbfc44adb8 Author: Will Deacon <will.deacon@arm.com> Date: Tue May 27 19:11:58 2014 +0100 arm64: mm: fix pmd_write CoW brokenness Commit 9c7e535fcc17 ("arm64: mm: Route pmd thp functions through pte equivalents") changed the pmd manipulator and accessor functions to convert the target pmd to a pte, process it with the pte functions, then convert it back. Along the way, we gained support for PTE_WRITE, however this is completely ignored by set_pmd_at, and so we fail to set the PMD_SECT_RDONLY for PMDs, resulting in all sorts of lovely failures (like CoW not working). Partially reverting the offending commit (by making use of PMD_SECT_RDONLY explicitly for pmd_{write,wrprotect,mkwrite} functions) leads to further issues because pmd_write can then return potentially incorrect values for page table entries marked as RDONLY, leading to BUG_ON(pmd_write(entry)) tripping under some THP workloads. This patch fixes the issue by routing set_pmd_at through set_pte_at, which correctly takes the PTE_WRITE flag into account. Given that THP mappings are always anonymous, the additional cache-flushing code in __sync_icache_dcache won't impose any significant overhead as the flush will be skipped. Cc: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Steve Capper <steve.capper@arm.com> Tested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> commit 2ac295a544dcae9299cba13ce250419117ae7fd1 Author: NeilBrown <neilb@suse.de> Date: Thu May 29 11:40:03 2014 +1000 md: always set MD_RECOVERY_INTR when interrupting a reshape thread. Commit 8313b8e57f55b15e5b7f7fc5d1630bbf686a9a97 md: fix problem when adding device to read-only array with bitmap. added a called to md_reap_sync_thread() which cause a reshape thread to be interrupted (in particular, it could cause md_thread() to never even call md_do_sync()). However it didn't set MD_RECOVERY_INTR so ->finish_reshape() would not know that the reshape didn't complete. This only happens when mddev->ro is set and normally reshape threads don't run in that situation. But raid5 and raid10 can start a reshape thread during "run" is the array is in the middle of a reshape. They do this even if ->ro is set. So it is best to set MD_RECOVERY_INTR before abortingg the sync thread, just in case. Though it rare for this to trigger a problem it can cause data corruption because the reshape isn't finished properly. So it is suitable for any stable which the offending commit was applied to. (3.2 or later) Fixes: 8313b8e57f55b15e5b7f7fc5d1630bbf686a9a97 Cc: stable@vger.kernel.org (3.2+) Signed-off-by: NeilBrown <neilb@suse.de> commit 5dc2808c4729bf080487e61b80ee04e0fdb12a37 Author: Mathias Nyman <mathias.nyman@linux.intel.com> Date: Wed May 28 23:51:13 2014 +0300 xhci: delete endpoints from bandwidth list before freeing whole device Lists of endpoints are stored for bandwidth calculation for roothub ports. Make sure we remove all endpoints from the list before the whole device, containing its endpoints list_head stuctures, is freed. This used to be done in the wrong order in xhci_mem_cleanup(), and triggered an oops in resume from S4 (hibernate). Cc: stable <stable@vger.kernel.org> Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 9326c5ca0982f548cc08c0cffb14dcbd020f3d43 Author: Sean MacLennan <seanm@seanm.ca> Date: Wed May 28 11:19:00 2014 -0400 staging: r8192e_pci: fix htons error A sparse error fixup removed a htons() which is required for the driver to function. This patch puts the htons() back and fixes the sparse warning correctly by changing the left side cast. Signed-off-by: Sean MacLennan <seanm@seanm.ca> Cc: stable <stable@vger.kernel.org> # 3.14 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit b38f09ccc3fd453180e96273bf3f34083c30809a Author: Mathias Nyman <mathias.nyman@linux.intel.com> Date: Wed May 28 23:18:35 2014 +0300 usb: pci-quirks: Prevent Sony VAIO t-series from switching usb ports Sony VAIO t-series machines are not capable of switching usb2 ports over from Intel EHCI to xHCI controller. If tried the USB2 port will be left unconnected and unusable. This patch should be backported to stable kernels as old as 3.12, that contain the commit 26b76798e0507429506b93cd49f8c4cfdab06896 "Intel xhci: refactor EHCI/xHCI port switching" Cc: stable <stable@vger.kernel.org> # 3.12 Reported-by: Jorge <xxopxe@gmail.com> Tested-by: Jorge <xxopxe@gmail.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit f2159d1e99612ceb94bf9a2dc2fbca409d828b1b Merge: 2826958 77f0780 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 28 11:17:41 2014 -0700 Merge tag 'sound-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Just two small stable fixes: an HD-audio fix for the new Intel chipsets and a PM handling fix in PCM dmaengine core" * tag 'sound-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix onboard audio on Intel H97/Z97 chipsets ALSA: pcm_dmaengine: Add check during device suspend commit 282695802957b069d293a9f8773a14399093bd6f Merge: 4efdedc b6dd6f4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 28 11:15:57 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fix from Al Viro: "Oh, well... Still nothing useful on that livelock (I had something that looked kinda-sorta like a non-invasive solution, but it deadlocks), so it's just Miklos' vmsplice fix for now" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vfs: fix vmplice_to_user() commit 3f8517e7937d04ac7df9082c741fefc9c873065b Author: Nicolas Pitre <nicolas.pitre@linaro.org> Date: Fri May 23 22:31:44 2014 +0100 ARM: 8063/1: bL_switcher: fix individual online status reporting of removed CPUs The content of /sys/devices/system/cpu/cpu*/online is still 1 for those CPUs that the switcher has removed even though the global state in /sys/devices/system/cpu/online is updated correctly. It turns out that commit 0902a9044f ("Driver core: Use generic offline/online for CPU offline/online") has changed the way those files retrieve their content by relying on on the generic attribute handling code. The switcher, by calling cpu_down() directly, bypasses this handling and the attribute value doesn't get updated. Fix this by calling device_offline()/device_online() instead. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit 397335f004f41e5fcf7a795e94eb3ab83411a17c Author: Thomas Gleixner <tglx@linutronix.de> Date: Thu May 22 03:25:39 2014 +0000 rtmutex: Fix deadlock detector for real The current deadlock detection logic does not work reliably due to the following early exit path: /* * Drop out, when the task has no waiters. Note, * top_waiter can be NULL, when we are in the deboosting * mode! */ if (top_waiter && (!task_has_pi_waiters(task) || top_waiter != task_top_pi_waiter(task))) goto out_unlock_pi; So this not only exits when the task has no waiters, it also exits unconditionally when the current waiter is not the top priority waiter of the task. So in a nested locking scenario, it might abort the lock chain walk and therefor miss a potential deadlock. Simple fix: Continue the chain walk, when deadlock detection is enabled. We also avoid the whole enqueue, if we detect the deadlock right away (A-A). It's an optimization, but also prevents that another waiter who comes in after the detection and before the task has undone the damage observes the situation and detects the deadlock and returns -EDEADLOCK, which is wrong as the other task is not in a deadlock situation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Cc: Lai Jiangshan <laijs@cn.fujitsu.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/20140522031949.725272460@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 4efdedca932658cc54866ee19001af3cbffa3769 Merge: 9e3d633 a4e91d0 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 28 08:08:03 2014 -0700 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm fixes from Paolo Bonzini: "Small fixes for x86, slightly larger fixes for PPC, and a forgotten s390 patch. The PPC fixes are important because they fix breakage that is new in 3.15" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: s390: announce irqfd capability KVM: x86: disable master clock if TSC is reset during suspend KVM: vmx: disable APIC virtualization in nested guests KVM guest: Make pv trampoline code executable KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit KVM: PPC: Book3S HV: Add missing code for transaction reclaim on guest exit KVM: PPC: Book3S: HV: make _PAGE_NUMA take effect commit 9e3d6331789b113e4abc831ed3447fb67a105430 Merge: cd79bde 011e4b0 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 28 08:06:50 2014 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull two powerpc fixes from Ben Herrenschmidt: "Here's a pair of powerpc fixes for 3.15 which are also going to stable. One's a fix for building with newer binutils (the problem currently only affects the BookE kernels but the affected macro might come back into use on BookS platforms at any time). Unfortunately, the binutils maintainer did a backward incompatible change to a construct that we use so we have to add Makefile check. The other one is a fix for CPUs getting stuck in kexec when running single threaded. Since we routinely use kexec on power (including in our newer bootloaders), I deemed that important enough" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode powerpc: Fix 64 bit builds with binutils 2.24 commit 64fd72e0a44bdd62c5ca277cb24d0d02b2d8e9dc Author: Al Viro <viro@zeniv.linux.org.uk> Date: Wed May 28 09:48:44 2014 -0400 lift the "already marked killed" case into shrink_dentry_list() It can happen only when dentry_kill() is called with unlock_on_failure equal to 0 - other callers had dentry pinned until the moment they've got ->d_lock and DCACHE_DENTRY_KILLED is set only after lockref_mark_dead(). IOW, only one of three call sites of dentry_kill() might end up reaching that code. Just move it there. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit f3f0d95146901a94eff8fe723eef2a6daf0ae152 Author: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Date: Tue Apr 8 08:58:01 2014 +0200 MIPS: R46000: Fix Micro-assembler field overflow for R4600 V2 Fix uasm warning, which triggered because of workaround for R4600 V2 CPUs. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6716/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 57c7ea513f0e4b033ba602550992e2ca0e6b8d2c Author: Alex Smith <alex.smith@imgtec.com> Date: Thu May 1 12:51:19 2014 +0100 MIPS: ptrace: Avoid smp_processor_id() in preemptible code ptrace_{get,set}_watch_regs access current_cpu_data to get the watch register count/masks, which calls smp_processor_id(). However they are run in preemptible context and therefore trigger warnings like so: [ 6340.092000] BUG: using smp_processor_id() in preemptible [00000000] code: gdb/367 [ 6340.092000] caller is ptrace_get_watch_regs+0x44/0x220 Since the watch register count/masks should be the same across all CPUs, use boot_cpu_data instead. Note that this may need to change in future should a heterogenous system be supported where the count/masks are not the same across all CPUs (the current code is also incorrect for this scenario - current_cpu_data here would not necessarily be correct for the CPU that the target task will execute on). Signed-off-by: Alex Smith <alex.smith@imgtec.com> Reviewed-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6879/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit f02ffb199d3af57407a79075f3e0e6c0e8980b6c Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Date: Tue May 13 17:07:04 2014 +0200 MIPS: Lemote 2F: cs5536: mfgpt: use raw locks The lock is taken in the raw irq path and therefore a rawlock should be used instead of a normal spinlock. While here I drop the export symbol on that variable since there are no other users. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: linux-mips@linux-mips.org Cc: Hua Yan <yanh@lemote.com> Cc: Huacai Chen <chenhc@lemote.com> Cc: Alex Smith <alex.smith@imgtec.com> Cc: Hongliang Tao <taohl@lemote.com> Cc: Wu Zhangjin <wuzhangjin@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/6936/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit bb6c0bd3fdb67c8a1fceea1d4700b9ee593309f9 Author: Ralf Baechle <ralf@linux-mips.org> Date: Wed May 28 08:36:23 2014 +0200 MIPS: SB1: Fix excessive kernel warnings. A kernel build with binutils 2.24 is going to emit warnings like CC kernel/sys.o {standard input}: Assembler messages: {standard input}:701: Warning: the 32-bit MIPS architecture does not support the `mdmx' extension {standard input}:701: Warning: the `mdmx' extension requires 64-bit FPRs {standard input}:701: Warning: the `mips3d' extension requires MIPS32 revision 2 or greater {standard input}:701: Warning: the `mips3d' extension requires 64-bit FPRs for almost every file. This is caused by changes to gas' interpretation of .set semantics. Fixed by explicitly disabling MIPS3D and MDMX for Sibyte builds. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit b6dd6f4738837439c520e73995ec93fe1de2ec72 Author: Miklos Szeredi <mszeredi@suse.cz> Date: Tue May 27 16:41:16 2014 +0200 vfs: fix vmplice_to_user() Commit 6130f5315ee8 "switch vmsplice_to_user() to copy_page_to_iter()" in v3.15-rc1 broke vmsplice(2). This patch fixes two bugs: - count is not initialized to a proper value, which resulted in no data being copied - if rw_copy_check_uvector() returns negative then the iov might be leaked. Tested OK. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> commit 5178438041cc94680e606e5a9c6d1ad9c911199b Merge: 72b1c2c 4ccc402 Author: Mike Turquette <mturquette@linaro.org> Date: Tue May 27 21:11:08 2014 -0700 Merge tag 'clk-tegra-fixes-3.15' of git://nv-tegra.nvidia.com/user/pdeschrijver/linux into clk-fixes PLLE fixes for 3.15 commit 3991b31ea072b070081ca3bfa860a077eda67de5 Author: NeilBrown <neilb@suse.de> Date: Wed May 28 13:39:23 2014 +1000 md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync". If mddev->ro is set, md_to_sync will (correctly) abort. However in that case MD_RECOVERY_INTR isn't set. If a RESHAPE had been requested, then ->finish_reshape() will be called and it will think the reshape was successful even though nothing happened. Normally a resync will not be requested if ->ro is set, but if an array is stopped while a reshape is on-going, then when the array is started, the reshape will be restarted. If the array is also set read-only at this point, the reshape will instantly appear to success, resulting in data corruption. Consequently, this patch is suitable for any -stable kernel. Cc: stable@vger.kernel.org (any) Signed-off-by: NeilBrown <neilb@suse.de> commit 011e4b02f1da156ac7fea28a9da878f3c23af739 Author: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Date: Tue May 27 16:25:34 2014 +0530 powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode If we try to perform a kexec when the machine is in ST (Single-Threaded) mode (ppc64_cpu --smt=off), the kexec operation doesn't succeed properly, and we get the following messages during boot: [ 0.089866] POWER8 performance monitor hardware support registered [ 0.089985] power8-pmu: PMAO restore workaround active. [ 5.095419] Processor 1 is stuck. [ 10.097933] Processor 2 is stuck. [ 15.100480] Processor 3 is stuck. [ 20.102982] Processor 4 is stuck. [ 25.105489] Processor 5 is stuck. [ 30.108005] Processor 6 is stuck. [ 35.110518] Processor 7 is stuck. [ 40.113369] Processor 9 is stuck. [ 45.115879] Processor 10 is stuck. [ 50.118389] Processor 11 is stuck. [ 55.120904] Processor 12 is stuck. [ 60.123425] Processor 13 is stuck. [ 65.125970] Processor 14 is stuck. [ 70.128495] Processor 15 is stuck. [ 75.131316] Processor 17 is stuck. Note that only the sibling threads are stuck, while the primary threads (0, 8, 16 etc) boot just fine. Looking closer at the previous step of kexec, we observe that kexec tries to wakeup (bring online) the sibling threads of all the cores, before performing kexec: [ 9464.131231] Starting new kernel [ 9464.148507] kexec: Waking offline cpu 1. [ 9464.148552] kexec: Waking offline cpu 2. [ 9464.148600] kexec: Waking offline cpu 3. [ 9464.148636] kexec: Waking offline cpu 4. [ 9464.148671] kexec: Waking offline cpu 5. [ 9464.148708] kexec: Waking offline cpu 6. [ 9464.148743] kexec: Waking offline cpu 7. [ 9464.148779] kexec: Waking offline cpu 9. [ 9464.148815] kexec: Waking offline cpu 10. [ 9464.148851] kexec: Waking offline cpu 11. [ 9464.148887] kexec: Waking offline cpu 12. [ 9464.148922] kexec: Waking offline cpu 13. [ 9464.148958] kexec: Waking offline cpu 14. [ 9464.148994] kexec: Waking offline cpu 15. [ 9464.149030] kexec: Waking offline cpu 17. Instrumenting this piece of code revealed that the cpu_up() operation actually fails with -EBUSY. Thus, only the primary threads of all the cores are online during kexec, and hence this is a sure-shot receipe for disaster, as explained in commit e8e5c2155b (powerpc/kexec: Fix orphaned offline CPUs across kexec), as well as in the comment above wake_offline_cpus(). It turns out that cpu_up() was returning -EBUSY because the variable 'cpu_hotplug_disabled' was set to 1; and this disabling of CPU hotplug was done by migrate_to_reboot_cpu() inside kernel_kexec(). Now, migrate_to_reboot_cpu() was originally written with the assumption that any further code will not need to perform CPU hotplug, since we are anyway in the reboot path. However, kexec is clearly not such a case, since we depend on onlining CPUs, atleast on powerpc. So re-enable cpu-hotplug after returning from migrate_to_reboot_cpu() in the kexec path, to fix this regression in kexec on powerpc. Also, wrap the cpu_up() in powerpc kexec code within a WARN_ON(), so that we can catch such issues more easily in the future. Fixes: c97102ba963 (kexec: migrate to reboot cpu) Cc: stable@vger.kernel.org Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> commit 7998eb3dc700aaf499f93f50b3d77da834ef9e1d Author: Guenter Roeck <linux@roeck-us.net> Date: Thu May 15 09:33:42 2014 -0700 powerpc: Fix 64 bit builds with binutils 2.24 With binutils 2.24, various 64 bit builds fail with relocation errors such as arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e': (.text+0x165ee): relocation truncated to fit: R_PPC64_ADDR16_HI against symbol `interrupt_base_book3e' defined in .text section in arch/powerpc/kernel/built-in.o arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e': (.text+0x16602): relocation truncated to fit: R_PPC64_ADDR16_HI against symbol `interrupt_end_book3e' defined in .text section in arch/powerpc/kernel/built-in.o The assembler maintainer says: I changed the ABI, something that had to be done but unfortunately happens to break the booke kernel code. When building up a 64-bit value with lis, ori, shl, oris, ori or similar sequences, you now should use @high and @higha in place of @h and @ha. @h and @ha (and their associated relocs R_PPC64_ADDR16_HI and R_PPC64_ADDR16_HA) now report overflow if the value is out of 32-bit signed range. ie. @h and @ha assume you're building a 32-bit value. This is needed to report out-of-range -mcmodel=medium toc pointer offsets in @toc@h and @toc@ha expressions, and for consistency I did the same for all other @h and @ha relocs. Replacing @h with @high in one strategic location fixes the relocation errors. This has to be done conditionally since the assembler either supports @h or @high but not both. Cc: <stable@vger.kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> commit 7ac3764fcafc06e72e1a79a9d998b9fdd900b2a6 Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Date: Tue May 27 16:32:10 2014 -0700 USB: cdc-wdm: properly include types.h The file include/uapi/linux/usb/cdc-wdm.h uses a __u16 so it needs to include types.h as well to make the build system happy. Fixes: 3edce1cf813a ("USB: cdc-wdm: implement IOCTL_WDM_MAX_COMMAND") Cc: stable <stable@vger.kernel.org> # 3.10+ Cc: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 7d1896360f4d055d68565ef8ed56a677580f1a39 Author: Bjørn Mork <bjorn@mork.no> Date: Sat May 10 16:31:40 2014 +0200 usb: cdc-wdm: export cdc-wdm uapi header The include/uapi/linux/usb/cdc-wdm.h header defines cdc-wdm userspace APIs and should be exported by make headers_install. Cc: <stable@vger.kernel.org> # 3.10, 3.12, 3.14 Fixes: 3edce1cf813a ("USB: cdc-wdm: implement IOCTL_WDM_MAX_COMMAND") Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit efb27e73e12633a24dfdc67b8a6a58c4b427f3e4 Merge: c720816 d23db88 Author: Dave Airlie <airlied@redhat.com> Date: Wed May 28 09:18:32 2014 +1000 Merge tag 'drm-intel-fixes-2014-05-27' of git://anongit.freedesktop.org/drm-intel into drm-fixes Fixes from Chris, all cc: stable. * tag 'drm-intel-fixes-2014-05-27' of git://anongit.freedesktop.org/drm-intel: drm/i915: Prevent negative relocation deltas from wrapping drm/i915: Only copy back the modified fields to userspace from execbuffer drm/i915: Fix dynamic allocation of physical handles commit cd79bde29f00a346eec3fe17c1c5073c37ed95e7 Merge: aa699a1 aa0818c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 27 15:59:34 2014 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull virtio_blk fix from Jens Axboe: "There's a start/stop queue race in virtio_blk, which causes stalls and erratic behaviour for some. I've had this queued up for 3.16 for a while, but I think we should push it into the current series as well. So I cherry picked the commit and added a stable marker as well, so it can propagate down" * 'for-linus' of git://git.kernel.dk/linux-block: virtio_blk: fix race between start and stop queue commit aa699a1d84474eb993867822b6aefc47a9a6ce0c Merge: 758b671 acbf6d2 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 27 15:58:20 2014 -0700 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull two timer fixes from Thomas Gleixner: "Two small fixlets for ARM SoC clocksource drivers: - avoid calling functions which might sleep from interrupt [disabled] context in tcb_clksrc used on Atmel SoCs - use irq_force_affinity() to pin the per cpu timer interrupt on a not yet online cpu in the SiRFprimaII driver" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource: tcb_clksrc: Make tc_mode interrupt safe clocksource: marco: Fix the affinity set for local timer of CPU1 commit 8a61ba3a47ac39f660702aa66a172185dd605a86 Author: Alexej Starschenko <starschenko@gmail.com> Date: Wed May 7 10:43:29 2014 +0200 USB: serial: option: add support for Novatel E371 PCIe card Adds product ID for the Novatel E371 PCI Express Mini Card. $ lsusb Bus 001 Device 024: ID 1410:9011 Novatel Wireless $ usb-devices T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 24 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1410 ProdID=9011 Rev=00.03 S: Manufacturer=Novatel Wireless, Inc. S: Product=Novatel Wireless HSPA S: SerialNumber=012773002115811 C: #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether I: If#= 7 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether Tested with kernel 3.2.0. Signed-off-by: Alexej Starschenko <starschenko@gmail.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit d0839d757e6294921c31b1c4ca4f1dcc5df63bcd Author: George McCollister <george.mccollister@gmail.com> Date: Sat Apr 26 12:04:47 2014 +0200 USB: ftdi_sio: add NovaTech OrionLXm product ID The NovaTech OrionLXm uses an onboard FTDI serial converter for JTAG and console access. Here is the lsusb output: Bus 004 Device 123: ID 0403:7c90 Future Technology Devices International, Ltd Signed-off-by: George McCollister <george.mccollister@gmail.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit c03890ff5e24a4bf59059f2d179f427559b7330a Author: Johan Hovold <jhovold@gmail.com> Date: Sat Apr 26 11:53:44 2014 +0200 USB: io_ti: fix firmware download on big-endian machines (part 2) A recent patch that purported to fix firmware download on big-endian machines failed to add the corresponding sparse annotation to the i2c-header. This was reported by the kbuild test robot. Adding the appropriate annotation revealed another endianess bug related to the i2c-header Size-field in a code path that is exercised when the firmware is actually being downloaded (and not just verified and left untouched unless older than the firmware at hand). This patch adds the required sparse annotation to the i2c-header and makes sure that the Size-field is sent in little-endian byte order during firmware download also on big-endian machines. Note that this patch is only compile-tested, but that there is no functional change for little-endian systems. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Ludovic Drolez <ldrolez@debian.org> Cc: stable <stable@vger.kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 758b67126facde350bcbfbb1cd760aa6050f8647 Merge: 51d5665 1b0fe6b Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 27 13:59:24 2014 -0700 Merge tag 'fixes-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "A slightly larger set of fixes than we'd like at this point in the release. Hopefully our very last batch before 3.15: OMAP: - Fix boot regression with CPU_IDLE enabled - Fixes for audio playback on OMAP5 - Clock rate setting fix for OMAP3 - Misc idle/PM fixes Exynos: - Removal of a couple of power domains to work around issues with access when they are powered down - Enabling missing highspeed-i2c driver to make MMC regulators work - Secondary CPU spin-up fix for 4212 - Remove MDMA1 engine to avoid conflicts on secure mode platforms - A few other DT fixes Marvell: - PCI-e fixes for clocks and resource allocation plus a few other smaller fixes, add a MAINTAINERS entry for reset drivers, etc" * tag 'fixes-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (21 commits) MAINTAINERS: Add reset controller framework entry ARM: trusted_foundations: fix compile error on non-SMP ARM: at91: sam9260: fix compilation issues ARM: mvebu: fix definitions of PCIe interfaces on Armada 38x ARM: imx: fix error handling in ipu device registration ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled ARM: dts: Keep LDO4 always ON for exynos5250-arndale board ARM: dts: Fix SPI interrupt numbers for exynos5420 ARM: dts: fix incorrect ak8975 compatible for exynos4412-trats2 board ARM: OMAP2+: Fix DMA hang after off-idle ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards ARM: dts: Remove g2d_pd node for exynos5420 ARM: dts: Remove mau_pd node for exynos5420 ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount ARM: dts: disable MDMA1 node for exynos5420 ARM: EXYNOS: fix the secondary CPU boot of exynos4212 ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM ARM: mvebu: mvebu-soc-id: keep clock enabled if PCIe unit is enabled ARM: mvebu: mvebu-soc-id: add missing clk_put() call ARM: at91/dt: sam9260: correct external trigger value ... commit 51d566523bc0b42cebecf21f635396281954e03c Merge: c949ddf 7ea4564 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 27 13:58:46 2014 -0700 Merge tag 'pinctrl-v3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pinctrl fix from Linus Walleij: "A single last pinctrl fix for the v3.15 series: the vt8500 driver was failing to update the output value when the combined set direction output and set value was executed" * tag 'pinctrl-v3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: vt8500: Ensure value reg is updated when setting direction commit c949ddf9eb140f69dbf4495f234b558fc9691cbb Merge: c720816 fbeb91f Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 27 13:57:00 2014 -0700 Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma Pull slave-dmaengine fixes from Vinod Koul: "We have three small fixes. First one from Andy reverts the devm_request irq as we need to ensure the tasklet is killed after irq is freed, so we need to do free irq in our code. Other two from Arnd are fixing the compilation issue in omap and sa11x0 drivers with ARM randconfigs" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: sa11x0: remove broken #ifdef dmaengine: omap: hide filter_fn for built-in drivers dmaengine: dw: went back to plain {request,free}_irq() calls commit 1b0fe6be858d47e7e80fe0adc47c7366f5924244 Author: Philipp Zabel <p.zabel@pengutronix.de> Date: Tue May 27 15:58:09 2014 +0200 MAINTAINERS: Add reset controller framework entry Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Olof Johansson <olof@lixom.net> commit 63d832c30142cdceb478b1cac7d943d83b95b2dc Author: Hannes Reinecke <hare@suse.de> Date: Mon May 26 14:45:39 2014 +0200 dm mpath: really fix lockdep warning lockdep complains about a circular locking. And indeed, we need to release the lock before calling dm_table_run_md_queue_async(). As such, commit 4cdd2ad ("dm mpath: fix lock order inconsistency in multipath_ioctl") must also be reverted in addition to fixing the lock order in the other dm_table_run_md_queue_async() callers. Reported-by: Bart van Assche <bvanassche@acm.org> Tested-by: Bart van Assche <bvanassche@acm.org> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Mike Snitzer <snitzer@redhat.com> commit aa0818c6ee8d8e4772725a43550823347bc1ad30 Author: Ming Lei <tom.leiming@gmail.com> Date: Fri May 16 23:31:21 2014 +0800 virtio_blk: fix race between start and stop queue When there isn't enough vring descriptor for adding to vq, blk-mq will be put as stopped state until some of pending descriptors are completed & freed. Unfortunately, the vq's interrupt may come just before blk-mq's BLK_MQ_S_STOPPED flag is set, so the blk-mq will still be kept as stopped even though lots of descriptors are completed and freed in the interrupt handler. The worst case is that all pending descriptors are freed in the interrupt handler, and the queue is kept as stopped forever. This patch fixes the problem by starting/stopping blk-mq with holding vq_lock. Cc: Jens Axboe <axboe@kernel.dk> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Ming Lei <tom.leiming@gmail.com> Cc: stable@kernel.org Signed-off-by: Jens Axboe <axboe@fb.com> Conflicts: drivers/block/virtio_blk.c commit f1daa838e861ae1a0fb7cd9721a21258430fcc8c Author: Heinz Mauelshagen <heinzm@redhat.com> Date: Fri May 23 14:10:01 2014 -0400 dm cache: always split discards on cache block boundaries The DM cache target cannot cope with discards that span multiple cache blocks, so each discard bio that spans more than one cache block must get split by the DM core. Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> Acked-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # v3.9+ commit 45fb4f8d81578e0a17c45c4593a3305afbf7a48b Author: Oliver Hartkopp <socketcan@hartkopp.net> Date: Tue May 27 13:30:56 2014 +0200 can: only rename enabled led triggers when changing the netdev name Commit a1ef7bd9fce8 ("can: rename LED trigger name on netdev renames") renames the led trigger names according to the changed netdevice name. As not every CAN driver supports and initializes the led triggers, checking for the CAN private datastructure with safe_candev_priv() in the notifier chain is not enough. This patch adds a check when CONFIG_CAN_LEDS is enabled and the driver does not support led triggers. For stable 3.9+ Cc: Fabio Baltieri <fabio.baltieri@gmail.com> Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Acked-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> commit d23db88c3ab233daed18709e3a24d6c95344117f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri May 23 08:48:08 2014 +0200 drm/i915: Prevent negative relocation deltas from wrapping This is pure evil. Userspace, I'm looking at you SNA, repacks batch buffers on the fly after generation as they are being passed to the kernel for execution. These batches also contain self-referenced relocations as a single buffer encompasses the state commands, kernels, vertices and sampler. During generation the buffers are placed at known offsets within the full batch, and then the relocation deltas (as passed to the kernel) are tweaked as the batch is repacked into a smaller buffer. This means that userspace is passing negative relocations deltas, which subsequently wrap to large values if the batch is at a low address. The GPU hangs when it then tries to use the large value as a base for its address offsets, rather than wrapping back to the real value (as one would hope). As the GPU uses positive offsets from the base, we can treat the relocation address as the minimum address read by the GPU. For the upper bound, we trust that userspace will not read beyond the end of the buffer. So, how do we fix negative relocations from wrapping? We can either check that every relocation looks valid when we write it, and then position each object such that we prevent the offset wraparound, or we just special-case the self-referential behaviour of SNA and force all batches to be above 256k. Daniel prefers the latter approach. This fixes a GPU hang when it tries to use an address (relocation + offset) greater than the GTT size. The issue would occur quite easily with full-ppgtt as each fd gets its own VM space, so low offsets would often be handed out. However, with the rearrangement of the low GTT due to capturing the BIOS framebuffer, it is already affecting kernels 3.15 onwards. I think only IVB+ is susceptible to this bug, but the workaround should only kick in rarely, so it seems sensible to always apply it. v3: Use a bias for batch buffers to prevent small negative delta relocations from wrapping. v4 from Daniel: - s/BIAS/BATCH_OFFSET_BIAS/ - Extract eb_vma_misplaced/i915_vma_misplaced since the conditions were growing rather cumbersome. - Add a comment to eb_get_batch explaining why we do this. - Apply the batch offset bias everywhere but mention that we've only observed it on gen7 gpus. - Drop PIN_OFFSET_FIX for now, that slipped in from a feature patch. v5: Add static to eb_get_batch, spotted by 0-day tester. Testcase: igt/gem_bad_reloc Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78533 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (v3) Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> commit 9aab8bff7aa3bee567213ad3c1fdfb217bb980a2 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri May 23 10:45:52 2014 +0100 drm/i915: Only copy back the modified fields to userspace from execbuffer We only want to modifiy a single field in the userspace view of the execbuffer command buffer, so explicitly change that rather than copy everything back again. This serves two purposes: 1. The single fields are much cheaper to copy (constant size so the copy uses special case code) and much smaller than the whole array. 2. We modify the array for internal use that need to be masked from the user. Note: We need this backported since without it the next bugfix will blow up when userspace recycles batchbuffers and relocations. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: stable@vger.kernel.org Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> commit 00731155a73020c8e3c215723be193f96b4fcb1f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed May 21 12:42:56 2014 +0100 drm/i915: Fix dynamic allocation of physical handles A single object may be referenced by multiple registers fundamentally breaking the static allotment of ids in the current design. When the object is used the second time, the physical address of the first assignment is relinquished and a second one granted. However, the hardware is still reading (and possibly writing) to the old physical address now returned to the system. Eventually hilarity will ensue, but in the short term, it just means that cursors are broken when using more than one pipe. v2: Fix up leak of pci handle when handling an error during attachment, and avoid a double kmap/kunmap. (Ville) Rebase against -fixes. v3: And fix the error handling added in v2 (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77351 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: stable@vger.kernel.org Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> commit 0f68f39c393bc06ac5ccc8794f0e2ed841e41c3e Author: Hans de Goede <hdegoede@redhat.com> Date: Mon May 19 22:54:09 2014 -0700 Input: synaptics - change min/max quirk table to pnp-id matching Most of the affected models share pnp-ids for the touchpad. So switching to pnp-ids give us 2 advantages: 1) It shrinks the quirk list 2) It will lower the new quirk addition frequency, ie the recently added W540 quirk would not have been necessary since it uses the same LEN0034 pnp ids as other models already added before it As an added bonus it actually puts the quirk on the actual psmouse, rather then on the machine, which is technically more correct. Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit e2f611029b370bb7a04236215ad4b36aa8cb98cd Author: Hans de Goede <hdegoede@redhat.com> Date: Mon May 19 22:53:23 2014 -0700 Input: synaptics - add a matches_pnp_id helper function This is a preparation patch for simplifying the min/max quirk table. Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 6d396ede224dc596d92d7cab433713536e68916c Author: Hans de Goede <hdegoede@redhat.com> Date: Mon May 19 22:52:30 2014 -0700 Input: synaptics - T540p - unify with other LEN0034 models The T540p has a touchpad with pnp-id LEN0034, all the models with this pnp-id have the same min/max values, except the T540p where the values are slightly off. Fix them to be identical. This is a preparation patch for simplifying the quirk table. Cc: stable@vger.kernel.org Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 9b961aa99b8155ecc07dd727643ca97424544256 Merge: c720816 e3beb0a 2807bd1 Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Mon May 26 23:20:16 2014 +0200 Merge branches 'pm-cpufreq' and 'acpi-thermal' * pm-cpufreq: cpufreq: cpu0: drop wrong devm usage cpufreq: remove race while accessing cur_policy * acpi-thermal: ACPI / thermal: fix workqueue destroy order commit 2807bd18cc60ec471917b5158e98e4d7b7e030fb Author: Aaron Lu <aaron.lu@intel.com> Date: Mon May 26 14:34:07 2014 +0200 ACPI / thermal: fix workqueue destroy order When the thermal module is to be removed, we should destroy the wq acpi_thermal_pm_queue after the ACPI driver's remove callback is executed as we will need to flush the workqueue there, or a NULL pointer access will be hit. Reported-and-tested-by: Kui Zhang <kuizhang@gmail.com> References: http://www.spinics.net/lists/kernel/msg1747251.html Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 66ef3fab94df1004ed02c292d3d4e78485bfc615 Author: Gabor Juhos <juhosg@openwrt.org> Date: Thu May 15 10:35:44 2014 +0200 MIPS: RC32434: fix broken PCI resource initialization The parent field of the 'rc32434_res_pci_mem1' resource points to the resource itself which is obviously wrong. Due to the broken initialitazion, the PCI devices on the Mikrotik RB532 boards are not working since commit 22283178 (MIPS: avoid possible resource conflict in register_pci_controller). Remove the field initialization to fix the issue. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Reported-by: Waldemar Brodkorb <wbx@openadk.org> Cc: linux-mips@linux-mips.org Cc: Gabor Juhos <juhosg@openwrt.org> Patchwork: https://patchwork.linux-mips.org/patch/6940/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit f44a5f45f544561302e855e7bd104e5f506ec01b Author: Peter Christensen <pch@ordbogen.com> Date: Sat May 24 21:40:12 2014 +0200 ipvs: Fix panic due to non-linear skb Receiving a ICMP response to an IPIP packet in a non-linear skb could cause a kernel panic in __skb_pull. The problem was introduced in commit f2edb9f7706dcb2c0d9a362b2ba849efe3a97f5e ("ipvs: implement passive PMTUD for IPIP packets"). Signed-off-by: Peter Christensen <pch@ordbogen.com> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au> commit c7208164e66f63e3ec1759b98087849286410741 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 16:06:00 2014 -0700 Linux 3.15-rc7 commit 483a6c9d447f625b991fa04a1530493d893984db Author: Rabin Vincent <rabin@rab.in> Date: Sat May 24 17:38:01 2014 +0100 ARM: 8064/1: fix v7-M signal return According to the ARM ARM, the behaviour is UNPREDICTABLE if the PC read from the exception return stack is not half word aligned. See the pseudo code for ExceptionReturn() and PopStack(). The signal handler's address has the bit 0 set, and setup_return() directly writes this to regs->ARM_pc. Current hardware happens to discard this bit, but QEMU's emulation doesn't and this makes processes crash. Mask out bit 0 before the exception return in order to get predictable behaviour. Fixes: 19c4d593f0b4 ("ARM: ARMv7-M: Add support for exception handling") Cc: stable@kernel.org Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit fbebf59778600488147744cdf7d7c20d22531025 Author: srinik <srinivas.kandagatla@linaro.org> Date: Thu May 15 11:28:44 2014 +0100 ARM: 8057/1: amba: Add Qualcomm vendor ID. This patch adds Qualcomm amba vendor Id to the list. This ID is used in mmci driver. The ID selected in same lines like 0x41 is "A" for ARM, 0x51 is "Q" for Qualcomm. As there are no physical register on Qcom SOC for amba vendor id, this is a fake ID assigned based on "Q" prefix from Qualcomm. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit 8203d5b628907ae6141e4eb52f9b48e0f1f46cd2 Author: Nikolay Borisov <Nikolay.Borisov@arm.com> Date: Thu May 8 15:54:26 2014 +0100 ARM: 8052/1: unwind: Fix handling of "Pop r4-r[4+nnn],r14" opcode The arm EABI states that unwind opcode 10100nnn means pop register r4-4[4+nnn],aditionally there is a similar unwind opcode: 10101nnn which means the same thing plus popping r14. Those two cases are handled by the unwind_exec_pop_r4_to_rN function which checks whether the 4th bit is set and does r14 popping. However, up until now it has been checking whether the 8th bit was set (mask & 0x80) instead of the 4th (mask & 0x8), a simple to make typo but this meant that we were always popping r14 even if we had the former opcode. This patch changes the mask so that the 2 unwind opcodes are being handled correctly. Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com> Reviewed-by: Anurag Aggarwal <anurag19aggarwal@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit 537094b64b229bf3ad146042f83e74cf6abe59df Author: Andrey Ryabinin <a.ryabinin@samsung.com> Date: Wed May 7 08:07:25 2014 +0100 ARM: 8051/1: put_user: fix possible data corruption in put_user According to arm procedure call standart r2 register is call-cloberred. So after the result of x expression was put into r2 any following function call in p may overwrite r2. To fix this, the result of p expression must be saved to the temporary variable before the assigment x expression to __r2. Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com> Reviewed-by: Nicolas Pitre <nico@linaro.org> Cc: stable@vger.kernel.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit f9ff907b0af561dcde4683f7c9f71dc0f41d3be3 Author: Rabin Vincent <rabin@rab.in> Date: Sat May 3 18:19:17 2014 +0100 ARM: 8048/1: fix v7-M setup stack location __v7m_setup_stack currently sits in the .proc.info.init section, and thus creates a bogus proc info entry (which by the way matches any unknown CPU IDs, due to the entry's mask being 0). Move it out of there. Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Rabin Vincent <rabin@rab.in> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit db1003f23189cdbb2d450dff1edbc8e318797344 Merge: ef0d2c1 656f88d Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 12:40:36 2014 -0700 Merge branch 'afs' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs Pull AFS fixes and cleanups from David Howells: "Here are some patches to the AFS filesystem: 1) Fix problems in the clean-up parts of the cache manager service handler. 2) Split afs_end_call() introduced in (1) and replace some identical code elsewhere with a call to the first half of the split function. 3) Fix an error introduced in the workqueue PREPARE_WORK() elimination commits. 4) Clean up argument passing to functions called from the workqueue as there's now an insulating layer between them and the workqueue. This is possible from (3)" * 'afs' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: AFS: Pass an afs_call* to call->async_workfn() instead of a work_struct* AFS: Fix kafs module unloading AFS: Part of afs_end_call() is identical to code elsewhere, so split it AFS: Fix cache manager service handlers commit ef0d2c1686aa256a5f7a4a5f55415563c1ab184c Merge: f016a64 3568a1d Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 12:39:08 2014 -0700 Merge branch 'rdunlap' (patches from Randy Dunlap) Merge documentation fixes from Randy Dunlap. * emailed patches from Randy Dunlap <rdunlap@infradead.org>: Documentation: update /proc/stat "intr" count summary Documentation: update java sample wrapper for java 7 Documentation: update thunderbird email client settings Documentation: fix typos in drm docbook commit 3568a1dbf174a1ae0022611998c4e5d588b5014d Author: Jan Moskyto Matejka <mq@suse.cz> Date: Thu May 15 13:55:34 2014 -0700 Documentation: update /proc/stat "intr" count summary The sum at the beginning of line "intr" includes also unnumbered interrupts. It implies that the sum at the beginning isn't the sum of the remainder of the line, not even an estimation. Fixed the documentation to mention that. This behaviour was added to /proc/stat in commit a2eddfa95919 ("x86: make /proc/stat account for all interrupts") Signed-off-by: Jan Moskyto Matejka <mq@suse.cz> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f76f133b0c3b182c2d4f4de21a04ba4c964d508d Author: Jonathan Callen <jcallen@gentoo.org> Date: Thu May 15 13:54:52 2014 -0700 Documentation: update java sample wrapper for java 7 The sample wrapper currently fails on some Java 7 .class files. This updates the wrapper to properly handle those files. Signed-off-by: Jonathan Callen <jcallen@gentoo.org> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f9a0974d3f7049f6f753ebd28b8f0907983acf3c Author: Paul McQuade <paulmcquad@gmail.com> Date: Thu May 15 13:54:25 2014 -0700 Documentation: update thunderbird email client settings Added setting to email-clients that is easier to read and is easier to setup thunderbird. Removed config settings and added GUI settings. Signed-off-by: Paul McQuade <paulmcquad@gmail.com> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f9b899c44fec53c1519b19f853e96191ae96b1c6 Author: Masanari Iida <standby24x7@gmail.com> Date: Thu May 15 13:54:06 2014 -0700 Documentation: fix typos in drm docbook Fix spelling typo in DocBook/drm.tmpl Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f016a6441a18000d5918ee3e05d9bdd4d53fed1c Merge: 0e37c27 ead82d6 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 10:20:36 2014 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull hwmon subsystem fixes from Jean Delvare. * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (ntc_thermistor) Fix OF device ID mapping hwmon: (ntc_thermistor) Fix dependencies hwmon: Document temp[1-*]_min_hyst sysfs attribute commit 0e37c275426c34712d4661d86c375779f3836a7e Merge: 80a1de2 6aa6caf Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 10:13:50 2014 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull single scsi fix from James Bottomley: "This is a single fix for a bug exposed by a sysfs change in 3.13 which now causes libsas to trigger a warn on in device removal" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] scsi_transport_sas: move bsg destructor into sas_rphy_remove commit 80a1de29a5a67abac02cb10c32545eb231e0e778 Merge: 0374300 27b1142 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 25 10:08:48 2014 -0700 Merge branch 'for-3.15' of git://linux-nfs.org/~bfields/linux Pull two nfsd bugfixes from Bruce Fields: "Just two bugfixes, one for a merge-window-introduced ACL regression, the other for a longer-standing v4 state bug" * 'for-3.15' of git://linux-nfs.org/~bfields/linux: nfsd4: warn on finding lockowner without stateid's nfsd4: remove lockowner when removing lock stateid nfsd4: fix corruption on setting an ACL. commit ead82d6792ef5c600d535bca6ec50a4da14ff7c7 Author: Jean Delvare <jdelvare@suse.de> Date: Sun May 25 17:23:08 2014 +0200 hwmon: (ntc_thermistor) Fix OF device ID mapping The mapping from OF device IDs to platform device IDs is wrong. TYPE_NCPXXWB473 is 0, TYPE_NCPXXWL333 is 1, so ntc_thermistor_id[TYPE_NCPXXWB473] is { "ncp15wb473", TYPE_NCPXXWB473 } while ntc_thermistor_id[TYPE_NCPXXWL333] is { "ncp18wb473", TYPE_NCPXXWB473 }. So the name is wrong for all but the "ntc,ncp15wb473" entry, and the type is wrong for the "ntc,ncp15wl333" entry. So map the entries by index, it is neither elegant nor robust but at least it is correct. Signed-off-by: Jean Delvare <jdelvare@suse.de> Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver Reviewed-by: Guenter Roeck <linux@roeck-us.net> Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Cc: Doug Anderson <dianders@chromium.org> commit 59cf4243e557aa64ab2ef51280454aa1f3828e14 Author: Jean Delvare <jdelvare@suse.de> Date: Sun May 25 17:23:08 2014 +0200 hwmon: (ntc_thermistor) Fix dependencies In commit 9e8269de, support was added for ntc_thermistor devices being declared in the device tree and implemented on top of IIO. With that change, a dependency was added to the ntc_thermistor driver: depends on (!OF && !IIO) || (OF && IIO) This construct has the drawback that the driver can no longer be selected when OF is set and IIO isn't, nor when IIO is set and OF is not. This is a regression for the original users of the driver. As the new code depends on IIO and is useless without OF, include it only if both are enabled, and set the dependencies accordingly. This is clearer, more simple and more correct. Signed-off-by: Jean Delvare <jdelvare@suse.de> Fixes: 9e8269de hwmon: (ntc_thermistor) Add DT with IIO support to NTC thermistor driver Reviewed-by: Guenter Roeck <linux@roeck-us.net> Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Cc: Doug Anderson <dianders@chromium.org> commit 0132514588f3a0685861221058116a383bff4deb Author: Jean Delvare <jdelvare@suse.de> Date: Sun May 25 17:23:07 2014 +0200 hwmon: Document temp[1-*]_min_hyst sysfs attribute The temp[1-*]_min_hyst sysfs attribute is already implemented by 3 hwmon drivers (adt7x10, lm77 and lm92) but was missing from the standard interface. Also add temp[1-*]_lcrit_hyst for consistency, even though no driver implement that one for the time being. Signed-off-by: Jean Delvare <jdelvare@suse.de> Reviewed-by: Guenter Roeck <linux@roeck-us.net> commit 2ff89d64f23e99da64995844ea42c83b0b4d58c6 Author: Markos Chandras <markos.chandras@imgtec.com> Date: Fri May 23 13:31:31 2014 +0100 MIPS: malta: memory.c: Initialize the 'memsize' variable If the 'memsize' environmental variable is not set by the bootloader the 'memsize' variable is not initialized, leading to potential memory problems. This patch fixes the problem by setting the initial value to '0' to force the kernel to set a good default memory size. Cc: <stable@vger.kernel.org> # v3.15+ Reported-by: Matheus Almeida <Matheus.Almeida@imgtec.com> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Cc: linux-mips@linux-mips.org Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: stable@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/6984/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 721a9205396c4ef2a811dd665ec2a232163b583d Author: Markos Chandras <markos.chandras@imgtec.com> Date: Wed May 21 12:35:00 2014 +0100 MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores Introduced by the following two commits: 75b5b5e0a262790fa11043fe45700499c7e3d818 "MIPS: Add support for FTLBs" 6de20451857ed14a4eecc28d08f6de5925d1cf96 "MIPS: Add printing of ES bit for Imgtec cores when cache error occurs" Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Reported-by: Matheus Almeida <Matheus.Almeida@imgtec.com> Cc: linux-mips@linux-mips.org Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: stable@vger.kernel.org # v3.14+ Patchwork: https://patchwork.linux-mips.org/patch/6980/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit defb79f08630f4d1944c75ad0070026d0f534fda Author: Huacai Chen <chenhc@lemote.com> Date: Sun May 25 10:00:36 2014 +0800 MIPS: Fix inconsistancy of __NR_Linux_syscalls value Originally, __NR_O32_Linux_syscalls, __NR_N32_Linux_syscalls and __NR_64_Linux_syscalls have the same values as __NR_Linux_syscalls in corresponding ABIs. But after commit 367f0b50e502d (MIPS: Wire up renameat2 syscall) they are not the same. I think this is incorrect and need a fix. Signed-off-by: Huacai Chen <chenhc@lemote.com> Cc: John Crispin <john@phrozen.org> Cc: Steven J. Hill <Steven.Hill@imgtec.com> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: linux-mips@linux-mips.org Cc: Fuxin Zhang <zhangfx@lemote.com> Cc: Zhangjin Wu <wuzhangjin@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/6987/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 8646224cdb945eca4293e2131e5be47930ce3e80 Merge: 7df566b 5ca2504 Author: David S. Miller <davem@davemloft.net> Date: Sat May 24 14:06:19 2014 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless John W. Linville says: ==================== pull request: wireless 2014-05-23 I have two more fixes intended for the 3.15 stream... For the iwlwifi one, Emmanuel says: "A race has been discovered in the beacon filtering code. Since the fix is too big for 3.15, I disable here the feature." For the bluetooth one, Gustavo says: "This pull request contains a very important fix for 3.15. Here we fix the permissions of a debugfs file that would otherwise allow unauthorized users to write content to it." Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 7df566bbdd0af0785542b89466a937e94257fcfb Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Fri May 23 19:37:21 2014 +0300 qlcnic: info leak in qlcnic_dcb_peer_app_info() This function is called from dcbnl_build_peer_app(). The "info" struct isn't initialized at all so we disclose 2 bytes of uninitialized stack data. We should clear it before passing it to the user. Fixes: 48365e485275 ('qlcnic: dcb: Add support for CEE Netlink interface.') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 1d61367f522726e789aec68f7da1803c365fa4d3 Author: Bart De Schuymer <bdschuym@pandora.be> Date: Thu May 22 20:57:13 2014 +0200 ebtables: Update MAINTAINERS entry. Signed-off-by: David S. Miller <davem@davemloft.net> commit 037430078fbbb956a9bd6ada00f528e9d1e4c92c Merge: 1ee1cea c1f43dd Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 16:52:15 2014 -0700 Merge tag 'dmaengine-fixes-3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine Pull dmaengine fixes from Dan Williams: "Two fixes for -stable: - async_mult() sometimes maps less buffers than initially requested. We end up freeing dmaengine_unmap_data on an invalid pool. - mv_xor: register write ordering fix" * tag 'dmaengine-fixes-3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine: dmaengine: fix dmaengine_unmap failure dma: mv_xor: Flush descriptors before activating a channel commit 1ee1ceafb572f1a925809168267a7962a4289de8 Merge: 5fa6a68 8ecc1ba Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 15:41:52 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller: "A small bunch of bug fixes, in particular: 1) On older cpus we need a different chunk of virtual address space to map the huge page TSB. 2) Missing memory barrier in Niagara2 memcpy. 3) trinity showed some places where fault validation was unnecessarily loud on sparc64 4) Some sysfs printf's need a type adjustment, from Toralf Förster" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: fix format string mismatch in arch/sparc/kernel/sysfs.c sparc64: Add membar to Niagara2 memcpy code. sparc64: Fix huge TSB mapping on pre-UltraSPARC-III cpus. sparc64: Don't bark so loudly about 32-bit tasks generating 64-bit fault addresses. commit 5fa6a683c061cd4662b436135cc76552dbc29a43 Merge: f02f79d b6ed549 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 15:29:43 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "It looks like a sizeble collection but this is nearly 3 weeks of bug fixing while you were away. 1) Fix crashes over IPSEC tunnels with NAT, the latter can reroute the packet through a non-IPSEC protected path and the code has to be able to handle SKBs attached to routes lacking an attached xfrm state. From Steffen Klassert. 2) Fix OOPSs in ipv4 and ipv6 ipsec layers for unsupported sub-protocols, also from Steffen Klassert. 3) Set local_df on fragmented netfilter skbs otherwise we won't be able to forward successfully, from Florian Westphal. 4) cdc_mbim ipv6 neighbour code does __vlan_find_dev_deep without holding RCU lock, from Bjorn Mork. 5) local_df test in ip_may_fragment is inverted, from Florian Westphal. 6) jme driver doesn't check for DMA mapping failures, from Neil Horman. 7) qlogic driver doesn't calculate number of TX queues properly, from Shahed Shaikh. 8) fib_info_cnt can drift irreversibly positive if we fail to allocate the fi->fib_metrics array, from Sergey Popovich. 9) Fix use after free in ip6_route_me_harder(), also from Sergey Popovich. 10) When SYSCTL is disabled, we don't handle local_port_range and ping_group_range defaults properly at all, from Cong Wang. 11) Unaccelerated VLAN tagged frames improperly handled by cdc_mbim driver, fix from Bjorn Mork. 12) cassini driver needs nested lock annotations for TX locking, from Emil Goode. 13) On init error ipv6 VTI driver can unregister pernet ops twice, oops. Fix from Mahtias Krause. 14) If macvlan device is down, don't propagate IFF_ALLMULTI changes, from Peter Christensen. 15) Missing NULL pointer check while parsing netlink config options in ip6_tnl_validate(). From Susant Sahani. 16) Fix handling of neighbour entries during ipv6 router reachability probing, from Duan Jiong. 17) x86 and s390 JIT address randomization has some address calculation bugs leading to crashes, from Alexei Starovoitov and Heiko Carstens. 18) Clear up those uglies with nop patching and net_get_random_once(), from Hannes Frederic Sowa. 19) Option length miscalculated in ip6_append_data(), fix also from Hannes Frederic Sowa. 20) A while ago we fixed a race during device unregistry when a namespace went down, turns out there is a second place that needs similar protection. From Cong Wang. 21) In the new Altera TSE driver multicast filtering isn't working, disable it and just use promisc mode until the cause is found. From Vince Bridgers. 22) When we disable router enabling in ipv6 we have to flush the cached routes explicitly, from Duan Jiong. 23) NBMA tunnels should not cache routes on the tunnel object because the key is variable, from Timo Teräs. 24) With stacked devices GRO information in skb->cb[] can be not setup properly, make sure it is in all code paths. From Eric Dumazet. 25) Really fix stacked vlan locking, multiple levels of nesting with intervening non-vlan devices are possible. From Vlad Yasevich. 26) Fallback ipip tunnel device's mtu is not setup properly, from Steffen Klassert. 27) The packet scheduler's tcindex filter can crash because we structure copy objects with list_head's inside, oops. From Cong Wang. 28) Fix CHECKSUM_COMPLETE handling for ipv6 GRE tunnels, from Eric Dumazet. 29) In some configurations 'itag' in __mkroute_input() can end up being used uninitialized because of how fib_validate_source() works. Fix it by explitly initializing itag to zero like all the other fib_validate_source() callers do, from Li RongQing" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits) batman: fix a bogus warning from batadv_is_on_batman_iface() ipv4: initialise the itag variable in __mkroute_input bonding: Send ALB learning packets using the right source bonding: Don't assume 802.1Q when sending alb learning packets. net: doc: Update references to skb->rxhash stmmac: Remove unbalanced clk_disable call ipv6: gro: fix CHECKSUM_COMPLETE support net_sched: fix an oops in tcindex filter can: peak_pci: prevent use after free at netdev removal ip_tunnel: Initialize the fallback device properly vlan: Fix build error wth vlan_get_encap_level() can: c_can: remove obsolete STRICT_FRAME_ORDERING Kconfig option MAINTAINERS: Pravin Shelar is Open vSwitch maintainer. bnx2x: Convert return 0 to return rc bonding: Fix alb mode to only use first level vlans. bonding: Fix stacked device detection in arp monitoring macvlan: Fix lockdep warnings with stacked macvlan devices vlan: Fix lockdep warning with stacked vlan devices. net: Allow for more then a single subclass for netif_addr_lock net: Find the nesting level of a given device by type. ... commit 72b1c2c3a4de8891b06df18da95514d69eae65de Author: Valentin Ilie <valentin.ilie@gmail.com> Date: Tue Apr 22 16:15:54 2014 +0300 clk: st: Fix memory leak When it fails to allocate div, gate should be free'd before return Signed-off-by: Valentin Ilie <valentin.ilie@gmail.com> Signed-off-by: Mike Turquette <mturquette@linaro.org> commit 5644b4277fa1d8697479468ad404426a8644149b Merge: 3aae97c 68d0e40 Author: Arnd Bergmann <arnd@arndb.de> Date: Fri May 23 23:59:28 2014 +0200 Merge tag 'samsung-fixes-2nd-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Samsung-fixes-2 for 3.15 - keep LD04 always on for exynos5250-arndale - fix spi interrupt numbers for exynos5420 - fix ak8975 compatible for exynos4412-trats2 * tag 'samsung-fixes-2nd-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Keep LDO4 always ON for exynos5250-arndale board ARM: dts: Fix SPI interrupt numbers for exynos5420 ARM: dts: fix incorrect ak8975 compatible for exynos4412-trats2 board Signed-off-by: Arnd Bergmann <arnd@arndb.de> commit fe52e7505f8bf365d5ab0eeee19ababe406cbaaf Author: Maxime COQUELIN <maxime.coquelin@st.com> Date: Wed May 7 18:48:52 2014 +0200 clk: divider: Fix table round up function Commit 1d9fe6b97 ("clk: divider: Fix best div calculation for power-of-two and table dividers") introduces a regression in its _table_round_up function. When the divider passed to this function is greater than the max divider available in the table, this function returns table's max divider. Problem is that it causes an infinite loop in clk_divider_bestdiv() because _next_div() will never return a value greater than maxdiv. Instead of returning table's max divider, this patch returns INT_MAX. Reported-by: Fabio Estevam <festevam@gmail.com> Reported-by: Shawn Guo <shawn.guo@freescale.com> Tested-by: Fabio Estevam <festevam@gmail.com> Tested-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Mike Turquette <mturquette@linaro.org> commit 3aae97c8b1dbefb23217d193e2818d1490651c95 Author: Alexandre Courbot <acourbot@nvidia.com> Date: Fri May 23 09:23:32 2014 +0900 ARM: trusted_foundations: fix compile error on non-SMP The setup_max_cpus variable is only defined if CONFIG_SMP is set. Add a preprocessor condition to avoid the following compilation error if CONFIG_SMP is not set: arch/arm/include/asm/trusted_foundations.h: In function 'register_trusted_foundations': arch/arm/include/asm/trusted_foundations.h:57:2: error: 'setup_max_cpus' undeclared (first use in this function) Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> commit 8ef42ddd9a53b73e6fc3934278710c27f80f324f Author: Alan Stern <stern@rowland.harvard.edu> Date: Fri May 23 10:45:54 2014 -0400 USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume Not all host controller drivers have bus-suspend and bus-resume methods. When one doesn't, it will cause problems if runtime PM is enabled in the kernel. The PM core will attempt to suspend the controller's root hub, the suspend will fail because there is no bus-suspend routine, and a -EBUSY error code will be returned to the PM core. This will cause the suspend attempt to be repeated shortly thereafter, in a never-ending loop. Part of the problem is that the original error code -ENOENT gets changed to -EBUSY in usb_runtime_suspend(), on the grounds that the PM core will interpret -ENOENT as meaning that the root hub has gotten into a runtime-PM error state. While this change is appropriate for real USB devices, it's not such a good idea for a root hub. In fact, considering the root hub to be in a runtime-PM error state would not be far from the truth. Therefore this patch updates usb_runtime_suspend() so that it adjusts error codes only for non-root-hub devices. Furthermore, the patch attempts to prevent the problem from occurring in the first place by not enabling runtime PM by default for root hubs whose host controller driver doesn't have bus_suspend and bus_resume methods. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Reported-by: Will Deacon <will.deacon@arm.com> Tested-by: Will Deacon <will.deacon@arm.com> CC: <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 28a821c306889b9f2c3fff49abedc9b2c743eb73 Author: Ben Hutchings <ben@decadent.org.uk> Date: Mon May 19 01:03:06 2014 +0100 Staging: speakup: Update __speakup_paste_selection() tty (ab)usage to match vt This function is largely a duplicate of paste_selection() in drivers/tty/vt/selection.c, but with its own selection state. The speakup selection mechanism should really be merged with vt. For now, apply the changes from 'TTY: vt, fix paste_selection ldisc handling', 'tty: Make ldisc input flow control concurrency-friendly', and 'tty: Fix unsafe vt paste_selection()'. References: https://bugs.debian.org/735202 References: https://bugs.debian.org/744015 Reported-by: Paul Gevers <elbrus@debian.org> Reported-and-tested-by: Jarek Czekalski <jarekczek@poczta.onet.pl> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: <stable@vger.kernel.org> # v3.8 but needs backporting for < 3.12 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit d7500135802ca55b3f4e01a16544e8b34082f8c3 Author: Ben Hutchings <ben@decadent.org.uk> Date: Mon May 19 00:56:22 2014 +0100 Staging: speakup: Move pasting into a work item Input is handled in softirq context, but when pasting we may need to sleep. speakup_paste_selection() currently tries to bodge this by busy-waiting if in_atomic(), but that doesn't help because the ldisc may also sleep. For bonus breakage, speakup_paste_selection() changes the state of current, even though it's not running in process context. Move it into a work item and make sure to cancel it on exit. References: https://bugs.debian.org/735202 References: https://bugs.debian.org/744015 Reported-by: Paul Gevers <elbrus@debian.org> Reported-and-tested-by: Jarek Czekalski <jarekczek@poczta.onet.pl> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit f02f79dbcb9c0326588c1cbe24b40887737e71d3 Merge: e6a32c3 2b4cfe6 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 10:04:04 2014 -0700 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: "The biggest commit is an irqtime accounting loop latency fix, the rest are misc fixes all over the place: deadline scheduling, docs, numa, balancer and a bad to-idle latency fix" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/numa: Initialize newidle balance stats in sd_numa_init() sched: Fix updating rq->max_idle_balance_cost and rq->next_balance in idle_balance() sched: Skip double execution of pick_next_task_fair() sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check sched/deadline: Fix memory leak sched/deadline: Fix sched_yield() behavior sched: Sanitize irq accounting madness sched/docbook: Fix 'make htmldocs' warnings caused by missing description commit e6a32c3ad1e78a33dda5ee9e9ca5704288d35fd4 Merge: 2b2d323 b69cf53 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 10:02:34 2014 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "The biggest changes are fixes for races that kept triggering Trinity crashes, plus liblockdep build fixes and smaller misc fixes. The liblockdep bits in perf/urgent are a pull mistake - they should have been in locking/urgent - but by the time I noticed other commits were added and testing was done :-/ Sorry about that" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Fix a race between ring_buffer_detach() and ring_buffer_attach() perf: Prevent false warning in perf_swevent_add perf: Limit perf_event_attr::sample_period to 63 bits tools/liblockdep: Remove all build files when doing make clean tools/liblockdep: Build liblockdep from tools/Makefile perf/x86/intel: Fix Silvermont's event constraints perf: Fix perf_event_init_context() perf: Fix race in removing an event commit 2b2d323a31dc8b369a4c0e33705339399021fa83 Merge: fc3ac5c 77c01be Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 09:41:33 2014 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm radeon and nouveau fixes from Dave Airlie: "Fixes for the other big two. The radeon VCE one is large but it fixes some userspace triggerable issues, otherwise its blackscreens and oopses. Nouveau fixes a bleeding laptop panel issue when displayport is used sometimes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2) drm/radeon: avoid segfault on device open when accel is not working. drm/radeon: fix typo in finding PLL params drm/radeon: fix register typo on si drm/radeon: fix buffer placement under memory pressure v2 drm/radeon: fix page directory update size estimation drm/radeon: handle non-VGA class pci devices with ATRM drm/radeon: fix DCE83 check for mullins drm/radeon: check VCE relocation buffer range v3 drm/radeon: also try GART for CPU accessed buffers drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup drm/nvd9/therm: handle another kind of PWM fan commit fc3ac5c75bae55ca6a070eb72038a94d4f130d8d Merge: 9abd09a 0d9327a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 09:38:07 2014 -0700 Merge branch 'akpm' (incoming from Andrew) Merge misc fixes from Andrew Morton: "9 fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: MAINTAINERS: add closing angle bracket to Vince Bridgers' email address Documentation: fix DOCBOOKS=... building ocfs2: fix double kmem_cache_destroy in dlm_init mm/memory-failure.c: fix memory leak by race between poison and unpoison wait: swap EXIT_ZOMBIE(Z) and EXIT_DEAD(X) chars in TASK_STATE_TO_CHAR_STR memcg: fix swapcache charge from kernel thread context mm: madvise: fix MADV_WILLNEED on shmem swapouts mm/filemap.c: avoid always dirtying mapping->flags on O_DIRECT hwpoison, hugetlb: lock_page/unlock_page does not match for handling a free hugepage commit 0d9327ab70038ac8c7af6e20456578ab80158f2d Author: Tobias Klauser <tklauser@distanz.ch> Date: Thu May 22 11:54:24 2014 -0700 MAINTAINERS: add closing angle bracket to Vince Bridgers' email address Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Cc: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit e60cbeedc48d80689c249ab5dcc3c31ad0452dea Author: Johannes Berg <johannes.berg@intel.com> Date: Thu May 22 11:54:23 2014 -0700 Documentation: fix DOCBOOKS=... building Prior to commit 4266129964b8 ("[media] DocBook: Move all media docbook stuff into its own directory") it was possible to build only a single (or more) book(s) by calling, for example make htmldocs DOCBOOKS=80211.xml This now fails: cp: target `.../Documentation/DocBook//media_api' is not a directory Ignore errors from that copy to make this possible again. Fixes: 4266129964b8 ("[media] DocBook: Move all media docbook stuff into its own directory") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 66db6cfd49825f4e3462ceee3bcbb292d57da6fb Author: Joseph Qi <joseph.qi@huawei.com> Date: Thu May 22 11:54:22 2014 -0700 ocfs2: fix double kmem_cache_destroy in dlm_init In dlm_init, if create dlm_lockname_cache failed in dlm_init_master_caches, it will destroy dlm_lockres_cache which created before twice. And this will cause system die when loading modules. Signed-off-by: Joseph Qi <joseph.qi@huawei.com> Cc: Mark Fasheh <mfasheh@suse.com> Cc: Joel Becker <jlbec@evilplan.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 3e030ecc0fc7de10fd0da10c1c19939872a31717 Author: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Date: Thu May 22 11:54:21 2014 -0700 mm/memory-failure.c: fix memory leak by race between poison and unpoison When a memory error happens on an in-use page or (free and in-use) hugepage, the victim page is isolated with its refcount set to one. When you try to unpoison it later, unpoison_memory() calls put_page() for it twice in order to bring the page back to free page pool (buddy or free hugepage list). However, if another memory error occurs on the page which we are unpoisoning, memory_failure() returns without releasing the refcount which was incremented in the same call at first, which results in memory leak and unconsistent num_poisoned_pages statistics. This patch fixes it. Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: <stable@vger.kernel.org> [2.6.32+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit ad0f614e4723db8cead439cf414108cbf975b224 Author: Masatake YAMATO <yamato@redhat.com> Date: Thu May 22 11:54:20 2014 -0700 wait: swap EXIT_ZOMBIE(Z) and EXIT_DEAD(X) chars in TASK_STATE_TO_CHAR_STR In commit ad86622b478e ("wait: swap EXIT_ZOMBIE and EXIT_DEAD to hide EXIT_TRACE from user-space") the order of task state definitions were changed: EXIT_DEAD and EXIT_ZOMBIE were swapped. Though the charterers for the states in TASK_STATE_TO_CHAR_STR string were not updated. This patch synchronizes the string to the order of definitions. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 6f6acb00514c10be35529402f36ad7a288f08c2e Author: Michal Hocko <mhocko@suse.cz> Date: Thu May 22 11:54:19 2014 -0700 memcg: fix swapcache charge from kernel thread context Commit 284f39afeaa4 ("mm: memcg: push !mm handling out to page cache charge function") explicitly checks for page cache charges without any mm context (from kernel thread context[1]). This seemed to be the only possible case where memory could be charged without mm context so commit 03583f1a631c ("memcg: remove unnecessary !mm check from try_get_mem_cgroup_from_mm()") removed the mm check from get_mem_cgroup_from_mm(). This however caused another NULL ptr dereference during early boot when loopback kernel thread splices to tmpfs as reported by Stephan Kulow: BUG: unable to handle kernel NULL pointer dereference at 0000000000000360 IP: get_mem_cgroup_from_mm.isra.42+0x2b/0x60 Oops: 0000 [#1] SMP Modules linked in: btrfs dm_multipath dm_mod scsi_dh multipath raid10 raid456 async_raid6_recov async_memcpy async_pq raid6_pq async_xor xor async_tx raid1 raid0 md_mod parport_pc parport nls_utf8 isofs usb_storage iscsi_ibft iscsi_boot_sysfs arc4 ecb fan thermal nfs lockd fscache nls_iso8859_1 nls_cp437 sg st hid_generic usbhid af_packet sunrpc sr_mod cdrom ata_generic uhci_hcd virtio_net virtio_blk ehci_hcd usbcore ata_piix floppy processor button usb_common virtio_pci virtio_ring virtio edd squashfs loop ppa] CPU: 0 PID: 97 Comm: loop1 Not tainted 3.15.0-rc5-5-default #1 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Call Trace: __mem_cgroup_try_charge_swapin+0x40/0xe0 mem_cgroup_charge_file+0x8b/0xd0 shmem_getpage_gfp+0x66b/0x7b0 shmem_file_splice_read+0x18f/0x430 splice_direct_to_actor+0xa2/0x1c0 do_lo_receive+0x5a/0x60 [loop] loop_thread+0x298/0x720 [loop] kthread+0xc6/0xe0 ret_from_fork+0x7c/0xb0 Also Branimir Maksimovic reported the following oops which is tiggered for the swapcache charge path from the accounting code for kernel threads: CPU: 1 PID: 160 Comm: kworker/u8:5 Tainted: P OE 3.15.0-rc5-core2-custom #159 Hardware name: System manufacturer System Product Name/MAXIMUSV GENE, BIOS 1903 08/19/2013 task: ffff880404e349b0 ti: ffff88040486a000 task.ti: ffff88040486a000 RIP: get_mem_cgroup_from_mm.isra.42+0x2b/0x60 Call Trace: __mem_cgroup_try_charge_swapin+0x45/0xf0 mem_cgroup_charge_file+0x9c/0xe0 shmem_getpage_gfp+0x62c/0x770 shmem_write_begin+0x38/0x40 generic_perform_write+0xc5/0x1c0 __generic_file_aio_write+0x1d1/0x3f0 generic_file_aio_write+0x4f/0xc0 do_sync_write+0x5a/0x90 do_acct_process+0x4b1/0x550 acct_process+0x6d/0xa0 do_exit+0x827/0xa70 kthread+0xc3/0xf0 This patch fixes the issue by reintroducing mm check into get_mem_cgroup_from_mm. We could do the same trick in __mem_cgroup_try_charge_swapin as we do for the regular page cache path but it is not worth troubles. The check is not that expensive and it is better to have get_mem_cgroup_from_mm more robust. [1] - http://marc.info/?l=linux-mm&m=139463617808941&w=2 Fixes: 03583f1a631c ("memcg: remove unnecessary !mm check from try_get_mem_cgroup_from_mm()") Reported-and-tested-by: Stephan Kulow <coolo@suse.com> Reported-by: Branimir Maksimovic <branimir.maksimovic@gmail.com> Signed-off-by: Michal Hocko <mhocko@suse.cz> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 55231e5c898c5c03c14194001e349f40f59bd300 Author: Johannes Weiner <hannes@cmpxchg.org> Date: Thu May 22 11:54:17 2014 -0700 mm: madvise: fix MADV_WILLNEED on shmem swapouts MADV_WILLNEED currently does not read swapped out shmem pages back in. Commit 0cd6144aadd2 ("mm + fs: prepare for non-page entries in page cache radix trees") made find_get_page() filter exceptional radix tree entries but failed to convert all find_get_page() callers that WANT exceptional entries over to find_get_entry(). One of them is shmem swap readahead in madvise, which now skips over any swap-out records. Convert it to find_get_entry(). Fixes: 0cd6144aadd2 ("mm + fs: prepare for non-page entries in page cache radix trees") Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Reported-by: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 7fcbbaf18392f0b17c95e2f033c8ccf87eecde1d Author: Jens Axboe <axboe@fb.com> Date: Thu May 22 11:54:16 2014 -0700 mm/filemap.c: avoid always dirtying mapping->flags on O_DIRECT In some testing I ran today (some fio jobs that spread over two nodes), we end up spending 40% of the time in filemap_check_errors(). That smells fishy. Looking further, this is basically what happens: blkdev_aio_read() generic_file_aio_read() filemap_write_and_wait_range() if (!mapping->nr_pages) filemap_check_errors() and filemap_check_errors() always attempts two test_and_clear_bit() on the mapping flags, thus dirtying it for every single invocation. The patch below tests each of these bits before clearing them, avoiding this issue. In my test case (4-socket box), performance went from 1.7M IOPS to 4.0M IOPS. Signed-off-by: Jens Axboe <axboe@fb.com> Acked-by: Jeff Moyer <jmoyer@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit b985194c8c0a130ed155b71662e39f7eaea4876f Author: Chen Yucong <slaoub@gmail.com> Date: Thu May 22 11:54:15 2014 -0700 hwpoison, hugetlb: lock_page/unlock_page does not match for handling a free hugepage For handling a free hugepage in memory failure, the race will happen if another thread hwpoisoned this hugepage concurrently. So we need to check PageHWPoison instead of !PageHWPoison. If hwpoison_filter(p) returns true or a race happens, then we need to unlock_page(hpage). Signed-off-by: Chen Yucong <slaoub@gmail.com> Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Tested-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Reviewed-by: Andi Kleen <ak@linux.intel.com> Cc: <stable@vger.kernel.org> [2.6.36+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit ffed54dced86723f352323f15789d9ad6bee25e1 Author: Ian Abbott <abbotti@mev.co.uk> Date: Mon May 19 11:29:04 2014 +0100 staging: comedi: ni_daq_700: add mux settling delay I got a patch from the original author, Fred Brooks, to add a small settling delay after setting the AI channel multiplexor. The lack of delay resulted in unstable or scrambled data on faster processors. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reported-by: Fred Brooks <nsaspook@nsaspook.com> Cc: <stable@vger.kernel.org> # 3.7.x - 3.15.x Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 478da752d0cf652fb3b5d82e2ece94e92724de88 Author: Rusty Russell <rusty@rustcorp.com.au> Date: Thu Apr 24 13:59:53 2014 +0930 speakup: fix incorrect perms on speakup_acntsa.c 22c9bcad859d5c969289b3b37084a96c621f8f2c contained a bad substitution for ROOT_W => S_IRUSR|S_IRUGO instead of S_IWUSR|S_IRUGO. Fixes: 22c9bcad859d5c969289b3b37084a96c621f8f2c Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 9abd09acd664c68f06242da191209d9c70df6953 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri May 23 09:23:51 2014 -0700 parisc: 'renameat2()' doesn't need (or have) a separate compat system call The 'renameat2()' system call was incorrectly added as a ENTRY_COMP() in the parisc system call table by commit 18e480aa07f78 ("parisc: add renameat2 syscall"). That causes a link-time error due to there not being any compat version of that system call: arch/parisc/kernel/built-in.o: In function `sys_call_table': (.rodata+0xad0): undefined reference to `compat_sys_renameat2' make: *** [vmlinux] Error 1 Easily fixed by marking the system call as being the same for compat as for native by using ENTRY_SAME() instead of ENTRY_COMP(). Reported-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Miklos Szeredi <miklos@szeredi.hu> Acked-by: Helge Deller <deller@gmx.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 756abc8d6de06f0afc2121f69030f0d3f4f8177a Merge: 85aea46 13984e9 Author: Arnd Bergmann <arnd@arndb.de> Date: Fri May 23 18:13:15 2014 +0200 Merge tag 'at91-fixes2' of git://github.com/at91linux/linux-at91 into fixes Second 3.15 fixes for AT91 - two fixes concerning iio ADC triggers for at91sam9260 and at91sam9g20 one for the "device" file, the other for the DT. * tag 'at91-fixes2' of git://github.com/at91linux/linux-at91: ARM: at91: sam9260: fix compilation issues ARM: at91/dt: sam9260: correct external trigger value Signed-off-by: Arnd Bergmann <arnd@arndb.de> commit 85aea469ef65091ddcfadb848af1ef7ef1d9cedd Merge: 767bf9f d903bc9 Author: Arnd Bergmann <arnd@arndb.de> Date: Fri May 23 18:11:01 2014 +0200 Merge tag 'mvebu-fixes-3.15-2' of git://git.infradead.org/linux-mvebu into fixes mvebu fixes for v3.15 (incremental #2) - Armada 38x - fix PCIe dt nodes for handling more interfaces - mvebu - mvebu-soc-id: fix clock handling and PCIe interface disabling. * tag 'mvebu-fixes-3.15-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: fix definitions of PCIe interfaces on Armada 38x ARM: mvebu: mvebu-soc-id: keep clock enabled if PCIe unit is enabled ARM: mvebu: mvebu-soc-id: add missing clk_put() call Signed-off-by: Arnd Bergmann <arnd@arndb.de> commit 5ca2504ea36df1da815029a9e9277c08540042eb Merge: b6ed549 2c316e6 Author: John W. Linville <linville@tuxdriver.com> Date: Fri May 23 10:55:58 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 656f88ddf1ec3abf2cd20b8b4028c44e8e95f56d Author: David Howells <dhowells@redhat.com> Date: Wed May 21 15:55:26 2014 +0100 AFS: Pass an afs_call* to call->async_workfn() instead of a work_struct* call->async_workfn() can take an afs_call* arg rather than a work_struct* as the functions assigned there are now called from afs_async_workfn() which has to call container_of() anyway. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Reviewed-by: Tejun Heo <tj@kernel.org> commit 150a6b478982475c60fa25b7060ab990ece5483d Author: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Date: Wed May 21 14:58:26 2014 +0100 AFS: Fix kafs module unloading At present, it is not possible to successfully unload the kafs module if there are outstanding async outgoing calls (those made with afs_make_call()). This appears to be due to the changes introduced by: commit 059499453a9abd1857d442b44da8b4c126dc72a8 Author: Tejun Heo <tj@kernel.org> Date: Fri Mar 7 10:24:50 2014 -0500 Subject: afs: don't use PREPARE_WORK which didn't go far enough. The problem is due to: (1) The aforementioned commit introduced a separate handler function pointer in the call, call->async_workfn, in addition to the original workqueue item, call->async_work, for asynchronous operations because workqueues subsystem cannot handle the workqueue item pointer being changed whilst the item is queued or being processed. (2) afs_async_workfn() was introduced in that commit to be the callback for call->async_work. Its sole purpose is to run whatever call->async_workfn points to. (3) call->async_workfn is only used from afs_async_workfn(), which is only set on async_work by afs_collect_incoming_call() - ie. for incoming calls. (4) call->async_workfn is *not* set by afs_make_call() when outgoing calls are made, and call->async_work is set afs_process_async_call() - and not afs_async_workfn(). (5) afs_process_async_call() now changes call->async_workfn rather than call->async_work to point to afs_delete_async_call() to clean up, but this is only effective for incoming calls because call->async_work does not point to afs_async_workfn() for outgoing calls. (6) Because, for incoming calls, call->async_work remains pointing to afs_process_async_call() this results in an infinite loop. Instead, make the workqueue uniformly vector through call->async_workfn, via afs_async_workfn() and simply initialise call->async_workfn to point to afs_process_async_call() in afs_make_call(). Signed-off-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Tejun Heo <tj@kernel.org> commit 6cf12869f5c1a837f18af5f8b2308fa243772735 Author: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Date: Wed May 21 16:04:11 2014 +0100 AFS: Part of afs_end_call() is identical to code elsewhere, so split it Split afs_end_call() into two pieces, one of which is identical to code in afs_process_async_call(). Replace the latter with a call to the first part of afs_end_call(). Signed-off-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Signed-off-by: David Howells <dhowells@redhat.com> commit 77f07800cb456bed6e5c345e6e4e83e8eda62437 Author: Takashi Iwai <tiwai@suse.de> Date: Fri May 23 09:02:44 2014 +0200 ALSA: hda - Fix onboard audio on Intel H97/Z97 chipsets The recent Intel H97/Z97 chipsets need the similar setups like other Intel chipsets for snooping, etc. Especially without snooping, the audio playback stutters or gets corrupted. This fix patch just adds the corresponding PCI ID entry with the proper flags. Reported-and-tested-by: Arthur Borsboom <arthurborsboom@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit 41ca86e8502952116234fa558f4277092a5aaae9 Author: Ralf Baechle <ralf@linux-mips.org> Date: Thu May 22 23:19:00 2014 +0200 MIPS: Fix branch emulation of branch likely instructions. Two issues: o For beql_op, beql_op, bne_op, bnel_op, blez_op, blezl_op, bgtz_op and bgtzl_op the wrong field was being checked for the instruction opcode. o For blez_op / blezl_op and bgtz_op / bgtzl_op the test was testing for the wrong opcode. This bug got introduced by d8d4e3ae0b5c179c0bfd3f0af5b352d13bea9cfa [MIPS Kprobes: Refactor branch emulation]. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> Acked-by: Victor Kamensky <kamensky@cisco.com> commit 6aa6caff30f5dcb9e55b03b9710c30b83750cae5 Author: Joe Lawrence <joe.lawrence@stratus.com> Date: Thu May 22 17:30:54 2014 -0400 [SCSI] scsi_transport_sas: move bsg destructor into sas_rphy_remove The recent change in sysfs, bcdde7e221a8750f9b62b6d0bd31b72ea4ad9309 "sysfs: make __sysfs_remove_dir() recursive" revealed an asymmetric rphy device creation/deletion sequence in scsi_transport_sas: modprobe mpt2sas sas_rphy_add device_add A rphy->dev device_add B sas_device transport class device_add C sas_end_device transport class device_add D bsg class rmmod mpt2sas sas_rphy_delete sas_rphy_remove device_del B device_del C device_del A sysfs_remove_group recursive sysfs dir removal sas_rphy_free device_del D warning where device A is the parent of B, C, and D. When sas_rphy_free tries to unregister the bsg request queue (device D above), the ensuing sysfs cleanup discovers that its sysfs group has already been removed and emits a warning, "sysfs group... not found for kobject 'end_device-X:0'". Since bsg creation is a side effect of sas_rphy_add, move its complementary removal call into sas_rphy_remove. This imposes the following tear-down order for the devices above: D, B, C, A. Note the sas_device and sas_end_device transport class devices (B and C above) are created and destroyed both via the list match traversal in attribute_container_device_trigger, so the order in which they are handled is fixed. This is fine as long as they are deleted before their parent device. Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com> commit 7ea456436ff6563b6cf89d3254ae76a8ceab499b Author: Alexey Charkov <alchark@gmail.com> Date: Tue Apr 29 23:42:00 2014 +0400 pinctrl: vt8500: Ensure value reg is updated when setting direction Current code only touches the direction register when setting direction to output, which breaks logic like echo high > /sys/class/gpio/gpio0/direction which is expected to also set the value. This patch also adds a call to update the value register when setting direction to output. Signed-off-by: Alexey Charkov <alchark@gmail.com> Acked-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> commit b6ed5498601df40489606dbc14a9c7011c16630b Author: Cong Wang <cwang@twopensource.com> Date: Thu May 22 11:57:17 2014 -0700 batman: fix a bogus warning from batadv_is_on_batman_iface() batman tries to search dev->iflink to check if it's a batman interface, but ->iflink could be 0, which is not a valid ifindex. It should just avoid iflink == 0 case. Reported-by: Jet Chen <jet.chen@intel.com> Tested-by: Jet Chen <jet.chen@intel.com> Cc: David S. Miller <davem@davemloft.net> Cc: Steffen Klassert <steffen.klassert@secunet.com> Cc: Antonio Quartulli <antonio@open-mesh.com> Cc: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Cong Wang <cwang@twopensource.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit fbdc0ad095c0a299e9abf5d8ac8f58374951149a Author: Li RongQing <roy.qing.li@gmail.com> Date: Thu May 22 16:36:55 2014 +0800 ipv4: initialise the itag variable in __mkroute_input the value of itag is a random value from stack, and may not be initiated by fib_validate_source, which called fib_combine_itag if CONFIG_IP_ROUTE_CLASSID is not set This will make the cached dst uncertainty Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Acked-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d0c21d43a5a12aaebb1e42e10cf78e6491fc9e5a Author: Vlad Yasevich <vyasevic@redhat.com> Date: Wed May 21 13:19:48 2014 -0400 bonding: Send ALB learning packets using the right source ALB learning packets are currentlyalways sent using the slave mac address for all vlans configured on top of bond. This is not always correct, as vlans may change their mac address. This patch introduced a concept of strict matching where the source of learning packets can either strictly match the address passed in, or it can determine a more correct address to use. There are 3 casese to consider: 1) Switchover. In this case, we have a new active slave and we need tell the switch about all addresses available on the slave. 2) Monitor. We'll periodically refresh learning info for all slaves. In this case, we refresh all addresses for current active, and just the slave address for other slaves. 3) Teaching of disabled adddress. This happens as part of the failover and in this case, we alwyas to use just the address provided. CC: Jay Vosburgh <j.vosburgh@gmail.com> CC: Veaceslav Falico <vfalico@gmail.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d6b694c0b3f20c3ee54d29d4109fa1978d11a033 Author: Vlad Yasevich <vyasevic@redhat.com> Date: Wed May 21 11:24:39 2014 -0400 bonding: Don't assume 802.1Q when sending alb learning packets. TLB/ALB learning packets always assume 802.1Q vlan protocol, but that is no longer the case since we now have support for Q-in-Q on top of bonding. Pass the vlan protocol to alb_send_lp_vid() so that the packets are properly tagged. CC: Jay Vosburgh <j.vosburgh@gmail.com> CC: Veaceslav Falico <vfalico@gmail.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Acked-by: Veaceslav Falico <vfalico@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit a3431acf742455ba738c9fb143802d4ad6937164 Merge: b0db5cd 0b5a958 Author: David S. Miller <davem@davemloft.net> Date: Thu May 22 15:41:20 2014 -0400 Merge tag 'linux-can-fixes-for-3.15-20140521' of git://gitorious.org/linux-can/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2014-05-21 this is a pull request for net/master, for the v3.15 release cycle, with a single patch. Christopher R. Baker found a use after free during unloading of the peak_pci driver. This is fixes in a patch by Stephane Grosjean. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit b0db5cdf3975134ca967e8b8370a8f0c91ce2329 Author: Tobias Klauser <tklauser@distanz.ch> Date: Tue May 20 13:52:13 2014 +0200 net: doc: Update references to skb->rxhash In commit 61b905da33 ("net: Rename skb->rxhash to skb->hash"), skb->rxhash was renamed to skb->hash. Update references in Documentation accordingly. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 89df20d951b310f3e33422554054ae6e58a3c7a9 Author: Hans de Goede <hdegoede@redhat.com> Date: Tue May 20 11:38:18 2014 +0200 stmmac: Remove unbalanced clk_disable call The stmmac_open call was calling clk_disable_unprepare on phy init failure, but it never calls clk_prepare_enable, this causes a WARN_ON in the clk framework to trigger if for some reason phy init fails. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Acked-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 2c316e699fa40f2fc161ebb770b6e2845db4f3b0 Merge: 20b4f9c 7bacc78 Author: John W. Linville <linville@tuxdriver.com> Date: Thu May 22 13:53:27 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit acbf6d21ac81195071b97ebb114b0b37bd9fcc86 Author: David Jander <david@protonic.nl> Date: Thu May 8 12:06:25 2014 +0200 clocksource: tcb_clksrc: Make tc_mode interrupt safe tc_mode() can be called from interrupt context and thus must not call clk_*prepare*() functions. Signed-off-by: David Jander <david@protonic.nl> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> commit f214be50f317d78c47532d4ca8aa0ba5e79fc1ca Author: Zhiwu Song <Zhiwu.Song@csr.com> Date: Wed May 7 14:46:44 2014 +0800 clocksource: marco: Fix the affinity set for local timer of CPU1 irqchip will reject the affinity set to CPUs which is not online yet. but in the CPU1 wakeup stage, OS only sets CPU1 to be online after local timer is set, so that causes the irq_set_affinity not work. this patch moves to irq_force_affinity() for the low level boot stage. Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> commit 13984e9bb15528f70059bbbbda3f9028157eebf6 Author: Alexandre Belloni <alexandre.belloni@free-electrons.com> Date: Wed May 7 19:45:48 2014 +0200 ARM: at91: sam9260: fix compilation issues Use the hexadecimal values for the triggers to match what is done for the device tree. This also fixes compilation issues as the defines have been moved elsewhere. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> commit d903bc9ee9b67410d02923d98a8dd4ecf5a1bc69 Merge: b25bcf1 c2a3dd9 Author: Jason Cooper <jason@lakedaemon.net> Date: Thu May 22 15:16:37 2014 +0000 Merge branch 'mvebu/dt-fixes' into mvebu/fixes commit c2a3dd9d2b30f65b4f4a62cb5a9b2c7131bd1ac4 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Tue May 20 16:43:28 2014 +0200 ARM: mvebu: fix definitions of PCIe interfaces on Armada 38x Due a copy/paste error, the 'reg' values for the third PCIe interface on Armada 380, and the third and fourth PCIe interfaces on Armada 385 are wrong: they are equal to the one of the second PCIe interface. This patch fixes this by using the appropriate 'reg' values for those PCIe interfaces. Without this fix, the third and fourth PCIe interfaces are unusable on those platforms. Reported-by: Nadav Haklai <nadavh@marvell.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1400597008-4148-1-git-send-email-thomas.petazzoni@free-electrons.com Fixes: 0d3d96ab0059 ("ARM: mvebu: add Device Tree description of the Armada 380/385 SoCs") Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit dc93f7b68a039fe7d918613163b1cdd21b279ec5 Author: Huacai Chen <chenhc@lemote.com> Date: Wed May 21 10:49:19 2014 +0800 MIPS: Fix a typo error in AUDIT_ARCH definition Missing a "|" in AUDIT_ARCH_MIPSEL64N32 macro definition. Signed-off-by: Huacai Chen <chenhc@lemote.com> Reviewed-by: Markos Chandras <markos.chandras@imgtec.com> Cc: John Crispin <john@phrozen.org> Cc: Steven J. Hill <Steven.Hill@imgtec.com> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: linux-mips@linux-mips.org Cc: Fuxin Zhang <zhangfx@lemote.com> Cc: Zhangjin Wu <wuzhangjin@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/6978/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 6acbfb96976fc3350e30d964acb1dbbdf876d55e Author: Lai Jiangshan <laijs@cn.fujitsu.com> Date: Fri May 16 11:50:42 2014 +0800 sched: Fix hotplug vs. set_cpus_allowed_ptr() Lai found that: WARNING: CPU: 1 PID: 13 at arch/x86/kernel/smp.c:124 native_smp_send_reschedule+0x2d/0x4b() ... migration_cpu_stop+0x1d/0x22 was caused by set_cpus_allowed_ptr() assuming that cpu_active_mask is always a sub-set of cpu_online_mask. This isn't true since 5fbd036b552f ("sched: Cleanup cpu_active madness"). So set active and online at the same time to avoid this particular problem. Fixes: 5fbd036b552f ("sched: Cleanup cpu_active madness") Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Gautham R. Shenoy <ego@linux.vnet.ibm.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Michael wang <wangyun@linux.vnet.ibm.com> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Cc: Toshi Kani <toshi.kani@hp.com> Link: http://lkml.kernel.org/r/53758B12.8060609@cn.fujitsu.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 4dac0b638310d2e92f6e19958b73d4c97c9734bb Author: Peter Zijlstra <peterz@infradead.org> Date: Wed May 14 16:04:26 2014 +0200 sched/cpupri: Replace NR_CPUS arrays Tejun reported that his resume was failing due to order-3 allocations from sched_domain building. Replace the NR_CPUS arrays in there with a dynamically allocated array. Reported-by: Tejun Heo <tj@kernel.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/n/tip-7cysnkw1gik45r864t1nkudh@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 944770ab54babaef29d9d1dc8189898b3ee8afcf Author: Peter Zijlstra <peterz@infradead.org> Date: Wed May 14 16:13:56 2014 +0200 sched/deadline: Replace NR_CPUS arrays Tejun reported that his resume was failing due to order-3 allocations from sched_domain building. Replace the NR_CPUS arrays in there with a dynamically allocated array. Reported-by: Tejun Heo <tj@kernel.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Juri Lelli <juri.lelli@gmail.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/n/tip-kat4gl1m5a6dwy6nzuqox45e@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org> commit b0827819b0da4acfbc1df1e05edcf50efd07cbd1 Author: Juri Lelli <juri.lelli@gmail.com> Date: Tue May 13 14:11:31 2014 +0200 sched/deadline: Restrict user params max value to 2^63 ns Michael Kerrisk noticed that creating SCHED_DEADLINE reservations with certain parameters (e.g, a runtime of something near 2^64 ns) can cause a system freeze for some amount of time. The problem is that in the interface we have u64 sched_runtime; while internally we need to have a signed runtime (to cope with budget overruns) s64 runtime; At the time we setup a new dl_entity we copy the first value in the second. The cast turns out with negative values when sched_runtime is too big, and this causes the scheduler to go crazy right from the start. Moreover, considering how we deal with deadlines wraparound (s64)(a - b) < 0 we also have to restrict acceptable values for sched_{deadline,period}. This patch fixes the thing checking that user parameters are always below 2^63 ns (still large enough for everyone). It also rewrites other conditions that we check, since in __checkparam_dl we don't have to deal with deadline wraparounds and what we have now erroneously fails when the difference between values is too big. Reported-by: Michael Kerrisk <mtk.manpages@gmail.com> Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Juri Lelli <juri.lelli@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> Cc: Dario Faggioli<raistlin@linux.it> Cc: Dave Jones <davej@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140513141131.20d944f81633ee937f256385@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit ce5f7f8200ca2504f6f290044393d73ca314965a Author: Peter Zijlstra <peterz@infradead.org> Date: Mon May 12 22:50:34 2014 +0200 sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE The way we read POSIX one should only call sched_getparam() when sched_getscheduler() returns either SCHED_FIFO or SCHED_RR. Given that we currently return sched_param::sched_priority=0 for all others, extend the same behaviour to SCHED_DEADLINE. Requested-by: Michael Kerrisk <mtk.manpages@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Dario Faggioli <raistlin@linux.it> Cc: linux-man <linux-man@vger.kernel.org> Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> Cc: Juri Lelli <juri.lelli@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: <stable@vger.kernel.org> Link: http://lkml.kernel.org/r/20140512205034.GH13467@laptop.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit dbdb22754fde671dc93d2fae06f8be113d47f2fb Author: Peter Zijlstra <peterz@infradead.org> Date: Fri May 9 10:49:03 2014 +0200 sched: Disallow sched_attr::sched_policy < 0 The scheduler uses policy=-1 to preserve the current policy state to implement sys_sched_setparam(), this got exposed to userspace by accident through sys_sched_setattr(), cure this. Reported-by: Michael Kerrisk <mtk.manpages@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Cc: <stable@vger.kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140509085311.GJ30445@twins.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 143cf23df25b7082cd706c3c53188e741e7881c3 Author: Michael Kerrisk <mtk.manpages@gmail.com> Date: Fri May 9 16:54:15 2014 +0200 sched: Make sched_setattr() correctly return -EFBIG The documented[1] behavior of sched_attr() in the proposed man page text is: sched_attr::size must be set to the size of the structure, as in sizeof(struct sched_attr), if the provided structure is smaller than the kernel structure, any additional fields are assumed '0'. If the provided structure is larger than the kernel structure, the kernel verifies all additional fields are '0' if not the syscall will fail with -E2BIG. As currently implemented, sched_copy_attr() returns -EFBIG for for this case, but the logic in sys_sched_setattr() converts that error to -EFAULT. This patch fixes the behavior. [1] http://thread.gmane.org/gmane.linux.kernel/1615615/focus=1697760 Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/536CEC17.9070903@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 767bf9f00ec753a3bba653844d7b858b8720707f Merge: d1d70e5 4b353a7 Author: Olof Johansson <olof@lixom.net> Date: Wed May 21 22:19:27 2014 -0700 Merge tag 'omap-for-v3.15/fixes-v3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Pull "omap fixes for v3.15-rc cycle" from Tony Lindgren: Regression fixes for omaps for NAND, DMA, cpu_idle and audio. Also a minor one line fix for audio clock on 54xx. * tag 'omap-for-v3.15/fixes-v3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled ARM: OMAP2+: Fix DMA hang after off-idle ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms Signed-off-by: Olof Johansson <olof@lixom.net> commit d1d70e5dc2cfa9047bb935c41ba808ebb8135696 Author: Emil Goode <emilgoode@gmail.com> Date: Mon May 19 15:07:54 2014 +0800 ARM: imx: fix error handling in ipu device registration If we fail to allocate struct platform_device pdev we dereference it after the goto label err. This bug was found using coccinelle. Fixes: afa77ef (ARM: mx3: dynamically allocate "ipu-core" devices) Signed-off-by: Emil Goode <emilgoode@gmail.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: <stable@vger.kernel.org> Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Olof Johansson <olof@lixom.net> commit 3bc4a87c03e75c88471450380cb194bf30ea4a87 Merge: 4b660a7 702b691 Author: Olof Johansson <olof@lixom.net> Date: Wed May 21 22:16:30 2014 -0700 Merge tag 'samsung-fixes' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Samsung fixes for 3.15 from Kukjin Kim: - Remove g2d_pd and mau_pd nodes on exynos5420. Since the power domains are linked to the CMU blocks, kernel panic happens during access clocks when the power domains are disabled. Now this is a best solution. - Enable HS-I2C on exynos5 by default MMC partition cannot be mounted for RFS without the enabling HS-I2C because regulators for MMC power are connected to HS-I2C bus. - Disable MDMA1 node on exynos5420 When MDMA1 runs in secure mode it makes kernel fault, so need to disalbe it on exynos5420 by default instead of each board. - Fix the secondary CPU boot for exynos4212 * tag 'samsung-fixes' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Remove g2d_pd node for exynos5420 ARM: dts: Remove mau_pd node for exynos5420 ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount ARM: dts: disable MDMA1 node for exynos5420 ARM: EXYNOS: fix the secondary CPU boot of exynos4212 Signed-off-by: Olof Johansson <olof@lixom.net> commit 77c01bef72a5ce5cb24adae6066ed81a52004d30 Merge: 763b257 4f2f203 Author: Dave Airlie <airlied@redhat.com> Date: Thu May 22 09:15:57 2014 +1000 Merge branch 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-fixes radeon fixes, VCE one is big but does fix a userspace crash. * 'drm-fixes-3.15' of git://people.freedesktop.org/~deathsimple/linux: drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2) drm/radeon: avoid segfault on device open when accel is not working. drm/radeon: fix typo in finding PLL params drm/radeon: fix register typo on si drm/radeon: fix buffer placement under memory pressure v2 drm/radeon: fix page directory update size estimation drm/radeon: handle non-VGA class pci devices with ATRM drm/radeon: fix DCE83 check for mullins drm/radeon: check VCE relocation buffer range v3 drm/radeon: also try GART for CPU accessed buffers commit 763b2573cf59da8f906b9f2c8a2d437482761005 Merge: 4b660a7 0f1d360 Author: Dave Airlie <airlied@redhat.com> Date: Thu May 22 09:14:50 2014 +1000 Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes fixes nasty panel bleeding bug. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup drm/nvd9/therm: handle another kind of PWM fan commit 368b69a5b010cb00fc9ea04d588cff69af1a1359 Author: Andy Lutomirski <luto@amacapital.net> Date: Wed May 14 16:23:13 2014 -0700 x86, vdso: Fix an OOPS accessing the HPET mapping w/o an HPET The oops can be triggered in qemu using -no-hpet (but not nohpet) by running a 32-bit program and reading a couple of pages before the vdso. This should send SIGBUS instead of OOPSing. The bug was introduced by: commit 7a59ed415f5b57469e22e41fc4188d5399e0b194 Author: Stefani Seibold <stefani@seibold.net> Date: Mon Mar 17 23:22:09 2014 +0100 x86, vdso: Add 32 bit VDSO time support for 32 bit kernel which is new in 3.15. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Link: http://lkml.kernel.org/r/e99025d887d6670b6c4d81e6ccfeeb83770b21e9.1400109621.git.luto@amacapital.net Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> commit 4b660a7f5c8099d88d1a43d8ae138965112592c7 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 06:42:02 2014 +0900 Linux 3.15-rc6 commit 4de462ab63e23953fd05da511aeb460ae10cc726 Author: Eric Dumazet <edumazet@google.com> Date: Mon May 19 21:56:34 2014 -0700 ipv6: gro: fix CHECKSUM_COMPLETE support When GRE support was added in linux-3.14, CHECKSUM_COMPLETE handling broke on GRE+IPv6 because we did not update/use the appropriate csum : GRO layer is supposed to use/update NAPI_GRO_CB(skb)->csum instead of skb->csum Tested using a GRE tunnel and IPv6 traffic. GRO aggregation now happens at the first level (ethernet device) instead of being done in gre tunnel. Native IPv6+TCP is still properly aggregated. Fixes: bf5a755f5e918 ("net-gre-gro: Add GRE support to the GRO stack") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Jerry Chu <hkchu@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit c1f43dd9c20d85e66c4d77e284f64ac114abe3f8 Author: Xuelin Shi <xuelin.shi@freescale.com> Date: Wed May 21 14:02:37 2014 -0700 dmaengine: fix dmaengine_unmap failure The count which is used to get_unmap_data maybe not the same as the count computed in dmaengine_unmap which causes to free data in a wrong pool. This patch fixes this issue by keeping the map count with unmap_data structure and use this count to get the pool. Cc: <stable@vger.kernel.org> Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> commit 5a9a55bf9157d3490b0c8c4c81d4708602c26e07 Author: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Date: Wed May 21 14:02:35 2014 -0700 dma: mv_xor: Flush descriptors before activating a channel We need to use writel() instead of writel_relaxed() when starting a channel, to ensure all the descriptors have been flushed before the activation. While at it, remove the unneeded read-modify-write and make the code simpler. Cc: <stable@vger.kernel.org> Signed-off-by: Lior Amsalem <alior@marvell.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> commit 6538d625215f29671864649336645dea19214135 Merge: 11da37b 8050936 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 05:55:12 2014 +0900 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull two powerpc fixes from Ben Herrenschmidt: "Here are a couple of fixes for 3.15. One from Anton fixes a nasty regression I introduced when trying to fix a loss of irq_work whose consequences is that we can completely lose timer interrupts on a CPU... not pretty. The other one is a change to our PCIe reset hook to use a firmware call instead of direct config space accesses to trigger a fundamental reset on the root port. This is necessary so that the FW gets a chance to disable the link down error monitoring, which would otherwise trip and cause subsequent fatal EEH error" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: irq work racing with timer interrupt can result in timer interrupt hang powerpc/powernv: Reset root port in firmware commit bf63ac73b3e132e6bf0c8798aba7b277c3316e19 Author: Cong Wang <xiyou.wangcong@gmail.com> Date: Mon May 19 12:15:49 2014 -0700 net_sched: fix an oops in tcindex filter Kelly reported the following crash: IP: [<ffffffff817a993d>] tcf_action_exec+0x46/0x90 PGD 3009067 PUD 300c067 PMD 11ff30067 PTE 800000011634b060 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 1 PID: 639 Comm: dhclient Not tainted 3.15.0-rc4+ #342 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff8801169ecd00 ti: ffff8800d21b8000 task.ti: ffff8800d21b8000 RIP: 0010:[<ffffffff817a993d>] [<ffffffff817a993d>] tcf_action_exec+0x46/0x90 RSP: 0018:ffff8800d21b9b90 EFLAGS: 00010283 RAX: 00000000ffffffff RBX: ffff88011634b8e8 RCX: ffff8800cf7133d8 RDX: ffff88011634b900 RSI: ffff8800cf7133e0 RDI: ffff8800d210f840 RBP: ffff8800d21b9bb0 R08: ffffffff8287bf60 R09: 0000000000000001 R10: ffff8800d2b22b24 R11: 0000000000000001 R12: ffff8800d210f840 R13: ffff8800d21b9c50 R14: ffff8800cf7133e0 R15: ffff8800cad433d8 FS: 00007f49723e1840(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffff88011634b8f0 CR3: 00000000ce469000 CR4: 00000000000006e0 Stack: ffff8800d2170188 ffff8800d210f840 ffff8800d2171b90 0000000000000000 ffff8800d21b9be8 ffffffff817c55bb ffff8800d21b9c50 ffff8800d2171b90 ffff8800d210f840 ffff8800d21b0300 ffff8800d21b9c50 ffff8800d21b9c18 Call Trace: [<ffffffff817c55bb>] tcindex_classify+0x88/0x9b [<ffffffff817a7f7d>] tc_classify_compat+0x3e/0x7b [<ffffffff817a7fdf>] tc_classify+0x25/0x9f [<ffffffff817b0e68>] htb_enqueue+0x55/0x27a [<ffffffff817b6c2e>] dsmark_enqueue+0x165/0x1a4 [<ffffffff81775642>] __dev_queue_xmit+0x35e/0x536 [<ffffffff8177582a>] dev_queue_xmit+0x10/0x12 [<ffffffff818f8ecd>] packet_sendmsg+0xb26/0xb9a [<ffffffff810b1507>] ? __lock_acquire+0x3ae/0xdf3 [<ffffffff8175cf08>] __sock_sendmsg_nosec+0x25/0x27 [<ffffffff8175d916>] sock_aio_write+0xd0/0xe7 [<ffffffff8117d6b8>] do_sync_write+0x59/0x78 [<ffffffff8117d84d>] vfs_write+0xb5/0x10a [<ffffffff8117d96a>] SyS_write+0x49/0x7f [<ffffffff8198e212>] system_call_fastpath+0x16/0x1b This is because we memcpy struct tcindex_filter_result which contains struct tcf_exts, obviously struct list_head can not be simply copied. This is a regression introduced by commit 33be627159913b094bb578 (net_sched: act: use standard struct list_head). It's not very easy to fix it as the code is a mess: if (old_r) memcpy(&cr, r, sizeof(cr)); else { memset(&cr, 0, sizeof(cr)); tcf_exts_init(&cr.exts, TCA_TCINDEX_ACT, TCA_TCINDEX_POLICE); } ... tcf_exts_change(tp, &cr.exts, &e); ... memcpy(r, &cr, sizeof(cr)); the above code should equal to: tcindex_filter_result_init(&cr); if (old_r) cr.res = r->res; ... if (old_r) tcf_exts_change(tp, &r->exts, &e); else tcf_exts_change(tp, &cr.exts, &e); ... r->res = cr.res; after this change, since there is no need to copy struct tcf_exts. And it also fixes other places zero'ing struct's contains struct tcf_exts. Fixes: commit 33be627159913b0 (net_sched: act: use standard struct list_head) Reported-by: Kelly Anderson <kelly@xilka.com> Tested-by: Kelly Anderson <kelly@xilka.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 11da37b26301be772c289c5406aec347ad140bd6 Merge: 3062556 51a6025 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 05:40:13 2014 +0900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull two btrfs fixes from Chris Mason: "This has two fixes that we've been testing for 3.16, but since both are safe and fix real bugs, it makes sense to send for 3.15 instead" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Btrfs: send, fix incorrect ref access when using extrefs Btrfs: fix EIO on reading file after ioctl clone works on it commit 30625569031641eba1cd1f71148cf188500861a2 Merge: 5e9d9fc f140662 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 05:38:51 2014 +0900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull two ceph fixes from Sage Weil: "The first patch fixes a problem when we have a page count of 0 for sendpage which is triggered by zfs. The second fixes a bug in CRUSH that was resolved in the userland code a while back but fell through the cracks on the kernel side" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: crush: decode and initialize chooseleaf_vary_r libceph: fix corruption when using page_count 0 page in rbd commit 5e9d9fc4edd3f591e3cf76dd19a8b2a9c8d5cee1 Merge: 80932ec ee4eec4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 05:36:07 2014 +0900 Merge tag 'xfs-for-linus-3.15-rc6' of git://oss.sgi.com/xfs/xfs Pull xfs fixes from Dave Chinner: "Code inspection of the XFS error number sign translations found a bunch of issues, including returning incorrectly signed errors for some data integrity operations. These leak to userspace and result in applications not getting the errors correctly reported. Hence they need fixing sooner rather than later. A couple of the bugs are in data integrity operations, a couple more are in the new COLLAPSE_RANGE code. One of these came in through a recent ext4 merge and so I had to update the base tree to 3.15-rc5 before fixing the issues" * tag 'xfs-for-linus-3.15-rc6' of git://oss.sgi.com/xfs/xfs: xfs: list_lru_init returns a negative error xfs: negate xfs_icsb_init_counters error value xfs: negate mount workqueue init error value xfs: fix wrong err sign on xfs_set_acl() xfs: fix wrong errno from xfs_initxattrs xfs: correct error sign on COLLAPSE_RANGE errors xfs: xfs_commit_metadata returns wrong errno xfs: fix incorrect error sign in xfs_file_aio_read xfs: xfs_dir_fsync() returns positive errno commit 80932ec1c0da97674417b35ac5aec31732993d8d Merge: 989d216 68b7752 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 05:34:57 2014 +0900 Merge branch 'renameat2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull renameat2 arch support from Miklos Szeredi: "I've collected architecture patches for the renameat2 syscall that maintainers acked and/or asked me to queue. This adds architecture support for the renameat2 syscall to m68k, parisc, ia64 and through asm-generic to arc, arm64, c6x, hexagon, metag, openrisc, score, tile, unicore32" * 'renameat2' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: scripts/checksyscalls.sh: Make renameat optional asm-generic: Add renameat2 syscall ia64: add renameat2 syscall parisc: add renameat2 syscall m68k: add renameat2 syscall commit 8ecc1bad4c9b485ceb47182d282980d0b0fe20ac Author: Toralf Förster <toralf.foerster@gmx.de> Date: Mon May 19 10:26:31 2014 +0200 sparc64: fix format string mismatch in arch/sparc/kernel/sysfs.c found by cppcheck Signed-off-by: Toralf Förster <toralf.foerster@gmx.de> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 989d216f86bbef47059c10aca77be9f56305a7ec Merge: 677d1bb 2c16c9f Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 04:29:39 2014 +0900 Merge tag 'iommu-fixes-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Three fixes for the AMD IOMMU driver: - fix a locking issue around get_user_pages() - fix two issues with device aliasing and exclusion range handling" * tag 'iommu-fixes-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: fix enabling exclusion range for an exact device iommu/amd: Take mmap_sem when calling get_user_pages iommu/amd: Fix interrupt remapping for aliased devices commit 677d1bb0cbcfc43d10e95ab0c28b9045a1de7b5b Merge: f6ce579 629c27a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 04:28:21 2014 +0900 Merge tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft Pull iscsi_ibft fix from Konrad Rzeszutek Wilk: "Fix iBFT regression on Broadcom NICs introduced in 3.2" * tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft: iscsi_ibft: Fix finding Broadcom specific ibft sign commit f6ce579d91029123e4b83137d7bf5bc487b7dfb9 Merge: fba69f0 3c90c55 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu May 22 04:26:23 2014 +0900 Merge tag 'renesas-sh-drivers-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver fix from Simon Horman: "Compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI This resolves a regression introduced in v3.14 by commit bf98c1eac1d4 ("ARM: Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY")" * tag 'renesas-sh-drivers-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI commit 27b11428b7de097c42f205beabb1764f4365443b Author: J. Bruce Fields <bfields@redhat.com> Date: Thu May 8 11:19:41 2014 -0400 nfsd4: warn on finding lockowner without stateid's The current code assumes a one-to-one lockowner<->lock stateid correspondance. Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit a1b8ff4c97b4375d21b6d6c45d75877303f61b3b Author: J. Bruce Fields <bfields@redhat.com> Date: Tue May 20 15:55:21 2014 -0400 nfsd4: remove lockowner when removing lock stateid The nfsv4 state code has always assumed a one-to-one correspondance between lock stateid's and lockowners even if it appears not to in some places. We may actually change that, but for now when FREE_STATEID releases a lock stateid it also needs to release the parent lockowner. Symptoms were a subsequent LOCK crashing in find_lockowner_str when it calls same_lockowner_ino on a lockowner that unexpectedly has an empty so_stateids list. Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit 6c67c7c38cf32c2a9cbccb6b21aadf61a85fbfb4 Author: David Howells <dhowells@redhat.com> Date: Wed May 21 14:48:05 2014 +0100 AFS: Fix cache manager service handlers Fix the cache manager RPC service handlers. The afs_send_empty_reply() and afs_send_simple_reply() functions: (a) Kill the call and free up the buffers associated with it if they fail. (b) Return with call intact if it they succeed. However, none of the callers actually check the result or clean up if successful - and may use the now non-existent data if it fails. This was detected by Dan Carpenter using a static checker: The patch 08e0e7c82eea: "[AF_RXRPC]: Make the in-kernel AFS filesystem use AF_RXRPC." from Apr 26, 2007, leads to the following static checker warning: "fs/afs/cmservice.c:155 SRXAFSCB_CallBack() warn: 'call' was already freed." Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David Howells <dhowells@redhat.com> commit e5eb925a1804c4a52994ba57f4f68ee7a9132905 Author: Ralf Baechle <ralf@linux-mips.org> Date: Wed May 21 11:42:10 2014 +0200 MIPS: Change type of asid_cache to unsigned long asid_cache must be unsigned long otherwise on 64 bit systems it will become 0 if the value in get_new_mmu_context() reaches 0xffffffff and in the end the assumption of ASID_FIRST_VERSION is not true anymore thus leads to more dangerous things. Initial patch by Yong Zhang <yong.zhang@windriver.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Reported-by: libin <huawei.libin@huawei.com> commit fba69f042ad99f68c0268ef1c012f3199f898fac Merge: 84e12d9 97d9d23 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 19:01:08 2014 +0900 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Most of the changes are drivers fixes (rtl28xuu, fc2580, ov7670, davinci, gspca, s5p-fimc and s5c73m3). There is also a compat32 fix and one infoleak fixup at the media controller" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space [media] media-device: fix infoleak in ioctl media_enum_entities() [media] fc2580: fix tuning failure on 32-bit arch [media] Prefer gspca_sonixb over sn9c102 for all devices [media] media: davinci: vpfe: make sure all the buffers unmapped and released [media] staging: media: davinci: vpfe: make sure all the buffers are released [media] media: davinci: vpbe_display: fix releasing of active buffers [media] media: davinci: vpif_display: fix releasing of active buffers [media] media: davinci: vpif_capture: fix releasing of active buffers [media] s5p-fimc: Fix YUV422P depth [media] s5c73m3: Add missing rename of v4l2_of_get_next_endpoint() function [media] rtl28xxu: silence error log about disabled rtl2832_sdr module [media] rtl28xxu: do not hard depend on staging SDR module commit 84e12d992a54bc64590989b50d292e510a7d73cd Merge: 439c610 bb4e506 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 19:00:09 2014 +0900 Merge tag 'staging-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are five staging driver fixes for 3.15-rc6 that resolve some reported issues. They are for the imx and rtl8723au drivers" * tag 'staging-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: rtl8723au: Do not reset wdev->iftype in netdev_close() staging: rtl8723au: Use correct pipe type for USB interrupts imx-drm: imx-tve: correct DDC property name to 'ddc-i2c-bus' imx-drm: imx-drm-core: skip components whose parent device is disabled imx-drm: imx-drm-core: fix imx_drm_encoder_get_mux_id commit 439c6109922c8faa920c9b8680d63937189d6915 Merge: 957cf25 f5c16f2 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:59:25 2014 +0900 Merge tag 'driver-core-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core fixes from Greg KH: "Here are two driver core (well, sysfs) fixes for 3.15-rc6 that resolve some reported issues and a regression from 3.13" * tag 'driver-core-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: sysfs: make sure read buffer is zeroed kernfs, sysfs, cgroup: restrict extra perm check on open to sysfs commit 957cf2582adf2a2164bbbd87036138221c5c118a Merge: b84293b d0b4cc4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:57:25 2014 +0900 Merge tag 'pci-v3.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fixes from Bjorn Helgaas: "These are fixes for an SHPCHP hotplug regression, a "wait for pending transaction" problem (used in device reset paths), and an email address update. PCI device hotplug: - Fix SHPCHP bus speed mismatch issue (Marcel Apfelbaum) Miscellaneous: - Fix pci_wait_for_pending_transaction() (Gavin Shan) - Update email address (Ben Hutchings)" * tag 'pci-v3.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI: Wrong register used to check pending traffic PCI: shpchp: Check bridge's secondary (not primary) bus speed PCI: Update my email address commit b84293b23efd8c98416624866389854fd5dc0020 Merge: 026d68b f9c6d49 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:56:35 2014 +0900 Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random Pull /dev/random fix from Ted Ts'o: "This fixes a BUG_ON-causing regression that was introduced during the last merge window" * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: random: fix BUG_ON caused by accounting simplification commit 026d68be45a217f65f1617d08271f6838bfc07d7 Merge: b2e3432 d2c834a Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:55:17 2014 +0900 Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux Pull clock framework fixes from Mike Turquette: "Clock framework and driver fixes, all of which fix user-visible regressions. As usual most fixes are for platform-specific clock drivers, but there are also two fixes to the clk core after recent changes to the way that clock unregistration is handled" * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux: clk: tegra: Fix wrong value written to PLLE_AUX clk: shmobile: clk-mstp: change to using clock-indices clk: Fix slab corruption in clk_unregister() clk: Fix double free due to devm_clk_register() clk: socfpga: fix clock driver for 3.15 clk: divider: Fix best div calculation for power-of-two and table dividers clk: bcm281xx: don't use unnamed structs or unions commit b2e3432af1546a9f44a8278a8a91abfbd439259e Merge: 081069f fd30c37 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:53:55 2014 +0900 Merge tag 'spi-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi fixes from Mark Brown: "A few core fixes around outlying cases here, nothing that should affect most users but useful fixes. The diffstat is rather larger than one might hope due some simple code motion in the fix for !CONFIG_DMA, the actual meaningful change is much smaller. - Fix handling of unsupported dual and quad mode support on slave registration so that drivers that can degrade gracefully do so, preventing regressions for drivers this is added. - Fix build in !CONFIG_DMA cases following addition of generic DMA mapping support. - Fix error handling for queue creation which due to wider kernel changes can be triggered more easily. - A couple of driver specific fixes" * tag 'spi-v3.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: spi/pxa2xx: Prevent DMA from transferring too many bytes spi: core: Don't destroy master queue if we fail to create it spi: qup: Fix return value checking for pm_runtime_get_sync() spi: core: Protect DMA code by #ifdef CONFIG_HAS_DMA spi: core: Ignore unsupported Dual/Quad Transfer Mode bits commit 081069ff817ea7434016c482156e1ef0a7ffb4f3 Merge: 06eb4cc 99e4b98 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:53:13 2014 +0900 Merge tag 'gpio-v3.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO fixes from Linus Walleij: - fix a null pointer bug in the ICH6 chipset driver - fix device tree registration for the mcp23s08 driver * tag 'gpio-v3.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: gpio: mcp23s08: Bug fix of SPI device tree registration. gpio: ich: set regs and reglen for i3100 and ich6 chipset commit 7bacc782270ff7db3b9f29fa5d24ad2ee1e8e81d Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Sun May 18 19:05:23 2014 +0300 iwlwifi: mvm: disable beacon filtering This feature has been causing trouble - disable it for now. Cc: <stable@vger.kernel.org> [3.13+] Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 06eb4cc2e7ad1b32a3b2580eff772c29b53a2cc6 Merge: 6ab9028 36e9d2e Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:36:40 2014 +0900 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull more cgroup fixes from Tejun Heo: "Three more patches to fix cgroup_freezer breakage due to the recent cgroup internal locking changes - an operation cgroup_freezer was using now requires sleepable context and cgroup_freezer was invoking that while holding a spin lock. cgroup_freezer was using an overly elaborate hierarchical locking scheme. While it's possible to convert the hierarchical spinlocks directly to mutexes, this patch simplifies the overall locking so that it uses a global mutex. This has the added benefit of avoiding iterating potentially huge number of tasks under a spinlock. While the patch is on the larger side in the devel cycle, the changes made are mostly straight-forward and the locking logic is a lot simpler afterwards" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: fix rcu_read_lock() leak in update_if_frozen() cgroup_freezer: replace freezer->lock with freezer_mutex cgroup: introduce task_css_is_root() commit 6ab9028d00da2ed34f46a72fa3271b04a402f1e1 Merge: 1f5518b 3685f251 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:35:42 2014 +0900 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata fixes from Tejun Heo: "Mostly device-specific fixes. The only thing which isn't is the fix for zpodd oops-on-detach bug" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: imx: PLL clock needs 100us to settle down ata: pata_at91 only works on sam9 libata: clean up ZPODD when a port is detached ahci: imx: software workaround for phy reset issue in resume ahci: imx: add namespace for register enums ahci: disable DEVSLP for Intel Valleyview commit 1f5518b4e7febc2a1026fba2ff311ba54be1abc4 Merge: a7aa96a 3901c11 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:34:35 2014 +0900 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fixes from Herbert Xu: "This fixes a NULL pointer dereference on allocation failure in caam, as well as a regression in the ctr mode on s390 that was added with the recent concurrency fixes" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: s390 - fix aes,des ctr mode concurrency finding. crypto: caam - add allocation failure handling in SPRINTFCAT macro commit a7aa96a92eff3c4b2c7df8c8535691a5a487207d Merge: b140027 1e1110c Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:03:14 2014 +0900 Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull scsi target fixes from Nicholas Bellinger: "This series include: - Close race between iser-target network portal shutdown + accepting new connection logins (sagi) - Fix free-after-use regression in tcm_fc post conversion to percpu-ida pre-allocation (nab) - Explicitly disable Immediate + Unsolicited Data for iser-target connections when T10-PI is enabled (sagi + nab) - Allow pi_prot_type + emulate_write_cache attributes to be set to zero regardless of backend support (andy) - memory leak fix (mikulas)" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: target: fix memory leak on XCOPY target: Don't allow setting WC emulation if device doesn't support iscsi-target: Disable Immediate + Unsolicited Data with ISER Protection tcm_fc: Fix free-after-use regression in ft_free_cmd iscsi-target: Change BUG_ON to REJECT in iscsit_process_nop_out Target/iscsi,iser: Avoid accepting transport connections during stop stage Target/iser: Fix iscsit_accept_np and rdma_cm racy flow Target/iser: Fix wrong connection requests list addition target: Allow non-supporting backends to set pi_prot_type to 0 commit b14002761c01dcd2e416ad6d922bd0acf21e4a9d Merge: 478c7cf d765396 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 18:02:12 2014 +0900 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Some I2C bugfixes for 3.15. Typical stuff, I'd say" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: rcar: bail out on zero length transfers i2c: qup: Fix pm_runtime_get_sync usage i2c: s3c2410: resume race fix i2c: nomadik: Don't use IS_ERR for devm_ioremap i2c: designware: Mask all interrupts during i2c controller enable commit 478c7cf7a8ff7ad587bd76f8ce9cfeede0df45fb Merge: 23de4a7 658a0f4 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 17:58:34 2014 +0900 Merge tag 'pm+acpi-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management fixes from Rafael Wysocki: "Still fixing regressions (partly by reverting commits that broke things for people), fixing other stable-candidate bugs and adding some blacklist entries for ACPI video and _OSI. Two ACPICA regression fixes (one recent and one for a 3.14 commit), a fix for an ACPI-related regression in TPM (introduced in 3.14), a revert of the ACPI AC driver conversion in 3.13 that went wrong for an unknown reason, two reverts of commits that attempted to remove an old user space interface in /proc and broke some utilities, in 3.13 too, a fix for a CPU hotplug bug in the ACPI processor driver (stable material), two (stable candidate) fixes for intel_pstate and a few new blacklist entries, mostly for systems that shipped with Windows 8. Specifics: - ACPICA fix for a stale pointer access introduced by a recent commit in the XSDT validation code from Lv Zheng. - ACPICA fix for the default value of the command line switch to favor 32-bit FADT addresses (in case there's a conflict between a 64-bit and a 32-bit address). The previous default was that the 32-bit version would take precedence and we tried to change it to the other way around and it didn't work. From Lv Zheng. - A TPM commit related to ACPI _DSM in 3.14 caused the driver to refuse to load if a specific _DSM was missing and that broke resume from system suspend on Chromebooks that require the TPM hardware to be restored to a working state during resume by the OS. Restore the old behavior to load the driver if the _DSM in question is not present, but prevent it from using the feature the _DSM is for. - ACPI AC driver conversion in 3.13 broke thermal management on at least one machine and has to be reverted. From Guenter Roeck. - Two reverts of 3.13 commits that attempted to remove the old ACPI battery interface in /proc, but turned out to break some utilities still using that interface. From Lan Tianyu. - ACPI processor driver fix to prevent acpi_processor_add() from modifying the CPU device's .offline field which leads to breakage if the initial online of the CPU fails. From Igor Mammedov. - Two intel_pstate fixes, one to take a BayTrail documentation update into account and one to avoid forcing the maximum P-state on init which causes CPU PM trouble on systems with P-states coordination when one of the CPU cores is initialized after an offline/online cycle triggered by user space. Both stable candidates, from Dirk Brandewie. - Fix for the ACPI video DMI blacklist entry for Dell Inspiron 7520 from Aaron Lu. - Two new ACPI video blacklist entries for machines shipping with Win8 that need to use native backlight so that it can be controlled in a usual way (which doesn't work otherwise due bugs in the ACPI tables) from Hans de Goede. - Two ACPI _OSI quirks for systems that need them to work correctly with Linux from Edward Lin and Hans de Goede" * tag 'pm+acpi-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / video: Revert native brightness quirk for ThinkPad T530 intel_pstate: remove setting P state to MAX on init ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses. ACPI / video: correct DMI tag for Dell Inspiron 7520 intel_pstate: Set turbo VID for BayTrail ACPI / TPM: Fix resume regression on Chromebooks ACPI / proc: Do not say when /proc interfaces will be deleted in Kconfig ACPI / processor: do not mark present at boot but not onlined CPU as onlined ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX ACPI: blacklist win8 OSI for Dell Inspiron 7737 ACPI / video: Add use_native_backlight quirks for more systems ACPI: Revert "ACPI / Battery: Remove battery's proc directory" ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" ACPICA: Tables: Fix invalid pointer accesses in acpi_tb_parse_root_table(). commit 23de4a7af7bc3d687f783a612b8e824865b7e6ce Merge: 31a3fca 4cdd2ad Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 17:57:31 2014 +0900 Merge tag 'dm-3.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "A dm-crypt fix for a cpu hotplug crash that switches from using per-cpu data to a mempool allocation (which offers allocation with cpu locality, and there is no inter-cpu communication on slab allocation). A couple dm-thinp stable fixes to address "out-of-data-space" issues. A dm-multipath fix for a LOCKDEP warning introduced in 3.15-rc1" * tag 'dm-3.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm mpath: fix lock order inconsistency in multipath_ioctl dm thin: add timeout to stop out-of-data-space mode holding IO forever dm thin: allow metadata commit if pool is in PM_OUT_OF_DATA_SPACE mode dm crypt: fix cpu hotplug crash by removing per-cpu structure commit 31a3fcab118f169613777c913f6a35b1ab138591 Merge: 60b5f90 dfc44f8 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 21 17:54:55 2014 +0900 Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux Pull device tree fixes from Grant Likely: "Drivercore bugfixes for v3.15 This branch contains bug fixes important to get into v3.15. There is a fix for modifying properties seen during early boot, a fix for an incorrect prototype when CONFIG_OF=n, and a couple of corrections to device tree memory nodes on a few platforms" * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: mips: dts: Fix missing device_type="memory" property in memory nodes arm: dts: Fix missing device_type="memory" for ste-ccu8540 of: fix CONFIG_OF=n prototype of of_node_full_name() of: make of_update_property() usable earlier in the boot process commit 0b5a958cf4df3a5cd578b861471e62138f55c85e Author: Stephane Grosjean <s.grosjean@peak-system.com> Date: Tue May 20 11:38:56 2014 +0200 can: peak_pci: prevent use after free at netdev removal As remarked by Christopher R. Baker in his post at http://marc.info/?l=linux-can&m=139707295706465&w=2 there's a possibility for an use after free condition at device removal. This simplified patch introduces an additional variable to prevent the issue. Thanks for catching this. Cc: linux-stable <stable@vger.kernel.org> Reported-by: Christopher R. Baker <cbaker@rec.ri.cmu.edu> Signed-off-by: Stephane Grosjean <s.grosjean@peak-system.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> commit fbeb91fe8e4107dc88df4eaa21de02c3fd9d1cd5 Author: Arnd Bergmann <arnd@arndb.de> Date: Thu May 8 16:56:13 2014 +0200 dmaengine: sa11x0: remove broken #ifdef The sa11x0_dma_pm_ops unconditionally reference sa11x0_dma_resume and sa11x0_dma_suspend, which currently breaks if CONFIG_PM_SLEEP is disabled. There is probably a better way to remove the reference in this case, but the safe choice is to have the suspend/resume code always built in the driver. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: dmaengine@vger.kernel.org Cc: Vinod Koul <vinod.koul@intel.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> commit a8246fedacadaab18b23b280ea3cf916ef5fc30e Author: Arnd Bergmann <arnd@arndb.de> Date: Thu May 8 16:56:12 2014 +0200 dmaengine: omap: hide filter_fn for built-in drivers It is not possible to reference the omap_dma_filter_fn filter function from a built-in driver if the dmaengine driver itself is a loadable module, which is a valid configuration otherwise. This provides only the dummy alternative if the function is referenced by a built-in driver to allow a successful build. The filter function is only required by ATAGS based platforms, which will continue to be broken after this change for the bogus configuration. When booting from DT, with the dma channels correctly listed there, it will work fine. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Tony Lindgren <tony@atomide.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Vinod Koul <vinod.koul@intel.com> Cc: dmaengine@vger.kernel.org Signed-off-by: Vinod Koul <vinod.koul@intel.com> commit 78ff4be45a4c51d8fb21ad92e4fabb467c6c3eeb Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Mon May 19 11:36:56 2014 +0200 ip_tunnel: Initialize the fallback device properly We need to initialize the fallback device to have a correct mtu set on this device. Otherwise the mtu is set to null and the device is unusable. Fixes: fd58156e456d ("IPIP: Use ip-tunneling code.") Cc: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d8d33c3b8a42fbd9ad23a61498fa5db1d83644e0 Merge: d050de6 524369e Author: David S. Miller <davem@davemloft.net> Date: Wed May 21 01:58:30 2014 -0400 Merge tag 'linux-can-fixes-for-3.15-20140519' of git://gitorious.org/linux-can/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2014-05-19 this is a pull request for net/master, for the v3.15 release cycle, with a single patch. Oliver Hartkopp's patch removes a Kconfig option in the c_can driver, which was added as a workaround during the v3.15 development. With all cleanup patches this workaround is not needed anymore. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit d050de607f062233cf5e75b2e8f40f20c4b04b91 Merge: e1618d4 3b084e9 Author: David S. Miller <davem@davemloft.net> Date: Wed May 21 01:24:19 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter/nftables fixes for net The following patchset contains nftables fixes for your net tree, they are: 1) Fix crash when using the goto action in a rule by making sure that we always fall back on the base chain. Otherwise, this may try to access the counter memory area of non-base chains, which does not exists. 2) Fix several aspects of the rule tracing that are currently broken: * Reset rule number counter after goto/jump action, otherwise the tracing reports a bogus rule number. * Fix tracing of the goto action. * Fix bogus rule number counter after goto. * Fix missing return trace after finishing the walk through the non-base chain. * Fix missing trace when matching non-terminal rule. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 80c578930ce77ba8bcfb226a184b482020bdda7b Author: Mike Snitzer <snitzer@redhat.com> Date: Tue May 20 13:38:33 2014 -0400 dm thin: add 'no_space_timeout' dm-thin-pool module param Commit 85ad643b ("dm thin: add timeout to stop out-of-data-space mode holding IO forever") introduced a fixed 60 second timeout. Users may want to either disable or modify this timeout. Allow the out-of-data-space timeout to be configured using the 'no_space_timeout' dm-thin-pool module param. Setting it to 0 will disable the timeout, resulting in IO being queued until more data space is added to the thin-pool. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 3.14+ commit 51a60253a58514524b7a347c4e68553821a79d04 Author: Filipe Manana <fdmanana@gmail.com> Date: Tue May 13 22:01:02 2014 +0100 Btrfs: send, fix incorrect ref access when using extrefs When running send, if an inode only has extended reference items associated to it and no regular references, send.c:get_first_ref() was incorrectly assuming the reference it found was of type BTRFS_INODE_REF_KEY due to use of the wrong key variable. This caused weird behaviour when using the found item has a regular reference, such as weird path string, and occasionally (when lucky) a crash: [ 190.600652] general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC [ 190.600994] Modules linked in: btrfs xor raid6_pq binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd fscache sunrpc psmouse serio_raw evbug pcspkr i2c_piix4 e1000 floppy [ 190.602565] CPU: 2 PID: 14520 Comm: btrfs Not tainted 3.13.0-fdm-btrfs-next-26+ #1 [ 190.602728] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 190.602868] task: ffff8800d447c920 ti: ffff8801fa79e000 task.ti: ffff8801fa79e000 [ 190.603030] RIP: 0010:[<ffffffff813266b4>] [<ffffffff813266b4>] memcpy+0x54/0x110 [ 190.603262] RSP: 0018:ffff8801fa79f880 EFLAGS: 00010202 [ 190.603395] RAX: ffff8800d4326e3f RBX: 000000000000036a RCX: ffff880000000000 [ 190.603553] RDX: 000000000000032a RSI: ffe708844042936a RDI: ffff8800d43271a9 [ 190.603710] RBP: ffff8801fa79f8c8 R08: 00000000003a4ef0 R09: 0000000000000000 [ 190.603867] R10: 793a4ef09f000000 R11: 9f0000000053726f R12: ffff8800d43271a9 [ 190.604020] R13: 0000160000000000 R14: ffff8802110134f0 R15: 000000000000036a [ 190.604020] FS: 00007fb423d09b80(0000) GS:ffff880216200000(0000) knlGS:0000000000000000 [ 190.604020] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 190.604020] CR2: 00007fb4229d4b78 CR3: 00000001f5d76000 CR4: 00000000000006e0 [ 190.604020] Stack: [ 190.604020] ffffffffa01f4d49 ffff8801fa79f8f0 00000000000009f9 ffff8801fa79f8c8 [ 190.604020] 00000000000009f9 ffff880211013260 000000000000f971 ffff88021147dba8 [ 190.604020] 00000000000009f9 ffff8801fa79f918 ffffffffa02367f5 ffff8801fa79f928 [ 190.604020] Call Trace: [ 190.604020] [<ffffffffa01f4d49>] ? read_extent_buffer+0xb9/0x120 [btrfs] [ 190.604020] [<ffffffffa02367f5>] fs_path_add_from_extent_buffer+0x45/0x60 [btrfs] [ 190.604020] [<ffffffffa0238806>] get_first_ref+0x1f6/0x210 [btrfs] [ 190.604020] [<ffffffffa0238994>] __get_cur_name_and_parent+0x174/0x3a0 [btrfs] [ 190.604020] [<ffffffff8118df3d>] ? kmem_cache_alloc_trace+0x11d/0x1e0 [ 190.604020] [<ffffffffa0236674>] ? fs_path_alloc+0x24/0x60 [btrfs] [ 190.604020] [<ffffffffa0238c91>] get_cur_path+0xd1/0x240 [btrfs] (...) Steps to reproduce (either crash or some weirdness like an odd path string): mkfs.btrfs -f -O extref /dev/sdd mount /dev/sdd /mnt mkdir /mnt/testdir touch /mnt/testdir/foobar for i in `seq 1 2550`; do ln /mnt/testdir/foobar /mnt/testdir/foobar_link_`printf "%04d" $i` done ln /mnt/testdir/foobar /mnt/testdir/final_foobar_name rm -f /mnt/testdir/foobar for i in `seq 1 2550`; do rm -f /mnt/testdir/foobar_link_`printf "%04d" $i` done btrfs subvolume snapshot -r /mnt /mnt/mysnap btrfs send /mnt/mysnap -f /tmp/mysnap.send Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: Chris Mason <clm@fb.com> Reviewed-by: Liu Bo <bo.li.liu@oracle.com> commit d3ecfcdf9108c833e4e501bfa02ecf673a0ace59 Author: Liu Bo <bo.li.liu@oracle.com> Date: Fri May 9 10:01:02 2014 +0800 Btrfs: fix EIO on reading file after ioctl clone works on it For inline data extent, we need to make its length aligned, otherwise, we can get a phantom extent map which confuses readpages() to return -EIO. This can be detected by xfstests/btrfs/035. Reported-by: David Disseldorp <ddiss@suse.de> Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Chris Mason <clm@fb.com> commit e1618d461ca18d40f9c3ef70598abb72e75d27ae Author: Vlad Yasevich <vyasevic@redhat.com> Date: Tue May 20 10:59:26 2014 -0400 vlan: Fix build error wth vlan_get_encap_level() The new function vlan_get_encap_level() uses vlan_dev_priv() which is only conditionally avaialble when VLAN support is enabled. Make vlan_get_encap_level() conditionally available as well. Fixes: 44a4085538c8 ("bonding: Fix stacked device detection in arp monitoring") Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> CC: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 4f2f203976964e267dc477de6648bdb3acd2b74b Author: Alex Deucher <alexdeucher@gmail.com> Date: Mon May 19 19:21:29 2014 -0400 drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2) When the PX card is off don't try and access it. Avoid hw access to the card while it's off (e.g., reading back invalid temperature). v2: be less strict bug: https://bugzilla.kernel.org/show_bug.cgi?id=76321 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Christian König <christian.koenig@amd.com> commit 24f47acc78b0ab5e2201f859fe1f693ae90c7c83 Author: Jérôme Glisse <jglisse@redhat.com> Date: Wed May 7 16:35:24 2014 -0400 drm/radeon: avoid segfault on device open when accel is not working. When accel is not working on device with virtual address space radeon segfault because the ib buffer is NULL and trying to map it inside the virtual address space trigger segfault. This patch only map the ib buffer if accel is working. Cc: <stable@vger.kernel.org> Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> commit 74ad54f249de39bc040cce7237b1b854a9c6f0ad Author: Christian König <christian.koenig@amd.com> Date: Tue May 13 12:50:54 2014 +0200 drm/radeon: fix typo in finding PLL params Otherwise the limit is raised to high. Signed-off-by: Christian König <christian.koenig@amd.com> Tested-by: Ken Moffat <zarniwhoop@ntlworld.com> commit 4955bb073f1be6dd884b5d10041ba4bade6495bf Author: Alex Deucher <alexdeucher@gmail.com> Date: Mon May 5 16:40:42 2014 -0400 drm/radeon: fix register typo on si Probably a copy paste typo. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org commit 4b09556660bfe1b43d72ca858524c6baf2c6cb1d Author: Christian König <christian.koenig@amd.com> Date: Sat May 10 18:17:09 2014 +0200 drm/radeon: fix buffer placement under memory pressure v2 Some buffers (UVD/VM page tables) must be placed in VRAM, but the byte restriction for moving buffers didn't took this into account. v2: keep closer to the original code Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> commit 4906f6891ef987637b766dfaef1c6fc95804253a Author: Christian König <christian.koenig@amd.com> Date: Mon May 12 14:46:11 2014 +0200 drm/radeon: fix page directory update size estimation Take padding into account as well. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=75651 Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> commit d8ade3526b2aa0505132c404c05a38b73ea15490 Author: Alex Deucher <alexdeucher@gmail.com> Date: Thu May 8 20:04:03 2014 -0400 drm/radeon: handle non-VGA class pci devices with ATRM Newer PX systems have non-VGA pci class dGPUs. Update the ATRM fetch method to handle those cases. bug: https://bugzilla.kernel.org/show_bug.cgi?id=75401 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Cc: stable@vger.kernel.org commit 89d2618dbd114e679b860c3de1df3fe43ee40f6e Author: Alex Deucher <alexdeucher@gmail.com> Date: Thu May 8 18:26:23 2014 -0400 drm/radeon: fix DCE83 check for mullins Mullins is DCE83 just like Kabini. Set the proper number of endpoints on mullins. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> commit 2fc5703abda201f138faf63bdca743d04dbf4b1a Author: Leo Liu <leo.liu@amd.com> Date: Mon May 5 15:42:18 2014 -0400 drm/radeon: check VCE relocation buffer range v3 v2 (chk): fix image size storage v3 (chk): fix UV size calculation Signed-off-by: Leo Liu <leo.liu@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> commit 544092596e8ac269f70e70961b5e9381909c9b1e Author: Christian König <christian.koenig@amd.com> Date: Mon May 5 18:40:12 2014 +0200 drm/radeon: also try GART for CPU accessed buffers Placing them exclusively into VRAM might not work all the time. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=78297 Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org commit 68b7752462aba4716d9236b28aaa91b48fe059cd Author: James Hogan <james.hogan@imgtec.com> Date: Wed Apr 23 11:08:06 2014 +0100 scripts/checksyscalls.sh: Make renameat optional The new renameat2 syscall provides all the functionality of renameat with an additional flags argument, so make renameat optional so that future architectures can omit it without getting a warning. This patch doesn't affect existing architectures. Signed-off-by: James Hogan <james.hogan@imgtec.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: linux-arch@vger.kernel.org commit 63ba600028a001fa19f427486527387f54926d61 Author: James Hogan <james.hogan@imgtec.com> Date: Wed Apr 23 11:08:05 2014 +0100 asm-generic: Add renameat2 syscall Add the renameat2 syscall to the generic syscall list, which is used by the following architectures: arc, arm64, c6x, hexagon, metag, openrisc, score, tile, unicore32. Signed-off-by: James Hogan <james.hogan@imgtec.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: linux-arch@vger.kernel.org Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <a-jacquiot@ti.com> Cc: Richard Kuo <rkuo@codeaurora.org> Cc: linux-hexagon@vger.kernel.org Cc: linux-metag@vger.kernel.org Cc: Jonas Bonn <jonas@southpole.se> Cc: Chen Liqin <liqin.linux@gmail.com> Cc: Lennox Wu <lennox.wu@gmail.com> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> commit 3ca976a2cf95c1d4254a1eb8e13b5063522691d5 Author: Miklos Szeredi <mszeredi@suse.cz> Date: Tue May 20 10:59:38 2014 +0200 ia64: add renameat2 syscall Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Acked-by: Tony Luck <tony.luck@intel.com> commit 18e480aa07f78abc7938adfe1035a5d9ce188ad8 Author: Miklos Szeredi <mszeredi@suse.cz> Date: Tue May 20 10:59:37 2014 +0200 parisc: add renameat2 syscall Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Acked-by: Helge Deller <deller@gmx.de> commit cc79f00f7611cbb8f1ff1b92fe829548efcb4f08 Author: Miklos Szeredi <mszeredi@suse.cz> Date: Tue May 20 10:59:37 2014 +0200 m68k: add renameat2 syscall Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> commit 60b5f90d0fac7585f1a43ccdad06787b97eda0ab Merge: c7d6891 665ebe9 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 16:50:38 2014 +0900 Merge tag 'sound-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Unfortunately this update became bigger than previous pull requests, which is almost a pattern in rc5-6. But, the only obvious big changes are for the new Intel DSP ASoC drivers, so the impact must be fairly limited. Other than that, usual small fixes in various fields: HD-audio, ASoC core and ASoC fsl and codec drivers" * tag 'sound-3.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (26 commits) ALSA: sb_mixer: missing return statement ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile ASoC: Intel: Fix Baytrail SST DSP firmware loading ALSA: hda - mask buggy stream DMA0 for Broadwell display controller ALSA: hda - Add new GPU codec ID to snd-hda ASoC: fsl_esai: Set PCRC and PRRC registers at the end of hw_params() ASoC: fsl_esai: Only bypass sck_div for EXTAL source ASoC: fsl_esai: Fix incorrect condition within ratio range check for FP ASoC: dapm: Fix SUSPEND -> OFF bias sequence ASoC: dapm: Skip CODEC<->CODEC links in connect_dai_link_widgets() ASoC: pcm: Fix incorrect condition check for case SNDRV_PCM_TRIGGER_SUSPEND ALSA: hda - add headset mic detect quirks for three Dell laptops ASoC: Update Cirrus Logic CODEC maintainers. ASoC: Intel: Fix block offset calculations. ASoC: Intel: Fix check for pdata usage before dereference. ASoC: Intel: Fix stream position pointer. ASoC: Intel: Fix allow hw_params to be called more than once. ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled. ASoC: Intel: Fix Haswell/Broadwell DSP page table creation. ASoC: Intel: Fix allocated block list usage when adding blocks. ... commit c7d6891a770aa97dd36c2df3545031e64c6a0ef3 Merge: 6ed8bf8 7bb3940 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 16:47:33 2014 +0900 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: "MIPS fixes for various loose ends: - Fix workarounds for R4000 erratum. - Patch up DEC, Siemens-Nixdorf and Loongson hardware support. - Wire up renameat2 syscall. - Delete unused file - it was causing false warnings from maintenance scripts. - Revert a patch because it's functionality is now implemented twice which causes superfluous /proc/cpuinfo output. - Fix a microMIPS regression" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: mm: Fix broken microMIPS kernel regression. MIPS: Add new AUDIT_ARCH token for the N32 ABI on MIPS64 MIPS: Wire up renameat2 syscall. MIPS: inst.h: Rename BITFIELD_FIELD to __BITFIELD_FIELD. MIPS: Remove file missed when removing rm9k support a while ago. MIPS/loongson2_cpufreq: Fix CPU clock rate setting MIPS: Loongson: No need to select GENERIC_HARDIRQS_NO__DO_IRQ MIPS: csum_partial.S CPU_DADDI_WORKAROUNDS bug fix MIPS: __strncpy_from_user_asm CPU_DADDI_WORKAROUNDS bug fix MIPS: __delay CPU_DADDI_WORKAROUNDS bug fix MIPS: DEC/SNI: O32 wrapper stack switching fixes MIPS: DEC: Bus error handler <asm/cpu-type.h> fixes MAINTAINERS: TURBOchannel: Update entry Revert "MIPS: MT: proc: Add support for printing VPE and TC ids" commit 0f1d360b2ee3a2a0f510d3f1bcd3f5ebe5d41265 Author: Ben Skeggs <bskeggs@redhat.com> Date: Tue May 20 16:13:54 2014 +1000 drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup Fixes a LVDS bleed issue on Lenovo W530 that can occur under a number of circumstances. Cc: <stable@vger.kernel.org > # v3.9+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com> commit 6679b2ccc914e84384b1acf0de4423e3738cce9f Author: Martin Peres <martin.peres@free.fr> Date: Mon May 12 15:05:01 2014 +0200 drm/nvd9/therm: handle another kind of PWM fan Signed-off-by: Martin Peres <martin.peres@free.fr> Tested-by: SaveTheRobots <john.rowley08@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> commit 6ed8bf82fe44752f748bdc19567f79a961cf916c Merge: 8d900e7 c776cd8 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:35:28 2014 +0900 Merge branch 'parisc-3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fixes from Helge Deller: "There are two patches in here: The first patch greatly improves latency and corrects the memory ordering in our light-weight atomic locking syscall. The second patch ratelimits printing of userspace segfaults in the same way as it's done on other platforms. This fixes a possible DOS on parisc since it prevents the syslog to grow too fast. For example, when the debian acl2 package was built on our debian buildd servers, this package produced lots of gigabytes in syslog in very short time and thus filled our harddisks, which then turned the server nearly completely unaccessible and unresponsive" * 'parisc-3.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Improve LWS-CAS performance parisc: ratelimit userspace segfault printing commit 8d900e7f3178dccb123c877253bdb193827654c6 Merge: 41abc90 4797ec2 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:33:48 2014 +0900 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull two arm64 fixes from Catalin Marinas: - arm64 migrate_irqs() fix following commit ffde1de64012 (irqchip: Gic: Support forced affinity setting) - fix arm64 pud_huge() to return 0 when only 2 levels page tables are used (__PAGETABLE_PMD_FOLDED defined and pmd_huge already covers block entries at the first level), otherwise KVM gets confused * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: fix pud_huge() for 2-level pagetables arm64: use cpu_online_mask when using forced irq_set_affinity commit 41abc90228f98774263572ec99e7ab820f091002 Merge: a7b08063 ffe6902 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:30:34 2014 +0900 Merge tag 'metag-for-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull Metag architecture and related fixes from James Hogan: "Mostly fixes for metag and parisc relating to upgrowing stacks. - Fix missing compiler barriers in metag memory barriers. - Fix BUG_ON on metag when RLIMIT_STACK hard limit is increased beyond safe value. - Make maximum stack size configurable. This reduces the default user stack size back to 80MB (especially on parisc after their removal of _STK_LIM_MAX override). This only affects metag and parisc. - Remove metag _STK_LIM_MAX override to match other arches and follow parisc, now that it is safe to do so (due to the BUG_ON fix mentioned above). - Finally now that both metag and parisc _STK_LIM_MAX overrides have been removed, it makes sense to remove _STK_LIM_MAX altogether" * tag 'metag-for-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: asm-generic: remove _STK_LIM_MAX metag: Remove _STK_LIM_MAX override parisc,metag: Do not hardcode maximum userspace stack size metag: Reduce maximum stack size to 256MB metag: fix memory barriers commit a7b0806392b527e8a616e7ea6f17aafe33949a9f Merge: 172de65 4ba4801 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:28:33 2014 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm/intel fixes from Dave Airlie: "Just some intel fixes. I have some radeon ones but I need to get some patches dropped from the pull req" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/i915: Increase WM memory latency values on SNB drm/i915: restore backlight precision when converting from ACPI drm/i915: Use the first mode if there is no preferred mode in the EDID drm/i915/dp: force eDP lane count to max available lanes on BDW drm/i915/vlv: reset VLV media force wake request register drm/i915/SDVO: For sysfs link put directory and target in correct order drm/i915: use lane count and link rate from VBT as minimums for eDP drm/i915: clean up VBT eDP link param decoding drm/i915: consider the source max DP lane count too commit 172de656b98efd81399aec83837dccaa276622c4 Merge: 95d0858 fa81511 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:21:11 2014 +0900 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Peter Anvin. * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86-64, modify_ldt: Make support for 16-bit segments a runtime option x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() x86, rdrand: When nordrand is specified, disable RDSEED as well commit 95d08585e093a9f07562b4a3984370b4d72f1a57 Merge: 3f017a4 84ea7fe Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:19:10 2014 +0900 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Thomas Gleixner: "A single bug fix for a long standing issue: - Updating the expiry value of a relative timer _after_ letting the idle logic select a target cpu for the timer based on its stale expiry value is outright stupid. Thanks to Viresh for spotting the brainfart" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hrtimer: Set expiry time before switch_hrtimer_base() commit 3f017a4ca2de0a87767ab047b2bd2f3f11e87a9e Merge: 14186fe 2ed9fd2 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 20 14:18:04 2014 +0900 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "Two small updates from the irq departement: - Provide missing inline stub for a SMP only function - Add sub-maintainer for the drivers/irqchip/ part of the irq subsystem. YAY!" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: MAINTAINERS: Add co-maintainer for drivers/irqchip genirq: Provide irq_force_affinity fallback for non-SMP commit f5c16f29bf5e57ba4051fc7785ba7f035f798c71 Author: Tejun Heo <tj@kernel.org> Date: Mon May 19 15:52:10 2014 -0400 sysfs: make sure read buffer is zeroed 13c589d5b0ac ("sysfs: use seq_file when reading regular files") switched sysfs from custom read implementation to seq_file to enable later transition to kernfs. After the change, the buffer passed to ->show() is acquired through seq_get_buf(); unfortunately, this introduces a subtle behavior change. Before the commit, the buffer passed to ->show() was always zero as it was allocated using get_zeroed_page(). Because seq_file doesn't clear buffers on allocation and neither does seq_get_buf(), after the commit, depending on the behavior of ->show(), we may end up exposing uninitialized data to userland thus possibly altering userland visible behavior and leaking information. Fix it by explicitly clearing the buffer. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Ron <ron@debian.org> Fixes: 13c589d5b0ac ("sysfs: use seq_file when reading regular files") Cc: stable <stable@vger.kernel.org> # 3.13+ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 4ba4801d73d14690ed15774424e8b1d4c18323a5 Merge: 14186fe e95a2f7 Author: Dave Airlie <airlied@redhat.com> Date: Tue May 20 09:56:26 2014 +1000 Merge tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes Intel fixes for regressions, black screens and hangs, for 3.15. * tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel: drm/i915: Increase WM memory latency values on SNB drm/i915: restore backlight precision when converting from ACPI drm/i915: Use the first mode if there is no preferred mode in the EDID drm/i915/dp: force eDP lane count to max available lanes on BDW drm/i915/vlv: reset VLV media force wake request register drm/i915/SDVO: For sysfs link put directory and target in correct order drm/i915: use lane count and link rate from VBT as minimums for eDP drm/i915: clean up VBT eDP link param decoding drm/i915: consider the source max DP lane count too commit e3beb0ac521d50d158a9d253373eae8421ac3998 Author: Lucas Stach <l.stach@pengutronix.de> Date: Fri May 16 12:20:42 2014 +0200 cpufreq: cpu0: drop wrong devm usage This driver is using devres managed calls incorrectly, giving the cpu0 device as first parameter instead of the cpufreq platform device. This results in resources not being freed if the cpufreq platform device is unbound, for example if probing has to be deferred for a missing regulator. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Cc: 3.9+ <stable@vger.kernel.org> # 3.9+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit c5450db85b828d0c46ac8fc570fb8a51bf07ac40 Author: Bibek Basu <bbasu@nvidia.com> Date: Mon May 19 10:24:01 2014 +0530 cpufreq: remove race while accessing cur_policy While accessing cur_policy during executing events CPUFREQ_GOV_START, CPUFREQ_GOV_STOP, CPUFREQ_GOV_LIMITS, same mutex lock is not taken, dbs_data->mutex, which leads to race and data corruption while running continious suspend resume test. This is seen with ondemand governor with suspend resume test using rtcwake. Unable to handle kernel NULL pointer dereference at virtual address 00000028 pgd = ed610000 [00000028] *pgd=adf11831, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: nvhost_vi CPU: 1 PID: 3243 Comm: rtcwake Not tainted 3.10.24-gf5cf9e5 #1 task: ee708040 ti: ed61c000 task.ti: ed61c000 PC is at cpufreq_governor_dbs+0x400/0x634 LR is at cpufreq_governor_dbs+0x3f8/0x634 pc : [<c05652b8>] lr : [<c05652b0>] psr: 600f0013 sp : ed61dcb0 ip : 000493e0 fp : c1cc14f0 r10: 00000000 r9 : 00000000 r8 : 00000000 r7 : eb725280 r6 : c1cc1560 r5 : eb575200 r4 : ebad7740 r3 : ee708040 r2 : ed61dca8 r1 : 001ebd24 r0 : 00000000 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c5387d Table: ad61006a DAC: 00000015 [<c05652b8>] (cpufreq_governor_dbs+0x400/0x634) from [<c055f700>] (__cpufreq_governor+0x98/0x1b4) [<c055f700>] (__cpufreq_governor+0x98/0x1b4) from [<c0560770>] (__cpufreq_set_policy+0x250/0x320) [<c0560770>] (__cpufreq_set_policy+0x250/0x320) from [<c0561dcc>] (cpufreq_update_policy+0xcc/0x168) [<c0561dcc>] (cpufreq_update_policy+0xcc/0x168) from [<c0561ed0>] (cpu_freq_notify+0x68/0xdc) [<c0561ed0>] (cpu_freq_notify+0x68/0xdc) from [<c008eff8>] (notifier_call_chain+0x4c/0x8c) [<c008eff8>] (notifier_call_chain+0x4c/0x8c) from [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) from [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) from [<c00aac6c>] (pm_qos_update_bounded_target+0xd8/0x310) [<c00aac6c>] (pm_qos_update_bounded_target+0xd8/0x310) from [<c00ab3b0>] (__pm_qos_update_request+0x64/0x70) [<c00ab3b0>] (__pm_qos_update_request+0x64/0x70) from [<c004b4b8>] (tegra_pm_notify+0x114/0x134) [<c004b4b8>] (tegra_pm_notify+0x114/0x134) from [<c008eff8>] (notifier_call_chain+0x4c/0x8c) [<c008eff8>] (notifier_call_chain+0x4c/0x8c) from [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) [<c008f3d4>] (__blocking_notifier_call_chain+0x50/0x68) from [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) [<c008f40c>] (blocking_notifier_call_chain+0x20/0x28) from [<c00ac228>] (pm_notifier_call_chain+0x1c/0x34) [<c00ac228>] (pm_notifier_call_chain+0x1c/0x34) from [<c00ad38c>] (enter_state+0xec/0x128) [<c00ad38c>] (enter_state+0xec/0x128) from [<c00ad400>] (pm_suspend+0x38/0xa4) [<c00ad400>] (pm_suspend+0x38/0xa4) from [<c00ac114>] (state_store+0x70/0xc0) [<c00ac114>] (state_store+0x70/0xc0) from [<c027b1e8>] (kobj_attr_store+0x14/0x20) [<c027b1e8>] (kobj_attr_store+0x14/0x20) from [<c019cd9c>] (sysfs_write_file+0x104/0x184) [<c019cd9c>] (sysfs_write_file+0x104/0x184) from [<c0143038>] (vfs_write+0xd0/0x19c) [<c0143038>] (vfs_write+0xd0/0x19c) from [<c0143414>] (SyS_write+0x4c/0x78) [<c0143414>] (SyS_write+0x4c/0x78) from [<c000f080>] (ret_fast_syscall+0x0/0x30) Code: e1a00006 eb084346 e59b0020 e5951024 (e5903028) ---[ end trace 0488523c8f6b0f9d ]--- Signed-off-by: Bibek Basu <bbasu@nvidia.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Cc: 3.11+ <stable@vger.kernel.org> # 3.11+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 20b4f9c73ff4137d720c4f378e1a780ac6a6c04d Merge: faf1dc6 40b9397 Author: John W. Linville <linville@tuxdriver.com> Date: Mon May 19 16:34:27 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth commit 3685f2516116c5f3b9d498d531955ad70216ad84 Author: Shawn Guo <shawn.guo@freescale.com> Date: Sat May 17 20:46:01 2014 +0800 ahci: imx: PLL clock needs 100us to settle down The commit e783c51 (ahci: imx: software workaround for phy reset issue in resume) calls imx_sata_phy_reset() to reset phy immediately after SATA MPLL is enabled. It seems working fine mostly, but fails in some case as below. ... ahci-imx 2200000.sata: failed to reset phy: -110 ahci-imx: probe of 2200000.sata failed with error -110 After talking to the designer, we learnt that when enabling i.MX6Q SATA MPLL, we need to wait 100us for it to settle down for safety. Add this required delay to fix above failure. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Tested-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit d0b4cc4e32705ff00d90d32da7783c266c702c04 Author: Gavin Shan <gwshan@linux.vnet.ibm.com> Date: Mon May 19 13:06:46 2014 +1000 PCI: Wrong register used to check pending traffic The incorrect register offset is passed to pci_wait_for_pending(), which is caused by commit 157e876ffe ("PCI: Add pci_wait_for_pending() (refactor pci_wait_for_pending_transaction())"). Fixes: 157e876ffe ("PCI: Add pci_wait_for_pending() (refactor pci_wait_for_pending_transaction()) Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Alex Williamson <alex.williamson@gmail.com> CC: stable@vger.kernel.org # v3.14+ commit 4b353a706a86598ba47307c47301c3c428b79e09 Author: Santosh Shilimkar <santosh.shilimkar@ti.com> Date: Mon May 12 17:37:59 2014 -0400 ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled On OMAP4 panda board, there have been several bug reports about boot hang and lock-ups with CPU_IDLE enabled. The root cause of the issue is missing interrupts while in idle state. Commit cb7094e8 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag} moved the broadcast notifiers to common code for right reasons but on OMAP4 which suffers from a nasty ROM code bug with GIC, commit ff999b8a {ARM: OMAP4460: Workaround for ROM bug ..}, we loose interrupts which leads to issues like lock-up, hangs etc. Patch reverts commit cb7094 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag} and 54769d6 {cpuidle: OMAP4: remove timer broadcast initialization} to avoid the issue. With this change, OMAP4 panda boards, the mentioned issues are getting fixed. We no longer loose interrupts which was the cause of the regression. Fixes: cb7094e8 (cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag) Fixes: ff999b8a (cpuidle: OMAP4: remove timer broadcast initialization) Cc: stable@vger.kernel.org # v3.9+ Cc: Roger Quadros <rogerq@ti.com> Cc: Kevin Hilman <khilman@linaro.org> Cc: Tony Lindgren <tony@atomide.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Reported-tested-by: Roger Quadros <rogerq@ti.com> Reported-tested-by: Kevin Hilman <khilman@linaro.org> Tested-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 68d0e40298f064a5cff40670caded0480274d4b2 Author: Sachin Kamat <sachin.kamat@linaro.org> Date: Tue May 20 01:15:46 2014 +0900 ARM: dts: Keep LDO4 always ON for exynos5250-arndale board LDO4 regulator was getting disabled preventing the system from going into low power states. Keep it always on to fix it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit e3b6c271abddb5363b01b79d6e6e4343008cd991 Author: Sachin Kamat <sachin.kamat@linaro.org> Date: Tue May 20 01:14:03 2014 +0900 ARM: dts: Fix SPI interrupt numbers for exynos5420 Updated as per the user manual. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit 30cc798b63fd21ba58c94f4f8b4c1e55137fd029 Author: Beomho Seo <beomho.seo@samsung.com> Date: Tue May 20 01:12:50 2014 +0900 ARM: dts: fix incorrect ak8975 compatible for exynos4412-trats2 board This patch fixed incorrect compatible for ak8975 magnetic sensor. ak8975 magnetic sensor use compatible "ak8975" or "asahi-kasei,ak8975" In this patch, use "asahi-kasei,ak8975" according to dt bindings document. Signed-off-by: Beomho Seo <beomho.seo@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit b69cf53640da2b86439596118cfa95233154ee76 Author: Peter Zijlstra <peterz@infradead.org> Date: Fri Mar 14 10:50:33 2014 +0100 perf: Fix a race between ring_buffer_detach() and ring_buffer_attach() Alexander noticed that we use RCU iteration on rb->event_list but do not use list_{add,del}_rcu() to add,remove entries to that list, nor do we observe proper grace periods when re-using the entries. Merge ring_buffer_detach() into ring_buffer_attach() such that attaching to the NULL buffer is detaching. Furthermore, ensure that between any 'detach' and 'attach' of the same event we observe the required grace period, but only when strictly required. In effect this means that only ioctl(.request = PERF_EVENT_IOC_SET_OUTPUT) will wait for a grace period, while the normal initial attach and final detach will not be delayed. This patch should, I think, do the right thing under all circumstances, the 'normal' cases all should never see the extra grace period, but the two cases: 1) PERF_EVENT_IOC_SET_OUTPUT on an event which already has a ring_buffer set, will now observe the required grace period between removing itself from the old and attaching itself to the new buffer. This case is 'simple' in that both buffers are present in perf_event_set_output() one could think an unconditional synchronize_rcu() would be sufficient; however... 2) an event that has a buffer attached, the buffer is destroyed (munmap) and then the event is attached to a new/different buffer using PERF_EVENT_IOC_SET_OUTPUT. This case is more complex because the buffer destruction does: ring_buffer_attach(.rb = NULL) followed by the ioctl() doing: ring_buffer_attach(.rb = foo); and we still need to observe the grace period between these two calls due to us reusing the event->rb_entry list_head. In order to make 2 happen we use Paul's latest cond_synchronize_rcu() call. Cc: Paul Mackerras <paulus@samba.org> Cc: Stephane Eranian <eranian@google.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Reported-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20140507123526.GD13658@twins.programming.kicks-ass.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 39af6b1678afa5880dda7e375cf3f9d395087f6d Author: Jiri Olsa <jolsa@redhat.com> Date: Mon Apr 7 11:04:08 2014 +0200 perf: Prevent false warning in perf_swevent_add The perf cpu offline callback takes down all cpu context events and releases swhash->swevent_hlist. This could race with task context software event being just scheduled on this cpu via perf_swevent_add while cpu hotplug code already cleaned up event's data. The race happens in the gap between the cpu notifier code and the cpu being actually taken down. Note that only cpu ctx events are terminated in the perf cpu hotplug code. It's easily reproduced with: $ perf record -e faults perf bench sched pipe while putting one of the cpus offline: # echo 0 > /sys/devices/system/cpu/cpu1/online Console emits following warning: WARNING: CPU: 1 PID: 2845 at kernel/events/core.c:5672 perf_swevent_add+0x18d/0x1a0() Modules linked in: CPU: 1 PID: 2845 Comm: sched-pipe Tainted: G W 3.14.0+ #256 Hardware name: Intel Corporation Montevina platform/To be filled by O.E.M., BIOS AMVACRB1.86C.0066.B00.0805070703 05/07/2008 0000000000000009 ffff880077233ab8 ffffffff81665a23 0000000000200005 0000000000000000 ffff880077233af8 ffffffff8104732c 0000000000000046 ffff88007467c800 0000000000000002 ffff88007a9cf2a0 0000000000000001 Call Trace: [<ffffffff81665a23>] dump_stack+0x4f/0x7c [<ffffffff8104732c>] warn_slowpath_common+0x8c/0xc0 [<ffffffff8104737a>] warn_slowpath_null+0x1a/0x20 [<ffffffff8110fb3d>] perf_swevent_add+0x18d/0x1a0 [<ffffffff811162ae>] event_sched_in.isra.75+0x9e/0x1f0 [<ffffffff8111646a>] group_sched_in+0x6a/0x1f0 [<ffffffff81083dd5>] ? sched_clock_local+0x25/0xa0 [<ffffffff811167e6>] ctx_sched_in+0x1f6/0x450 [<ffffffff8111757b>] perf_event_sched_in+0x6b/0xa0 [<ffffffff81117a4b>] perf_event_context_sched_in+0x7b/0xc0 [<ffffffff81117ece>] __perf_event_task_sched_in+0x43e/0x460 [<ffffffff81096f1e>] ? put_lock_stats.isra.18+0xe/0x30 [<ffffffff8107b3c8>] finish_task_switch+0xb8/0x100 [<ffffffff8166a7de>] __schedule+0x30e/0xad0 [<ffffffff81172dd2>] ? pipe_read+0x3e2/0x560 [<ffffffff8166b45e>] ? preempt_schedule_irq+0x3e/0x70 [<ffffffff8166b45e>] ? preempt_schedule_irq+0x3e/0x70 [<ffffffff8166b464>] preempt_schedule_irq+0x44/0x70 [<ffffffff816707f0>] retint_kernel+0x20/0x30 [<ffffffff8109e60a>] ? lockdep_sys_exit+0x1a/0x90 [<ffffffff812a4234>] lockdep_sys_exit_thunk+0x35/0x67 [<ffffffff81679321>] ? sysret_check+0x5/0x56 Fixing this by tracking the cpu hotplug state and displaying the WARN only if current cpu is initialized properly. Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: stable@vger.kernel.org Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1396861448-10097-1-git-send-email-jolsa@redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 0819b2e30ccb93edf04876237b6205eef84ec8d2 Author: Peter Zijlstra <peterz@infradead.org> Date: Thu May 15 20:23:48 2014 +0200 perf: Limit perf_event_attr::sample_period to 63 bits Vince reported that using a large sample_period (one with bit 63 set) results in wreckage since while the sample_period is fundamentally unsigned (negative periods don't make sense) the way we implement things very much rely on signed logic. So limit sample_period to 63 bits to avoid tripping over this. Reported-by: Vince Weaver <vincent.weaver@maine.edu> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/n/tip-p25fhunibl4y3qi0zuqmyf4b@git.kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit f0d71b3dcb8332f7971b5f2363632573e6d9486a Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon May 12 20:45:35 2014 +0000 futex: Prevent attaching to kernel threads We happily allow userspace to declare a random kernel thread to be the owner of a user space PI futex. Found while analysing the fallout of Dave Jones syscall fuzzer. We also should validate the thread group for private futexes and find some fast way to validate whether the "alleged" owner has RW access on the file which backs the SHM, but that's a separate issue. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dave Jones <davej@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Darren Hart <darren@dvhart.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Clark Williams <williams@redhat.com> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com> Cc: Lai Jiangshan <laijs@cn.fujitsu.com> Cc: Roland McGrath <roland@hack.frob.com> Cc: Carlos ODonell <carlos@redhat.com> Cc: Jakub Jelinek <jakub@redhat.com> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: http://lkml.kernel.org/r/20140512201701.194824402@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org commit 866293ee54227584ffcb4a42f69c1f365974ba7f Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon May 12 20:45:34 2014 +0000 futex: Add another early deadlock detection check Dave Jones trinity syscall fuzzer exposed an issue in the deadlock detection code of rtmutex: http://lkml.kernel.org/r/20140429151655.GA14277@redhat.com That underlying issue has been fixed with a patch to the rtmutex code, but the futex code must not call into rtmutex in that case because - it can detect that issue early - it avoids a different and more complex fixup for backing out If the user space variable got manipulated to 0x80000000 which means no lock holder, but the waiters bit set and an active pi_state in the kernel is found we can figure out the recursive locking issue by looking at the pi_state owner. If that is the current task, then we can safely return -EDEADLK. The check should have been added in commit 59fa62451 (futex: Handle futex_pi OWNER_DIED take over correctly) already, but I did not see the above issue caused by user space manipulation back then. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dave Jones <davej@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Darren Hart <darren@dvhart.com> Cc: Davidlohr Bueso <davidlohr@hp.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Clark Williams <williams@redhat.com> Cc: Paul McKenney <paulmck@linux.vnet.ibm.com> Cc: Lai Jiangshan <laijs@cn.fujitsu.com> Cc: Roland McGrath <roland@hack.frob.com> Cc: Carlos ODonell <carlos@redhat.com> Cc: Jakub Jelinek <jakub@redhat.com> Cc: Michael Kerrisk <mtk.manpages@gmail.com> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: http://lkml.kernel.org/r/20140512201701.097349971@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org commit 02fb05a598e9393382f55132a36aff84f4d76ad5 Author: Tushar Behera <tushar.behera@linaro.org> Date: Mon May 19 14:53:53 2014 +0530 ALSA: pcm_dmaengine: Add check during device suspend Currently snd_dmaengine_pcm_trigger() calls dmaengine_pause() unconditinally during device suspend. In case where DMA controller doesn't support PAUSE/RESUME functionality, this call is not able to stop the DMA controller. In this scenario, audio playback doesn't resume after device resume. Calling dmaengine_pause/dmaengine_terminate_all conditionally fixes the issue. It has been tested with audio playback on Samsung platform having PL330 DMA controller which doesn't support PAUSE/RESUME. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit 524369e2391f4b422d0efdd11d526a373a11a43a Author: Oliver Hartkopp <socketcan@hartkopp.net> Date: Tue May 6 19:45:38 2014 +0200 can: c_can: remove obsolete STRICT_FRAME_ORDERING Kconfig option In 2b9aecdce2 ("can: c_can: Disable rx split as workaround") a new Kconfig option was introduced as a workaround. The tests performed by Alexander Stein confirmed this option to be obsolete with all the other cleanups and fixes that had been discussed that time: http://marc.info/?l=linux-can&m=139746476821294&w=2 Both (author and tester) agreed to remove this Kconfig option again: http://marc.info/?l=linux-can&m=139883820714229&w=2 As some more cleanups took place since then a simple revert is not possible. This patch removes the entire option as it would behave when disabled. Further beautification’s can be done later. Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Tested-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> commit 4f337ed5c014752b000f593182fdcfa3ecf0d166 Author: Jesse Gross <jesse@nicira.com> Date: Fri May 16 15:57:59 2014 -0700 MAINTAINERS: Pravin Shelar is Open vSwitch maintainer. Pravin will be maintaining Open vSwitch going forward. CC: Pravin Shelar <pshelar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 02948344fbf511c6eec28687dc76bb64b758ff93 Author: Joe Perches <joe@perches.com> Date: Thu May 15 23:51:43 2014 -0700 bnx2x: Convert return 0 to return rc These "return 0;" uses seem wrong as there are rc variables where error return values are set but unused. Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Dmitry Kravkov <Dmitry.Kravkov@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 1e1110c43b1cda9fe77fc4a04835e460550e6b3c Author: Mikulas Patocka <mpatocka@redhat.com> Date: Sat May 17 06:49:22 2014 -0400 target: fix memory leak on XCOPY On each processed XCOPY command, two "kmalloc-512" memory objects are leaked. These represent two allocations of struct xcopy_pt_cmd in target_core_xcopy.c. The reason for the memory leak is that the cmd_kref field is not initialized (thus, it is zero because the allocations were done with kzalloc). When we decrement zero kref in target_put_sess_cmd, the result is not zero, thus target_release_cmd_kref is not called. This patch fixes the bug by moving kref initialization from target_get_sess_cmd to transport_init_se_cmd (this function is called from target_core_xcopy.c, so it will correctly initialize cmd_kref). It can be easily verified that all code that calls target_get_sess_cmd also calls transport_init_se_cmd earlier, thus moving kref_init shouldn't introduce any new problems. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Cc: stable@vger.kernel.org # 3.12+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 5aa4ecfd0ddb1e6dcd1c886e6c49677550f581aa Author: David S. Miller <davem@davemloft.net> Date: Sat May 17 11:28:05 2014 -0700 sparc64: Add membar to Niagara2 memcpy code. This is the prevent previous stores from overlapping the block stores done by the memcpy loop. Based upon a glibc patch by Jose E. Marchesi Signed-off-by: David S. Miller <davem@davemloft.net> commit a8d0d8417c0bdc870d28afb83bc12e61a818efa3 Merge: 6bd64ac f60c370 Author: David S. Miller <davem@davemloft.net> Date: Fri May 16 22:29:17 2014 -0400 Merge branch 'bond_stacked_vlans' Vlad Yasevich says: ==================== Fixed stacked vlan usage on top of bonds Bonding device driver now support q-in-q on top for bonds. There are a few issues here though. First, when arp monitoring is used, bonding driver will not correctly tag traffic if the source of the arp device was configured on top of q-in-q. It may also incorrectly pick the wrong vlan id if the ordering of that upper devices isn't as expected (there is no guarntee on ordering). Second, the alb/tlb may use what would be considered 'inner' vlans in its learning announcements, as it simply announces all vlans configured on top of the bond without regard for encapsulation/stacking. This series fixes the above 2 issues. This series also depends on the functionality introduced in http://patchwork.ozlabs.org/patch/349766/ Since v1: - Changed how patch1 verifies the device path. We no longer use the _all_upper version of the function. We find the path and if it was found, then collect the vlan information. - Use the constant to devine maximum vlan nest level support on top of bonding. This can be changed if 2 is too low. - Inlude patch2 into the series. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit f60c3704e87d39356d00c71bf51e55c2c55ad4f5 Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:20:39 2014 -0400 bonding: Fix alb mode to only use first level vlans. ALB/TLB learning packets use all vlans configured on top of the bond. This ends up being incorrect if we have a stack of vlans on top of the bond. ALB/TLB should only use first level/outer most vlans in its announcements. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 44a4085538c844e79d6ee6bcf46fabf7c57a9a38 Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:20:38 2014 -0400 bonding: Fix stacked device detection in arp monitoring Prior to commit fbd929f2dce460456807a51e18d623db3db9f077 bonding: support QinQ for bond arp interval the arp monitoring code allowed for proper detection of devices stacked on top of vlans. Since the above commit, the code can still detect a device stacked on top of single vlan, but not a device stacked on top of Q-in-Q configuration. The search will only set the inner vlan tag if the route device is the vlan device. However, this is not always the case, as it is possible to extend the stacked configuration. With this patch it is possible to provision devices on top Q-in-Q vlan configuration that should be used as a source of ARP monitoring information. For example: ip link add link bond0 vlan10 type vlan proto 802.1q id 10 ip link add link vlan10 vlan100 type vlan proto 802.1q id 100 ip link add link vlan100 type macvlan Note: This patch limites the number of stacked VLANs to 2, just like before. The original, however had another issue in that if we had more then 2 levels of VLANs, we would end up generating incorrectly tagged traffic. This is no longer possible. Fixes: fbd929f2dce460456807a51e18d623db3db9f077 (bonding: support QinQ for bond arp interval) CC: Jay Vosburgh <j.vosburgh@gmail.com> CC: Veaceslav Falico <vfalico@redhat.com> CC: Andy Gospodarek <andy@greyhouse.net> CC: Ding Tianhong <dingtianhong@huawei.com> CC: Patric McHardy <kaber@trash.net> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit f9c6d4987b23e0a514464bae6771933a48e4cd01 Author: Theodore Ts'o <tytso@mit.edu> Date: Fri May 16 21:40:41 2014 -0400 random: fix BUG_ON caused by accounting simplification Commit ee1de406ba6eb1 ("random: simplify accounting logic") simplified things too much, in that it allows the following to trigger an overflow that results in a BUG_ON crash: dd if=/dev/urandom of=/dev/zero bs=67108707 count=1 Thanks to Peter Zihlstra for discovering the crash, and Hannes Frederic for analyizing the root cause. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reported-by: Peter Zijlstra <peterz@infradead.org> Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Cc: Greg Price <price@mit.edu> commit 6bd64ac0f9c264082241da0db0dcc72a13e672a8 Merge: 29e9824 c674ac3 Author: David S. Miller <davem@davemloft.net> Date: Fri May 16 22:15:23 2014 -0400 Merge branch 'stacked_netdevice_locking' Vlad Yasevich says: ==================== Fix lockdep issues with stacked devices Recent commit dc8eaaa006350d24030502a4521542e74b5cb39f vlan: Fix lockdep warning when vlan dev handle notification attempted to solve lockdep issues with vlans where multiple vlans were stacked. However, the code does not work correctly when the vlan stack is interspersed with other devices in between the vlans. Additionally, similar lockdep issues show up with other devices. This series provides a generic way to solve these issue for any devices that can be stacked. It also addresses the concern for vlan and macvlan devices. I am not sure whether it makes sense to do so for other types like team, vxlan, and bond. Thanks -vlad Since v2: - Remove rcu variants from patch1, since that function is called only under rtnl. - Fix whitespace problems reported by checkpatch Since v1: - Fixed up a goofed-up rebase. * is_vlan_dev() should be bool and that change belongs in patch3. * patch4 should not have any vlan changes in it. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit c674ac30c549596295eb0a5af7f4714c0b905b6f Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:04:56 2014 -0400 macvlan: Fix lockdep warnings with stacked macvlan devices Macvlan devices try to avoid stacking, but that's not always successfull or even desired. As an example, the following configuration is perefectly legal and valid: eth0 <--- macvlan0 <---- vlan0.10 <--- macvlan1 However, this configuration produces the following lockdep trace: [ 115.620418] ====================================================== [ 115.620477] [ INFO: possible circular locking dependency detected ] [ 115.620516] 3.15.0-rc1+ #24 Not tainted [ 115.620540] ------------------------------------------------------- [ 115.620577] ip/1704 is trying to acquire lock: [ 115.620604] (&vlan_netdev_addr_lock_key/1){+.....}, at: [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80 [ 115.620686] but task is already holding lock: [ 115.620723] (&macvlan_netdev_addr_lock_key){+.....}, at: [<ffffffff815da5be>] dev_set_rx_mode+0x1e/0x40 [ 115.620795] which lock already depends on the new lock. [ 115.620853] the existing dependency chain (in reverse order) is: [ 115.620894] -> #1 (&macvlan_netdev_addr_lock_key){+.....}: [ 115.620935] [<ffffffff810d57f2>] lock_acquire+0xa2/0x130 [ 115.620974] [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50 [ 115.621019] [<ffffffffa07296c3>] vlan_dev_set_rx_mode+0x53/0x110 [8021q] [ 115.621066] [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0 [ 115.621105] [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40 [ 115.621143] [<ffffffff815da6be>] __dev_open+0xde/0x140 [ 115.621174] [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170 [ 115.621174] [<ffffffff815daaa9>] dev_change_flags+0x29/0x60 [ 115.621174] [<ffffffff815e7f11>] do_setlink+0x321/0x9a0 [ 115.621174] [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730 [ 115.621174] [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250 [ 115.621174] [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0 [ 115.621174] [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40 [ 115.621174] [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0 [ 115.621174] [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740 [ 115.621174] [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0 [ 115.621174] [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380 [ 115.621174] [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80 [ 115.621174] [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20 [ 115.621174] [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b [ 115.621174] -> #0 (&vlan_netdev_addr_lock_key/1){+.....}: [ 115.621174] [<ffffffff810d4d43>] __lock_acquire+0x1773/0x1a60 [ 115.621174] [<ffffffff810d57f2>] lock_acquire+0xa2/0x130 [ 115.621174] [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50 [ 115.621174] [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80 [ 115.621174] [<ffffffffa0696d2a>] macvlan_set_mac_lists+0xca/0x110 [macvlan] [ 115.621174] [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0 [ 115.621174] [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40 [ 115.621174] [<ffffffff815da6be>] __dev_open+0xde/0x140 [ 115.621174] [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170 [ 115.621174] [<ffffffff815daaa9>] dev_change_flags+0x29/0x60 [ 115.621174] [<ffffffff815e7f11>] do_setlink+0x321/0x9a0 [ 115.621174] [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730 [ 115.621174] [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250 [ 115.621174] [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0 [ 115.621174] [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40 [ 115.621174] [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0 [ 115.621174] [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740 [ 115.621174] [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0 [ 115.621174] [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380 [ 115.621174] [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80 [ 115.621174] [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20 [ 115.621174] [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b [ 115.621174] other info that might help us debug this: [ 115.621174] Possible unsafe locking scenario: [ 115.621174] CPU0 CPU1 [ 115.621174] ---- ---- [ 115.621174] lock(&macvlan_netdev_addr_lock_key); [ 115.621174] lock(&vlan_netdev_addr_lock_key/1); [ 115.621174] lock(&macvlan_netdev_addr_lock_key); [ 115.621174] lock(&vlan_netdev_addr_lock_key/1); [ 115.621174] *** DEADLOCK *** [ 115.621174] 2 locks held by ip/1704: [ 115.621174] #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff815e6dbb>] rtnetlink_rcv+0x1b/0x40 [ 115.621174] #1: (&macvlan_netdev_addr_lock_key){+.....}, at: [<ffffffff815da5be>] dev_set_rx_mode+0x1e/0x40 [ 115.621174] stack backtrace: [ 115.621174] CPU: 3 PID: 1704 Comm: ip Not tainted 3.15.0-rc1+ #24 [ 115.621174] Hardware name: Hewlett-Packard HP xw8400 Workstation/0A08h, BIOS 786D5 v02.38 10/25/2010 [ 115.621174] ffffffff82339ae0 ffff880465f79568 ffffffff816ee20c ffffffff82339ae0 [ 115.621174] ffff880465f795a8 ffffffff816e9e1b ffff880465f79600 ffff880465b019c8 [ 115.621174] 0000000000000001 0000000000000002 ffff880465b019c8 ffff880465b01230 [ 115.621174] Call Trace: [ 115.621174] [<ffffffff816ee20c>] dump_stack+0x4d/0x66 [ 115.621174] [<ffffffff816e9e1b>] print_circular_bug+0x200/0x20e [ 115.621174] [<ffffffff810d4d43>] __lock_acquire+0x1773/0x1a60 [ 115.621174] [<ffffffff810d3172>] ? trace_hardirqs_on_caller+0xb2/0x1d0 [ 115.621174] [<ffffffff810d57f2>] lock_acquire+0xa2/0x130 [ 115.621174] [<ffffffff815df49c>] ? dev_uc_sync+0x3c/0x80 [ 115.621174] [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50 [ 115.621174] [<ffffffff815df49c>] ? dev_uc_sync+0x3c/0x80 [ 115.621174] [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80 [ 115.621174] [<ffffffffa0696d2a>] macvlan_set_mac_lists+0xca/0x110 [macvlan] [ 115.621174] [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0 [ 115.621174] [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40 [ 115.621174] [<ffffffff815da6be>] __dev_open+0xde/0x140 [ 115.621174] [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170 [ 115.621174] [<ffffffff815daaa9>] dev_change_flags+0x29/0x60 [ 115.621174] [<ffffffff811e1db1>] ? mem_cgroup_bad_page_check+0x21/0x30 [ 115.621174] [<ffffffff815e7f11>] do_setlink+0x321/0x9a0 [ 115.621174] [<ffffffff810d394c>] ? __lock_acquire+0x37c/0x1a60 [ 115.621174] [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730 [ 115.621174] [<ffffffff815ea169>] ? rtnl_newlink+0xe9/0x730 [ 115.621174] [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250 [ 115.621174] [<ffffffff810d329d>] ? trace_hardirqs_on+0xd/0x10 [ 115.621174] [<ffffffff815e6dbb>] ? rtnetlink_rcv+0x1b/0x40 [ 115.621174] [<ffffffff815e6de0>] ? rtnetlink_rcv+0x40/0x40 [ 115.621174] [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0 [ 115.621174] [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40 [ 115.621174] [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0 [ 115.621174] [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740 [ 115.621174] [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0 [ 115.621174] [<ffffffff8119d4af>] ? might_fault+0x5f/0xb0 [ 115.621174] [<ffffffff8119d4f8>] ? might_fault+0xa8/0xb0 [ 115.621174] [<ffffffff8119d4af>] ? might_fault+0x5f/0xb0 [ 115.621174] [<ffffffff815cb51e>] ? verify_iovec+0x5e/0xe0 [ 115.621174] [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380 [ 115.621174] [<ffffffff816faa0d>] ? __do_page_fault+0x11d/0x570 [ 115.621174] [<ffffffff810cfe9f>] ? up_read+0x1f/0x40 [ 115.621174] [<ffffffff816fab04>] ? __do_page_fault+0x214/0x570 [ 115.621174] [<ffffffff8120a10b>] ? mntput_no_expire+0x6b/0x1c0 [ 115.621174] [<ffffffff8120a0b7>] ? mntput_no_expire+0x17/0x1c0 [ 115.621174] [<ffffffff8120a284>] ? mntput+0x24/0x40 [ 115.621174] [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80 [ 115.621174] [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20 [ 115.621174] [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b Fix this by correctly providing macvlan lockdep class. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d38569ab2bba6e6b3233acfc3a84cdbcfbd1f79f Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:04:55 2014 -0400 vlan: Fix lockdep warning with stacked vlan devices. This reverts commit dc8eaaa006350d24030502a4521542e74b5cb39f. vlan: Fix lockdep warning when vlan dev handle notification Instead we use the new new API to find the lock subclass of our vlan device. This way we can support configurations where vlans are interspersed with other devices: bond -> vlan -> macvlan -> vlan Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 25175ba5c9bff9aaf0229df34bb5d54c81633ec3 Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:04:54 2014 -0400 net: Allow for more then a single subclass for netif_addr_lock Currently netif_addr_lock_nested assumes that there can be only a single nesting level between 2 devices. However, if we have multiple devices of the same type stacked, this fails. For example: eth0 <-- vlan0.10 <-- vlan0.10.20 A more complicated configuration may stack more then one type of device in different order. Ex: eth0 <-- vlan0.10 <-- macvlan0 <-- vlan1.10.20 <-- macvlan1 This patch adds an ndo_* function that allows each stackable device to report its nesting level. If the device doesn't provide this function default subclass of 1 is used. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 4085ebe8c31face855fd01ee40372cb4aab1df3a Author: Vlad Yasevich <vyasevic@redhat.com> Date: Fri May 16 17:04:53 2014 -0400 net: Find the nesting level of a given device by type. Multiple devices in the kernel can be stacked/nested and they need to know their nesting level for the purposes of lockdep. This patch provides a generic function that determines a nesting level of a particular device by its type (ex: vlan, macvlan, etc). We only care about nesting of the same type of devices. For example: eth0 <- vlan0.10 <- macvlan0 <- vlan1.20 The nesting level of vlan1.20 would be 1, since there is another vlan in the stack under it. Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d2c834abe2b39a2d5a6c38ef44de87c97cbb34b4 Author: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Date: Fri May 16 16:50:20 2014 +0300 clk: tegra: Fix wrong value written to PLLE_AUX The value written to PLLE_AUX was incorrect due to a wrong variable being used. Without this fix SATA does not work. Cc: stable@vger.kernel.org Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: Mikko Perttunen <mperttunen@nvidia.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Mike Turquette <mturquette@linaro.org> [mturquette@linaro.org: improved changelog] commit bb4e506565cfc0a2f534dfda1fb7ca5c26f7a604 Author: Jes Sorensen <Jes.Sorensen@redhat.com> Date: Fri May 16 22:59:18 2014 +0200 staging: rtl8723au: Do not reset wdev->iftype in netdev_close() wdev->ifdev should be set by .change_virtual_intf(). This solves the problem of WARN() messages on module unload. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 9ce2482fc6b22709df087d4a8387b67893176312 Author: Tony Lindgren <tony@atomide.com> Date: Fri May 16 14:05:35 2014 -0700 ARM: OMAP2+: Fix DMA hang after off-idle Commit 6ddeb6d84459 (dmaengine: omap-dma: move IRQ handling to omap-dma) added support for handling interrupts in the omap dmaengine driver instead of the legacy driver. Because of different handling for interrupts this however caused omap3 to hang eventually after hitting off-idle. Any of the virtual 32 DMA channels can be assigned to any of the four DMA interrupts. So commit 6ddeb6d84459 made the omap dmaengine driver to use the second DMA interrupt while keeping the legacy code still using the first DMA interrupt. This means we need to save and restore both IRQENABLE_L1 in addition to IRQENABLE_L0. As there is a chance that the DSP might be using IRQENABLE_L2 or IRQENABLE_L3 lines, let's not touch those until this has been confirmed. Let's just add a comment to the code for now. Fixes: 6ddeb6d84459 (dmaengine: omap-dma: move IRQ handling to omap-dma) Cc: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 5005e0b76781c37d0a16dd6dd17d015098e8ce92 Author: Roger Quadros <rogerq@ti.com> Date: Fri May 16 14:45:40 2014 -0700 ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards Commit c66d039197e4 broke NAND for non-DT boot on all OMAP2 and OMAP3 boards using board_nand_init(). Following error is seen at boot [ 0.154998] (null): Unsupported NAND ECC scheme selected For OMAP2 and OMAP3 platforms, the ecc_opt parameter in platform data must be set to OMAP_ECC_HAM1_CODE_HW to work properly. Tested on omap3-beagle c4. Fixes: c66d039197e4 (mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes) Cc: stable@vger.kernel.org # v3.12+ Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 658a0f4e661a6c07395de318a58f9058ba2faf8f Merge: 68c8829 07d1d29 Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Fri May 16 23:43:56 2014 +0200 Merge branch 'acpi-video' * acpi-video: ACPI / video: Revert native brightness quirk for ThinkPad T530 commit 5c13190273870b7cf81b9367ad077322af035e80 Merge: 89ca3b8 0f9e19a Author: Tony Lindgren <tony@atomide.com> Date: Fri May 16 14:43:40 2014 -0700 Merge tag 'for-v3.15-rc/omap-fixes-b' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.15/fixes-v3 Two small OMAP fixes for v3.15-rc. One fixes "slow motion" or "choppy" audio playback on OMAP5. The other applies an OMAP3630 fix for clock rate setting for camera to other OMAP3 chips. Basic build, boot, and PM test results are available here: http://www.pwsan.com/omap/testlogs/prcm-fixes-b-v3.15-rc/20140514112639/ commit 29e98242783ed3ba569797846a606ba66f781625 Author: Eric Dumazet <edumazet@google.com> Date: Fri May 16 11:34:37 2014 -0700 net: gro: make sure skb->cb[] initial content has not to be zero Starting from linux-3.13, GRO attempts to build full size skbs. Problem is the commit assumed one particular field in skb->cb[] was clean, but it is not the case on some stacked devices. Timo reported a crash in case traffic is decrypted before reaching a GRE device. Fix this by initializing NAPI_GRO_CB(skb)->last at the right place, this also removes one conditional. Thanks a lot to Timo for providing full reports and bisecting this. Fixes: 8a29111c7ca6 ("net: gro: allow to build full sized skb") Bisected-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: Eric Dumazet <edumazet@google.com> Tested-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net> commit 22fb22eaebf4d16987f3fd9c3484c436ee0badf2 Author: Timo Teräs <timo.teras@iki.fi> Date: Fri May 16 08:34:39 2014 +0300 ipv4: ip_tunnels: disable cache for nbma gre tunnels The connected check fails to check for ip_gre nbma mode tunnels properly. ip_gre creates temporary tnl_params with daddr specified to pass-in the actual target on per-packet basis from neighbor layer. Detect these tunnels by inspecting the actual tunnel configuration. Minimal test case: ip route add 192.168.1.1/32 via 10.0.0.1 ip route add 192.168.1.2/32 via 10.0.0.2 ip tunnel add nbma0 mode gre key 1 tos c0 ip addr add 172.17.0.0/16 dev nbma0 ip link set nbma0 up ip neigh add 172.17.0.1 lladdr 192.168.1.1 dev nbma0 ip neigh add 172.17.0.2 lladdr 192.168.1.2 dev nbma0 ping 172.17.0.1 ping 172.17.0.2 The second ping should be going to 192.168.1.2 and head 10.0.0.2; but cached gre tunnel level route is used and it's actually going to 192.168.1.1 via 10.0.0.1. The lladdr's need to go to separate dst for the bug to trigger. Test case uses separate route entries, but this can also happen when the route entry is same: if there is a nexthop exception or the GRE tunnel is IPsec'ed in which case the dst points to xfrm bundle unique to the gre lladdr. Fixes: 7d442fab0a67 ("ipv4: Cache dst in tunnels") Signed-off-by: Timo Teräs <timo.teras@iki.fi> Cc: Tom Herbert <therbert@google.com> Cc: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d1c0b471b340f43fa857d19150e029257d7bb475 Author: Fabian Godehardt <fg@emlix.com> Date: Fri May 16 06:21:44 2014 +0200 net/dsa/dsa.c: increment chip_index during of_node handling on dsa_of_probe() Adding more than one chip on device-tree currently causes the probing routine to always use the first chips data pointer. Signed-off-by: Fabian Godehardt <fg@emlix.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 2e47b291953c35afa4e20a65475954c1a1b9afe1 Author: Lorenzo Colitti <lorenzo@google.com> Date: Thu May 15 16:38:41 2014 -0700 net: ipv6: make "ip -6 route get mark xyz" work. Currently, "ip -6 route get mark xyz" ignores the mark passed in by userspace. Make it honour the mark, just like IPv4 does. Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 2f67cc87d662e935d2cfaea5a3fb7138ac35c5de Merge: 0d08fce cc2f338 Author: David S. Miller <davem@davemloft.net> Date: Fri May 16 16:28:53 2014 -0400 Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge Include changes: - fix NULL dereference in batadv_orig_hardif_seq_print_text() - fix reference counting imbalance when using fragmentation - avoid access to orig_node objects after they have been free'd - fix local TT check for outgoing arp requests in DAT commit 0d08fceb2e21c30ca3e1e462e678723f806acf18 Author: David Vrabel <david.vrabel@citrix.com> Date: Fri May 16 12:26:04 2014 +0100 xen-netback: fix race between napi_complete() and interrupt handler When the NAPI budget was not all used, xenvif_poll() would call napi_complete() /after/ enabling the interrupt. This resulted in a race between the napi_complete() and the napi_schedule() in the interrupt handler. The use of local_irq_save/restore() avoided by race iff the handler is running on the same CPU but not if it was running on a different CPU. Fix this properly by calling napi_complete() before reenabling interrupts (in the xenvif_napi_schedule_or_enable_irq() call). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 07d1d29ee1e194b932328ad2dc1d40297062ab7f Author: Hans de Goede <hdegoede@redhat.com> Date: Fri May 16 21:10:41 2014 +0200 ACPI / video: Revert native brightness quirk for ThinkPad T530 Seems it helps some users, but causes issues for other users: https://bugzilla.redhat.com/show_bug.cgi?id=1089545 So lets drop it for now until we've figured out a better fix. Fixes: 43d949024425 (ACPI / video: Add use_native_backlight quirks for more systems) References: https://bugzilla.redhat.com/show_bug.cgi?id=1089545 Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 202630b445d2618d94e4f099567fcee5618dab27 Merge: fde0133 025a58f Author: David S. Miller <davem@davemloft.net> Date: Fri May 16 15:45:56 2014 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless John W. Linville says: ==================== pull request: wireless 2014-05-15 Please pull this batch of fixes for the 3.15 stream... For the mac80211 bits, Johannes says: "One fix is to get better VHT performance and the other fixes tracing garbage or other potential issues with the interface name tracing." And... "This has a fix from Emmanuel for a problem I failed to fix - when association is in progress then it needs to be cancelled while suspending (I had fixed the same for authentication). Also included a fix from myself for a userspace API problem that hit the iw tool and a fix to the remain-on-channel framework." For the iwlwifi bits, Emmanuel says: "Alex fixes the scan by disabling the fragmented scan. David prevents scan offload while associated, the firmware seems not to like it. I fix a stupid bug I made in BT Coex, and fix a bad #ifdef clause in rate scaling. Along with that there is a fix for a NULL pointer exception that can happen if we load the driver and our ISR gets called because the interrupt line is shared. The fix has been tested by the reporter." And... "We have here a fix from David Spinadel that makes a previous fix more complete, and an off-by-one issue fixed by Eliad in the same area. I fix the monitor that broke on the way." Beyond that... Daniel Kim's one-liner fixes a brcmfmac regression caused by a typo in an earlier commit.. Rajkumar Manoharan fixes an ath9k oops reported by David Herrmann. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit fde0133b9cfa4e01b275e942ffc32fd78e27d27c Author: Nathaniel W Filardo <nwf@cs.jhu.edu> Date: Thu May 15 15:51:22 2014 +0100 af_rxrpc: Fix XDR length check in rxrpc key demarshalling. There may be padding on the ticket contained in the key payload, so just ensure that the claimed token length is large enough, rather than exactly the right size. Signed-off-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 6e14a5eeb158215881ef4507833a3574d0dbad19 Author: Zhangfei Gao <zhangfei.gao@linaro.org> Date: Thu May 15 13:35:34 2014 +0800 net: phy: resume phydev when going to RESUMING With commit be9dad1f9f26604fb ("net: phy: suspend phydev when going to HALTED"), an unused PHY device will be put in a low-power mode using BMCR_PDOWN. Some Ethernet drivers might be calling phy_start() and phy_stop() from ndo_open and ndo_close() respectively, while calling phy_connect() and phy_disconnect() from probe and remove. In such a case, the PHY will be powered down during the phy_stop() call, but will fail to be powered up in phy_start(). This patch fixes this scenario. Signed-off-by: Jiancheng Xue <xuejiancheng@huawei.com> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 0c2e3fa9583192b0255fa9ec0260350e6ed202bd Merge: 81c7080 9433c18 Author: David S. Miller <davem@davemloft.net> Date: Fri May 16 15:13:18 2014 -0400 Merge branch 'mlx4-net' Or Gerlitz says: ==================== mlx4: Fix VF MAC address change under RoCE usage This short series provides proper handling for the case where a VF netdevice change their MAC address under a RoCE use case. The code it deals with was introduced in 3.15-rc1 Prior to this series the source MAC used for the VM RoCE CM packets remains as before the MAC modification. Hence RoCE CM packets sent by the VF will not carry the same source MAC address as the non-CM packets. Earlier 3.15-rc commit f24f790 "net/mlx4_core: Load the Eth driver first" handled just one instance of the problem, but this one provides a more generic and proper solution which covers all cases of VF mac change. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 9433c188915c1383ee36259119bc3a9c6f98cfc3 Author: Matan Barak <matanb@mellanox.com> Date: Thu May 15 15:29:28 2014 +0300 IB/mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes When we receive a netdev event indicating a netdev change and/or a netdev address change, we must change the MAC index used by the proxy QP1 (in the QP context), otherwise RoCE CM packets sent by the VF will not carry the same source MAC address as the non-CM packets. We use the UPDATE_QP command to perform this change. In order to avoid modifying a QP context based on netdev event, while the driver attempts to destroy this QP (e.g either the mlx4_ib or ib_mad modules are unloaded), we use mutex locking in both flows. Since the relevant mlx4 proxy GSI QP is created indirectly by the mad module when they create their GSI QP, the mlx4 didn't need to keep track on that QP prior to this change. Now, when QP modifications are needed to this QP from within the driver, we added refernece to it. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit ce8d9e0d6746ff67c1870386b7121a4448f21130 Author: Matan Barak <matanb@mellanox.com> Date: Thu May 15 15:29:27 2014 +0300 net/mlx4_core: Add UPDATE_QP SRIOV wrapper support This patch adds UPDATE_QP SRIOV wrapper support. The mechanism is a general one, but currently only source MAC index changes are allowed for VFs. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit be02f259fda66bcfc60ecd78a819e1ce28c8bfb9 Author: Jes Sorensen <Jes.Sorensen@redhat.com> Date: Fri May 16 10:05:04 2014 +0200 staging: rtl8723au: Use correct pipe type for USB interrupts Use a correct pipe type when filling un interrupt urbs. This should finally take care of the WARN() messages on the console when USB urbs are submitted. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit f140662f35a7332b5c3188ee667856323783ed5a Author: Ilya Dryomov <ilya.dryomov@inktank.com> Date: Fri May 9 18:27:34 2014 +0400 crush: decode and initialize chooseleaf_vary_r Commit e2b149cc4ba0 ("crush: add chooseleaf_vary_r tunable") added the crush_map::chooseleaf_vary_r field but missed the decode part. This lead to misdirected requests caused by incorrect raw crush mapping sets. Fixes: http://tracker.ceph.com/issues/8226 Reported-and-Tested-by: Dmitry Smirnov <onlyjob@member.fsf.org> Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> commit 178eda29ca721842f2146378e73d43e0044c4166 Author: Chunwei Chen <tuxoko@gmail.com> Date: Wed Apr 23 12:35:09 2014 +0800 libceph: fix corruption when using page_count 0 page in rbd It has been reported that using ZFSonLinux on rbd will result in memory corruption. The bug report can be found here: https://github.com/zfsonlinux/spl/issues/241 http://tracker.ceph.com/issues/7790 The reason is that ZFS will send pages with page_count 0 into rbd, which in turns send them to tcp_sendpage. However, tcp_sendpage cannot deal with page_count 0, as it will do get_page and put_page, and erroneously free the page. This type of issue has been noted before, and handled in iscsi, drbd, etc. So, rbd should also handle this. This fix address this issue by fall back to slower sendmsg when page_count 0 detected. Cc: Sage Weil <sage@inktank.com> Cc: Yehuda Sadeh <yehuda@inktank.com> Cc: stable@vger.kernel.org Signed-off-by: Chunwei Chen <tuxoko@gmail.com> Reviewed-by: Ilya Dryomov <ilya.dryomov@inktank.com> commit 4797ec2dc83a43be35bad56037d1b53db9e2b5d5 Author: Mark Salter <msalter@redhat.com> Date: Thu May 15 15:19:22 2014 +0100 arm64: fix pud_huge() for 2-level pagetables The following happens when trying to run a kvm guest on a kernel configured for 64k pages. This doesn't happen with 4k pages: BUG: failure at include/linux/mm.h:297/put_page_testzero()! Kernel panic - not syncing: BUG! CPU: 2 PID: 4228 Comm: qemu-system-aar Tainted: GF 3.13.0-0.rc7.31.sa2.k32v1.aarch64.debug #1 Call trace: [<fffffe0000096034>] dump_backtrace+0x0/0x16c [<fffffe00000961b4>] show_stack+0x14/0x1c [<fffffe000066e648>] dump_stack+0x84/0xb0 [<fffffe0000668678>] panic+0xf4/0x220 [<fffffe000018ec78>] free_reserved_area+0x0/0x110 [<fffffe000018edd8>] free_pages+0x50/0x88 [<fffffe00000a759c>] kvm_free_stage2_pgd+0x30/0x40 [<fffffe00000a5354>] kvm_arch_destroy_vm+0x18/0x44 [<fffffe00000a1854>] kvm_put_kvm+0xf0/0x184 [<fffffe00000a1938>] kvm_vm_release+0x10/0x1c [<fffffe00001edc1c>] __fput+0xb0/0x288 [<fffffe00001ede4c>] ____fput+0xc/0x14 [<fffffe00000d5a2c>] task_work_run+0xa8/0x11c [<fffffe0000095c14>] do_notify_resume+0x54/0x58 In arch/arm/kvm/mmu.c:unmap_range(), we end up doing an extra put_page() on the stage2 pgd which leads to the BUG in put_page_testzero(). This happens because a pud_huge() test in unmap_range() returns true when it should always be false with 2-level pages tables used by 64k pages. This patch removes support for huge puds if 2-level pagetables are being used. Signed-off-by: Mark Salter <msalter@redhat.com> [catalin.marinas@arm.com: removed #ifndef around PUD_SIZE check] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: <stable@vger.kernel.org> # v3.11+ commit dfc44f8030653b345fc6fb337558c3a07536823f Author: Leif Lindholm <leif.lindholm@linaro.org> Date: Thu Apr 17 18:42:00 2014 +0100 mips: dts: Fix missing device_type="memory" property in memory nodes A few platforms lack a 'device_type = "memory"' for their memory nodes, relying on an old ppc quirk in order to discover its memory. Add the missing data so that all parsing code can find memory nodes correctly. Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Cc: linux-mips@linux-mips.org Cc: devicetree@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com> Cc: <stable@vger.kernel.org> Acked-by: John Crispin <blogic@openwrt.org> Signed-off-by: Grant Likely <grant.likely@linaro.org> commit bfaed5abad998bfc88a66e6e71c7b08dcf82f04e Author: Leif Lindholm <leif.lindholm@linaro.org> Date: Thu Apr 17 18:41:59 2014 +0100 arm: dts: Fix missing device_type="memory" for ste-ccu8540 The current .dts for ste-ccu8540 lacks a 'device_type = "memory"' for its memory node, relying on an old ppc quirk in order to discover its memory. Fix the data so that all parsing code can handle it correctly. Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Cc: devicetree@vger.kernel.org Cc: Mark Rutland <mark.rutland@arm.com> Cc: <stable@vger.kernel.org> Signed-off-by: Grant Likely <grant.likely@linaro.org> commit 81c708068dfedece038e07d818ba68333d8d885d Author: Nikolay Aleksandrov <nikolay@redhat.com> Date: Thu May 15 13:35:23 2014 +0200 bonding: fix out of range parameters for bond_intmax_tbl I've missed to add a NULL entry to the bond_intmax_tbl when I introduced it with the conversion of arp_interval so add it now. CC: Jay Vosburgh <j.vosburgh@gmail.com> CC: Veaceslav Falico <vfalico@gmail.com> CC: Andy Gospodarek <andy@greyhouse.net> Fixes: 7bdb04ed0dbf ("bonding: convert arp_interval to use the new option API") Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> Acked-by: Veaceslav Falico <vfalico@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 583757446ba6850eff96cef6565d729266da9c5b Author: Zoltan Kiss <zoltan.kiss@citrix.com> Date: Thu May 15 11:08:34 2014 +0100 xen-netback: Fix grant ref resolution in RX path The original series for reintroducing grant mapping for netback had a patch [1] to handle receiving of packets from an another VIF. Grant copy on the receiving side needs the grant ref of the page to set up the op. The original patch assumed (wrongly) that the frags array haven't changed. In the case reported by Sander, the sending guest sent a packet where the linear buffer and the first frag were under PKT_PROT_LEN (=128) bytes. xenvif_tx_submit() then pulled up the linear area to 128 bytes, and ditched the first frag. The receiving side had an off-by-one problem when gathered the grant refs. This patch fixes that by checking whether the actual frag's page pointer is the same as the page in the original frag list. It can handle any kind of changes on the original frags array, like: - removing granted frags from the array at any point - adding local pages to the frags list anywhere - reordering the frags It's optimized to the most common case, when there is 1:1 relation between the frags and the list, plus works optimal when frags are removed from the end or the beginning. [1]: 3e2234: xen-netback: Handle foreign mapped pages on the guest RX path Reported-by: Sander Eikelenboom <linux@eikelenboom.it> Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit be7a010d6fa33dca9327ad8e91844278dfd1e712 Author: Duan Jiong <duanj.fnst@cn.fujitsu.com> Date: Thu May 15 15:56:14 2014 +0800 ipv6: update Destination Cache entries when gateway turn into host RFC 4861 states in 7.2.5: The IsRouter flag in the cache entry MUST be set based on the Router flag in the received advertisement. In those cases where the IsRouter flag changes from TRUE to FALSE as a result of this update, the node MUST remove that router from the Default Router List and update the Destination Cache entries for all destinations using that neighbor as a router as specified in Section 7.3.3. This is needed to detect when a node that is used as a router stops forwarding packets due to being configured as a host. Currently, when dealing with NA Message which IsRouter flag changes from TRUE to FALSE, the kernel only removes router from the Default Router List, and don't update the Destination Cache entries. Now in order to update those Destination Cache entries, i introduce function rt6_clean_tohost(). Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com> Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit f895f0cfbb77ff432bb6ae4df27b608adbe6573f Merge: b394745 6d004d6 Author: David S. Miller <davem@davemloft.net> Date: Thu May 15 23:23:48 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec Conflicts: net/ipv4/ip_vti.c Steffen Klassert says: ==================== pull request (net): ipsec 2014-05-15 This pull request has a merge conflict in net/ipv4/ip_vti.c between commit 8d89dcdf80d8 ("vti: don't allow to add the same tunnel twice") and commit a32452366b72 ("vti4:Don't count header length twice"). It can be solved like it is done in linux-next. 1) Fix a ipv6 xfrm output crash when a packet is rerouted by netfilter to not use IPsec. 2) vti4 counts some header lengths twice leading to an incorrect device mtu. Fix this by counting these headers only once. 3) We don't catch the case if an unsupported protocol is submitted to the xfrm protocol handlers, this can lead to NULL pointer dereferences. Fix this by adding the appropriate checks. 4) vti6 may unregister pernet ops twice on init errors. Fix this by removing one of the calls to do it only once. From Mathias Krause. 5) Set the vti tunnel mark before doing a lookup in the error handlers. Otherwise we don't find the correct xfrm state. ==================== The conflict in ip_vti.c was simple, 'net' had a commit removing a line from vti_tunnel_init() and this tree being merged had a commit adding a line to the same location. Signed-off-by: David S. Miller <davem@davemloft.net> commit b394745df2d9d4c30bf1bcc55773bec6f3bc7c67 Author: Guenter Roeck <linux@roeck-us.net> Date: Wed May 14 13:12:49 2014 -0700 net: phy: Don't call phy_resume if phy_init_hw failed After the call to phy_init_hw failed in phy_attach_direct, phy_detach is called to detach the phy device from its network device. If the attached driver is a generic phy driver, this also detaches the driver. Subsequently phy_resume is called, which assumes without checking that a driver is attached to the device. This will result in a crash such as Unable to handle kernel paging request for data at address 0xffffffffffffff90 Faulting instruction address: 0xc0000000003a0e18 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0000000003a0e18] .phy_attach_direct+0x68/0x17c LR [c0000000003a0e6c] .phy_attach_direct+0xbc/0x17c Call Trace: [c0000003fc0475d0] [c0000000003a0e6c] .phy_attach_direct+0xbc/0x17c (unreliable) [c0000003fc047670] [c0000000003a0ff8] .phy_connect_direct+0x28/0x98 [c0000003fc047700] [c0000000003f0074] .of_phy_connect+0x4c/0xa4 Only call phy_resume if phy_init_hw was successful. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 07b8dae38b09bcfede7e726f172e39b5ce8390d9 Author: Andy Grover <agrover@redhat.com> Date: Wed May 14 15:48:06 2014 -0700 target: Don't allow setting WC emulation if device doesn't support Just like for pSCSI, if the transport sets get_write_cache, then it is not valid to enable write cache emulation for it. Return an error. see https://bugzilla.redhat.com/show_bug.cgi?id=1082675 Reviewed-by: Chris Leech <cleech@redhat.com> Signed-off-by: Andy Grover <agrover@redhat.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 52d0aa7980cfee85c831b2969e659055395386d4 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Wed May 14 20:54:26 2014 +0000 iscsi-target: Disable Immediate + Unsolicited Data with ISER Protection This patch explicitly disables Immediate + Unsolicited Data for ISER connections during login in iscsi_login_zero_tsih_s2() when protection has been enabled for the session by the underlying hardware. This is currently required because protection / signature memory regions (MRs) expect T10 PI to occur on RDMA READs + RDMA WRITEs transfers, and not on a immediate data payload associated with ISCSI_OP_SCSI_CMD, or unsolicited data-out associated with a ISCSI_OP_SCSI_DATA_OUT. v2 changes: - Add TARGET_PROT_DOUT_INSERT check (Sagi) - Add pr_debug noisemaker (Sagi) - Add goto to avoid early return from MRDSL check (nab) Cc: Sagi Grimberg <sagig@mellanox.com> Cc: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit ed8ec8f707ed4760c124d47b27c93df8ec5b1eba Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Mon May 12 12:18:32 2014 -0700 tcm_fc: Fix free-after-use regression in ft_free_cmd This patch fixes a free-after-use regression in ft_free_cmd(), where ft_sess_put() is called with cmd->sess after percpu_ida_free() has already released the tag. Fix this bug by saving the ft_sess pointer ahead of percpu_ida_free(), and pass it directly to ft_sess_put(). The regression was originally introduced in v3.13-rc1 commit: commit 5f544cfac956971099e906f94568bc3fd1a7108a Author: Nicholas Bellinger <nab@daterainc.com> Date: Mon Sep 23 12:12:42 2013 -0700 tcm_fc: Convert to per-cpu command map pre-allocation of ft_cmd Reported-by: Jun Wu <jwu@stormojo.com> Cc: Mark Rustad <mark.d.rustad@intel.com> Cc: Robert Love <robert.w.love@intel.com> Cc: <stable@vger.kernel.org> #3.13+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 7cbfcc953789ff864c2bf8365a82a3fba4869649 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Thu May 1 13:44:56 2014 -0700 iscsi-target: Change BUG_ON to REJECT in iscsit_process_nop_out This patch changes an incorrect use of BUG_ON to instead generate a REJECT + PROTOCOL_ERROR in iscsit_process_nop_out() code. This case can occur with traditional TCP where a flood of zeros in the data stream can reach this block for what is presumed to be a NOP-OUT with a solicited reply, but without a valid iscsi_cmd pointer. This incorrect BUG_ON was introduced during the v3.11-rc timeframe with the following commit: commit 778de368964c5b7e8100cde9f549992d521e9c89 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Fri Jun 14 16:07:47 2013 -0700 iscsi/isert-target: Refactor ISCSI_OP_NOOP RX handling Reported-by: Arshad Hussain <arshad.hussain@calsoftinc.com> Cc: stable@vger.kernel.org # 3.11+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 14f4b54fe38f3a8f8392a50b951c8aa43b63687a Author: Sagi Grimberg <sagig@mellanox.com> Date: Tue Apr 29 13:13:47 2014 +0300 Target/iscsi,iser: Avoid accepting transport connections during stop stage When the target is in stop stage, iSER transport initiates RDMA disconnects. The iSER initiator may wish to establish a new connection over the still existing network portal. In this case iSER transport should not accept and resume new RDMA connections. In order to learn that, iscsi_np is added with enabled flag so the iSER transport can check when deciding weather to accept and resume a new connection request. The iscsi_np is enabled after successful transport setup, and disabled before iscsi_np login threads are cleaned up. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 531b7bf4bd795d9a09eac92504322a472c010bc8 Author: Sagi Grimberg <sagig@mellanox.com> Date: Tue Apr 29 13:13:45 2014 +0300 Target/iser: Fix iscsit_accept_np and rdma_cm racy flow RDMA CM and iSCSI target flows are asynchronous and completely uncorrelated. Relying on the fact that iscsi_accept_np will be called after CM connection request event and will wait for it is a mistake. When attempting to login to a few targets this flow is racy and unpredictable, but for parallel login to dozens of targets will race and hang every time. The correct synchronizing mechanism in this case is pending on a semaphore rather than a wait_for_event. We keep the pending interruptible for iscsi_np cleanup stage. (Squash patch to remove dead code into parent - nab) Reported-by: Slava Shwartsman <valyushash@gmail.com> Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 9fe63c88b1d59f1ce054d6948ccd3096496ecedb Author: Sagi Grimberg <sagig@mellanox.com> Date: Tue Apr 29 13:13:44 2014 +0300 Target/iser: Fix wrong connection requests list addition Should be adding list_add_tail($new, $head) and not the other way around. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Cc: stable@vger.kernel.org # 3.10+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 448ba904160f9d8f69217c28a1692cee5afbff88 Author: Andy Grover <agrover@redhat.com> Date: Tue Apr 15 14:13:12 2014 -0700 target: Allow non-supporting backends to set pi_prot_type to 0 Userspace tools assume if a value is read from configfs, it is valid and will not cause an error if the same value is written back. The only valid value for pi_prot_type for backends not supporting DIF is 0, so allow this particular value to be set without returning an error. Reported-by: Krzysztof Chojnowski <frirajder@gmail.com> Signed-off-by: Andy Grover <agrover@redhat.com> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Cc: stable@vger.kernel.org # 3.14+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> commit 48f0459fb766415b63ba0e65d528262a9c23b4f7 Merge: 200b916 d91e5c0 Author: David S. Miller <davem@davemloft.net> Date: Thu May 15 16:46:54 2014 -0400 Merge branch 'altera_tse' Vince Bridgers says: ==================== Altera TSE: Fix Sparse errors and misc issues This is version 2 of a patch series to correct sparse errors, cppcheck warnings, and workaound a multicast filtering issue in the Altera TSE Ethernet driver. Multicast filtering is not working as expected, so if present in the hardware will not be used and promiscuous mode enabled instead. This workaround will be replaced with a working solution when completely debugged, integrated and tested. Version 2 is different from the first submission by breaking out the workaround as a seperate patch and addressing a few structure instance declarations by making them const per review comments. If you find this patch acceptable, please consider this for inclusion into the Altera TSE driver source code. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit d91e5c02555ae838e9d783b9e83e125fd10dca73 Author: Vince Bridgers <vbridgers2013@gmail.com> Date: Wed May 14 14:38:37 2014 -0500 Altera TSE: Disable Multicast filtering to workaround problem This patch disables multicast hash filtering if present in the hardware and uses promiscuous mode instead until the problem with multicast filtering has been debugged, integrated and tested. Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 898305806ad56ae11dc2c80931062e6a2c7bba48 Author: Vince Bridgers <vbridgers2013@gmail.com> Date: Wed May 14 14:38:36 2014 -0500 Altera TSE: Fix sparse errors and warnings This patch fixes the many sparse errors and warnings contained in the initial submission of the Altera Triple Speed Ethernet driver, and a few minor cppcheck warnings. Changes are tested on ARM and NIOS2 example designs, and compile tested against multiple architectures. Typical issues addressed were as follows: altera_tse_ethtool.c:136:19: warning: incorrect type in argument 1 (different address spaces) altera_tse_ethtool.c:136:19: expected void const volatile [noderef] <asn:2>*addr altera_tse_ethtool.c:136:19: got unsigned int *<noident> ... altera_sgdma.c:129:31: warning: cast removes address space of expression Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 5513a510fad73594e29e1e48e760e0a644a8a4f3 Author: J. Bruce Fields <bfields@redhat.com> Date: Wed May 14 21:57:26 2014 -0400 nfsd4: fix corruption on setting an ACL. As of 06f9cc12caa862f5bc86ebdb4f77568a4bef0167 "nfsd4: don't create unnecessary mask acl", any non-trivial ACL will be left with an unitialized entry, and a trivial ACL may write one entry beyond what's allocated. Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit 200b916f3575bdf11609cb447661b8d5957b0bbf Author: Cong Wang <cwang@twopensource.com> Date: Mon May 12 15:11:20 2014 -0700 rtnetlink: wait for unregistering devices in rtnl_link_unregister() From: Cong Wang <cwang@twopensource.com> commit 50624c934db18ab90 (net: Delay default_device_exit_batch until no devices are unregistering) introduced rtnl_lock_unregistering() for default_device_exit_batch(). Same race could happen we when rmmod a driver which calls rtnl_link_unregister() as we call dev->destructor without rtnl lock. For long term, I think we should clean up the mess of netdev_run_todo() and net namespce exit code. Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Cong Wang <cwang@twopensource.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit c776cd89fc705fc8b5c2e5ad906bf5d791620fed Author: John David Anglin <dave.anglin@bell.net> Date: Sun May 11 18:40:50 2014 -0400 parisc: Improve LWS-CAS performance The attached change significantly improves the performance of the LWS-CAS code in syscall.S. This allows a number of packages to build (e.g., zeromq3, gtest and libxs) that previously failed because slow LWS-CAS performance under contention. In particular, interrupts taken while the lock was taken degraded performance significantly. The change does the following: 1) Disables interrupts around the CAS operation, and 2) Changes the loads and stores to use the ordered completer, "o", on PA 2.0. "o" and "ma" with a zero offset are equivalent. The latter is accepted on both PA 1.X and 2.0. The use of ordered loads and stores probably makes no difference on all existing hardware, but it seemed pedantically correct. In particular, the CAS operation must complete before LDCW lock is released. As written before, a processor could reorder the operations. I don't believe the period interrupts are disabled is long enough to significantly increase interrupt latency. For example, the TLB insert code is longer. Worst case is a memory fault in the CAS operation. Signed-off-by: John David Anglin <dave.anglin@bell.net> Cc: stable@vger.kernel.org # 3.13+ Signed-off-by: Helge Deller <deller@gmx.de> commit fef47e2a2e1e75fe50a10f634a80f16808348cc6 Author: Helge Deller <deller@gmx.de> Date: Mon May 5 18:07:12 2014 +0200 parisc: ratelimit userspace segfault printing Ratelimit printing of userspace segfaults and make it runtime configurable via the /proc/sys/debug/exception-trace variable. This should resolve syslog from growing way too fast and thus prevents possible system service attacks. Signed-off-by: Helge Deller <deller@gmx.de> Cc: stable@vger.kernel.org # 3.13+ commit 93fa9d32670f5592c8e56abc9928fc194e1e72fc Author: Marcel Apfelbaum <marcel.a@redhat.com> Date: Thu May 15 12:42:49 2014 -0600 PCI: shpchp: Check bridge's secondary (not primary) bus speed When a new device is added below a hotplug bridge, the bridge's secondary bus speed and the device's bus speed must match. The shpchp driver previously checked the bridge's *primary* bus speed, not the secondary bus speed. This caused hot-add errors like: shpchp 0000:00:03.0: Speed of bus ff and adapter 0 mismatch Check the secondary bus speed instead. [bhelgaas: changelog] Link: https://bugzilla.kernel.org/show_bug.cgi?id=75251 Fixes: 3749c51ac6c1 ("PCI: Make current and maximum bus speeds part of the PCI core") Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> CC: stable@vger.kernel.org # v2.6.34+ commit cc2f33860cea0e48ebec096130bd0f7c4bf6e0bc Author: Antonio Quartulli <antonio@open-mesh.com> Date: Sat Mar 29 17:27:38 2014 +0100 batman-adv: fix local TT check for outgoing arp requests in DAT Change introduced by 88e48d7b3340ef07b108eb8a8b3813dd093cc7f7 ("batman-adv: make DAT drop ARP requests targeting local clients") implements a check that prevents DAT from using the caching mechanism when the client that is supposed to provide a reply to an arp request is local. However change brought by be1db4f6615b5e6156c807ea8985171c215c2d57 ("batman-adv: make the Distributed ARP Table vlan aware") has not converted the above check into its vlan aware version thus making it useless when the local client is behind a vlan. Fix the behaviour by properly specifying the vlan when checking for a client being local or not. Reported-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> commit 377fe0f968b30a1a714fab53a908061914f30e26 Author: Antonio Quartulli <antonio@open-mesh.com> Date: Fri May 2 01:35:13 2014 +0200 batman-adv: increase orig refcount when storing ref in gw_node A pointer to the orig_node representing a bat-gateway is stored in the gw_node->orig_node member, but the refcount for such orig_node is never increased. This leads to memory faults when gw_node->orig_node is accessed and the originator has already been freed. Fix this by increasing the refcount on gw_node creation and decreasing it on gw_node free. Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> commit be181015a189cd141398b761ba4e79d33fe69949 Author: Antonio Quartulli <antonio@open-mesh.com> Date: Wed Apr 23 14:05:16 2014 +0200 batman-adv: fix reference counting imbalance while sending fragment In the new fragmentation code the batadv_frag_send_packet() function obtains a reference to the primary_if, but it does not release it upon return. This reference imbalance prevents the primary_if (and then the related netdevice) to be properly released on shut down. Fix this by releasing the primary_if in batadv_frag_send_packet(). Introduced by ee75ed88879af88558818a5c6609d85f60ff0df4 ("batman-adv: Fragment and send skbs larger than mtu") Cc: Martin Hundebøll <martin@hundeboll.net> Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Acked-by: Martin Hundebøll <martin@hundeboll.net> commit 16a4142363b11952d3aa76ac78004502c0c2fe6e Author: Marek Lindner <mareklindner@neomailbox.ch> Date: Thu Apr 24 03:44:25 2014 +0800 batman-adv: fix indirect hard_iface NULL dereference If hard_iface is NULL and goto out is made batadv_hardif_free_ref() doesn't check for NULL before dereferencing it to get to refcount. Introduced in cb1c92ec37fb70543d133a1fa7d9b54d6f8a1ecd ("batman-adv: add debugfs support to view multiif tables"). Reported-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Acked-by: Antonio Quartulli <antonio@meshcoding.com> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit 3b084e99a3fabaeb0f9c65a0806cde30f0b2835e Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Thu May 15 17:18:26 2014 +0200 netfilter: nf_tables: fix trace of matching non-terminal rule Add the corresponding trace if we have a full match in a non-terminal rule. Note that the traces will look slightly different than in x_tables since the log message after all expressions have been evaluated (contrary to x_tables, that emits it before the target action). This manifests in two differences in nf_tables wrt. x_tables: 1) The rule that enables the tracing is included in the trace. 2) If the rule emits some log message, that is shown before the trace log message. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 025a58fd9d5785d63c398e96ac543db2639c7ddc Merge: e84d2f8 faf1dc6 Author: John W. Linville <linville@tuxdriver.com> Date: Thu May 15 10:24:28 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 4c358e15553ed88bf2ddae422624624e1dd663d1 Author: Stephen Rothwell <sfr@canb.auug.org.au> Date: Thu May 15 14:44:30 2014 +1000 of: fix CONFIG_OF=n prototype of of_node_full_name() Make the CONFIG_OF=n prototpe of of_node_full_name() mateh the CONFIG_OF=y version. Fixes compile warnings like this: sound/soc/soc-core.c: In function 'soc_check_aux_dev': sound/soc/soc-core.c:1667:3: warning: passing argument 1 of 'of_node_full_name' discards 'const' qualifier from pointer target type [enabled by default] codecname = of_node_full_name(aux_dev->codec_of_node); when CONFIG_OF is not defined. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Grant Likely <grant.likely@linaro.org> commit a4e91d04b86504f145cc5f766c2609357a68b186 Merge: 16a9602 ebc3226 Author: Paolo Bonzini <pbonzini@redhat.com> Date: Thu May 15 14:46:57 2014 +0200 Merge tag 'kvm-s390-for-3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-master Here is a fix that aligns the irqfd code changes for 3.15 with the right capability number. irqfd for s390x was introduced with 3.15-rc1, so this fix should still go into Linus tree for 3.15 commit 68c8829d0602d2a217f21b7c9dfa40ec21fea019 Merge: 75fa7d2 d40a63c Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Thu May 15 14:10:22 2014 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: intel_pstate: remove setting P state to MAX on init intel_pstate: Set turbo VID for BayTrail commit 75fa7d2826b520ad278512a39f9450d03265ed12 Merge: 3011ef6 5ff365f f6e6e1b Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Thu May 15 14:09:45 2014 +0200 Merge branches 'acpi-video' and 'acpi-blacklist' * acpi-video: ACPI / video: correct DMI tag for Dell Inspiron 7520 ACPI / video: Add use_native_backlight quirks for more systems * acpi-blacklist: ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX ACPI: blacklist win8 OSI for Dell Inspiron 7737 commit 3011ef60d8406ad549f99cf40b2bbd6df095ce73 Merge: 7d18aec 9801284 3afcb96 Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Thu May 15 14:09:23 2014 +0200 Merge branches 'acpi-ac' and 'acpi-proc' * acpi-ac: ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" * acpi-proc: ACPI / proc: Do not say when /proc interfaces will be deleted in Kconfig ACPI: Revert "ACPI / Battery: Remove battery's proc directory" ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" commit 7d18aecd39180ac803e837ee0508a3bc12b168f3 Merge: 85dbd58 f759546 0b9d46d Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Thu May 15 14:07:32 2014 +0200 Merge branches 'acpica', 'acpi-tpm' and 'acpi-processor' * acpica: ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses. ACPICA: Tables: Fix invalid pointer accesses in acpi_tb_parse_root_table(). * acpi-tpm: ACPI / TPM: Fix resume regression on Chromebooks * acpi-processor: ACPI / processor: do not mark present at boot but not onlined CPU as onlined commit e95a2f7509f5219177d6821a0a8754f93892ca56 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Thu May 8 15:09:19 2014 +0300 drm/i915: Increase WM memory latency values on SNB On SNB the BIOS provided WM memory latency values seem insufficient to handle high resolution displays. In this particular case the display mode was a 2560x1440@60Hz, which makes the pixel clock 241.5 MHz. It was empirically found that a memory latency value if 1.2 usec is enough to avoid underruns, whereas the BIOS provided value of 0.7 usec was clearly too low. Incidentally 1.2 usec is what the typical BIOS provided values are on IVB systems. Increase the WM memory latency values to at least 1.2 usec on SNB. Hopefully this won't have a significant effect on power consumption. v2: Increase the latency values regardless of the pixel clock Cc: Robert N <crshman@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70254 Tested-by: Robert Navarro <crshman@gmail.com> Tested-by: Vitaly Minko <vitaly.minko@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit ebc3226202d5956a5963185222982d435378b899 Author: Cornelia Huck <cornelia.huck@de.ibm.com> Date: Fri May 9 15:00:46 2014 +0200 KVM: s390: announce irqfd capability s390 has acquired irqfd support with commit "KVM: s390: irq routing for adapter interrupts" (84223598778ba08041f4297fda485df83414d57e) but failed to announce it. Let's fix that. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> commit 721e82c08c1afd6b47367b0e0c4a62140b0667f3 Author: Aaron Lu <aaron.lu@intel.com> Date: Mon May 12 16:55:45 2014 +0800 drm/i915: restore backlight precision when converting from ACPI When we set backlight on behalf of ACPI opregion, we will convert the backlight value in the 0-255 range defined in opregion to the actual hardware level. Commit 22505b82a2 (drm/i915: avoid brightness overflow when doing scale) is meant to fix the overflow problem when doing the conversion, but it also caused a problem that the converted hardware level doesn't quite represent the intended value: say user wants maximum backlight level(255 in opregion's range), then we will calculate the actual hardware level to be: level = freq / max * level, where freq is the hardware's max backlight level(937 on an user's box), and max and level are all 255. The converted value should be 937 but the above calculation will yield 765. To fix this issue, just use 64 bits to do the calculation to keep the precision and avoid overflow at the same time. Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=72491 Reported-by: Nico Schottelius <nico-bugzilla.kernel.org@schottelius.org> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit afba0b5a221c0dacbbdf3a778d539fbc90fc6191 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue May 13 16:07:37 2014 +0100 drm/i915: Use the first mode if there is no preferred mode in the EDID This matches the algorithm used by earlier kernels when selecting the mode for the fbcon. And only if there is no modes at all, do we fall back to using the BIOS configuration. Seamless transition is still preserved (from the BIOS configuration to ours) so long as the BIOS has also chosen what we hope is the native configuration. Reported-by: Knut Petersen <Knut_Petersen@t-online.de> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78655 Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Tested-by: Knut Petersen <Knut_Petersen@t-online.de> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> [Jani: applied Chris' "Please imagine that I wrote this correctly."] Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit f4cdbc21444a45d207a8dc175f44d2facfbd0845 Author: Jani Nikula <jani.nikula@intel.com> Date: Wed May 14 13:02:19 2014 +0300 drm/i915/dp: force eDP lane count to max available lanes on BDW There are certain BDW high res eDP machines that regressed due to commit 38aecea0ccbb909d635619cba22f1891e589b434 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Mar 3 11:18:10 2014 +0100 drm/i915: reverse dp link param selection, prefer fast over wide again The commit lead to 2 lanes at 5.4 Gbps being used instead of 4 lanes at 2.7 Gbps on the affected machines. Link training succeeded for both, but the screen remained blank with the former config. Further investigation showed that 4 lanes at 5.4 Gbps worked also. The root cause for the blank screen using 2 lanes remains unknown, but apparently the driver for a certain other operating system by default uses the max available lanes. Follow suit on Broadwell eDP, for at least until we figure out what is going on. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76711 Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> Tested-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit fa81511bb0bbb2b1aace3695ce869da9762624ff Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Wed May 14 16:33:54 2014 -0700 x86-64, modify_ldt: Make support for 16-bit segments a runtime option Checkin: b3b42ac2cbae x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels disabled 16-bit segments on 64-bit kernels due to an information leak. However, it does seem that people are genuinely using Wine to run old 16-bit Windows programs on Linux. A proper fix for this ("espfix64") is coming in the upcoming merge window, but as a temporary fix, create a sysctl to allow the administrator to re-enable support for 16-bit segments. It adds a "/proc/sys/abi/ldt16" sysctl that defaults to zero (off). If you hit this issue and care about your old Windows program more than you care about a kernel stack address information leak, you can do echo 1 > /proc/sys/abi/ldt16 as root (add it to your startup scripts), and you should be ok. The sysctl table is only added if you have COMPAT support enabled on x86-64, but I assume anybody who runs old windows binaries very much does that ;) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Link: http://lkml.kernel.org/r/CA%2B55aFw9BPoD10U1LfHbOMpHWZkvJTkMcfCs9s3urPr1YyWBxw@mail.gmail.com Cc: <stable@vger.kernel.org> commit ffe6902b66aaa4ca6694bc19639259c16d84ddb1 Author: James Hogan <james.hogan@imgtec.com> Date: Thu May 1 15:05:07 2014 +0100 asm-generic: remove _STK_LIM_MAX _STK_LIM_MAX could be used to override the RLIMIT_STACK hard limit from an arch's include/uapi/asm-generic/resource.h file, but is no longer used since both parisc and metag removed the override. Therefore remove it entirely, setting the hard RLIMIT_STACK limit to RLIM_INFINITY directly in include/asm-generic/resource.h. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-arch@vger.kernel.org Cc: Helge Deller <deller@gmx.de> Cc: John David Anglin <dave.anglin@bell.net> commit c70458f50cd4271410aa75011f56ffabc0e2d34a Author: James Hogan <james.hogan@imgtec.com> Date: Thu May 1 12:31:14 2014 +0100 metag: Remove _STK_LIM_MAX override Meta overrode _STK_LIM_MAX (the default RLIMIT_STACK hard limit) to 256MB, apparently in an attempt to prevent setup_arg_pages's STACK_GROWSUP code from choosing the maximum stack size of 1GB, which is far too large for Meta's limited virtual address space and hits a BUG_ON (stack_top is usually 0x3ffff000). However the commit "metag: Reduce maximum stack size to 256MB" reduces the absolute stack size limit to a safe value for metag. This allows the default _STK_LIM_MAX override to be removed, bringing the default behaviour in line with all other architectures. Parisc in particular recently removed their override of _STK_LIMT_MAX in commit e0d8898d76a7 (parisc: remove _STK_LIM_MAX override) since it subtly affects stack allocation semantics in userland. Meta's uapi/asm/resource.h can now be removed and switch to using generic-y. Suggested-by: Helge Deller <deller@gmx.de> Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: linux-metag@vger.kernel.org Cc: John David Anglin <dave.anglin@bell.net> commit 042d27acb64924a0e8a43e972485913a32407beb Author: Helge Deller <deller@gmx.de> Date: Wed Apr 30 23:26:02 2014 +0200 parisc,metag: Do not hardcode maximum userspace stack size This patch affects only architectures where the stack grows upwards (currently parisc and metag only). On those do not hardcode the maximum initial stack size to 1GB for 32-bit processes, but make it configurable via a config option. The main problem with the hardcoded stack size is, that we have two memory regions which grow upwards: stack and heap. To keep most of the memory available for heap in a flexmap memory layout, it makes no sense to hard allocate up to 1GB of the memory for stack which can't be used as heap then. This patch makes the stack size for 32-bit processes configurable and uses 80MB as default value which has been in use during the last few years on parisc and which hasn't showed any problems yet. Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: linux-parisc@vger.kernel.org Cc: linux-metag@vger.kernel.org Cc: John David Anglin <dave.anglin@bell.net> commit d71f290b4e98a39f49f2595a13be3b4d5ce8e1f1 Author: James Hogan <james.hogan@imgtec.com> Date: Tue May 13 23:58:24 2014 +0100 metag: Reduce maximum stack size to 256MB Specify the maximum stack size for arches where the stack grows upward (parisc and metag) in asm/processor.h rather than hard coding in fs/exec.c so that metag can specify a smaller value of 256MB rather than 1GB. This fixes a BUG on metag if the RLIMIT_STACK hard limit is increased beyond a safe value by root. E.g. when starting a process after running "ulimit -H -s unlimited" it will then attempt to use a stack size of the maximum 1GB which is far too big for metag's limited user virtual address space (stack_top is usually 0x3ffff000): BUG: failure at fs/exec.c:589/shift_arg_pages()! Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Helge Deller <deller@gmx.de> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: linux-parisc@vger.kernel.org Cc: linux-metag@vger.kernel.org Cc: John David Anglin <dave.anglin@bell.net> Cc: stable@vger.kernel.org # only needed for >= v3.9 (arch/metag) commit 2425ce84026c385b73ae72039f90d042d49e0394 Author: Mikulas Patocka <mpatocka@redhat.com> Date: Thu May 8 15:51:37 2014 -0400 metag: fix memory barriers Volatile access doesn't really imply the compiler barrier. Volatile access is only ordered with respect to other volatile accesses, it isn't ordered with respect to general memory accesses. Gcc may reorder memory accesses around volatile access, as we can see in this simple example (if we compile it with optimization, both increments of *b will be collapsed to just one): void fn(volatile int *a, long *b) { (*b)++; *a = 10; (*b)++; } Consequently, we need the compiler barrier after a write to the volatile variable, to make sure that the compiler doesn't reorder the volatile write with something else. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Cc: stable@vger.kernel.org Acked-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: James Hogan <james.hogan@imgtec.com> commit 4cdd2ad78098244c1bc9ec4374ea1c225fd1cd6f Author: Mike Snitzer <snitzer@redhat.com> Date: Tue May 13 13:49:39 2014 -0400 dm mpath: fix lock order inconsistency in multipath_ioctl Commit 3e9f1be1b40 ("dm mpath: remove process_queued_ios()") did not consistently take the multipath device's spinlock (m->lock) before calling dm_table_run_md_queue_async() -- which takes the q->queue_lock. Found with code inspection using hint from reported lockdep warning. Reported-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Mike Snitzer <snitzer@redhat.com> commit 85ad643b7e7e52d37620fb272a9fd577a8095647 Author: Joe Thornber <ejt@redhat.com> Date: Fri May 9 15:59:38 2014 +0100 dm thin: add timeout to stop out-of-data-space mode holding IO forever If the pool runs out of data space, dm-thin can be configured to either error IOs that would trigger provisioning, or hold those IOs until the pool is resized. Unfortunately, holding IOs until the pool is resized can result in a cascade of tasks hitting the hung_task_timeout, which may render the system unavailable. Add a fixed timeout so IOs can only be held for a maximum of 60 seconds. If LVM is going to resize a thin-pool that is out of data space it needs to be prompt about it. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 3.14+ commit 8d07e8a5f5bc7b90f755d9b427ea930024f4c986 Author: Joe Thornber <ejt@redhat.com> Date: Tue May 6 16:28:14 2014 +0100 dm thin: allow metadata commit if pool is in PM_OUT_OF_DATA_SPACE mode Commit 3e1a0699 ("dm thin: fix out of data space handling") introduced a regression in the metadata commit() method by returning an error if the pool is in PM_OUT_OF_DATA_SPACE mode. This oversight caused a thin device to return errors even if the default queue_if_no_space ENOSPC handling mode is used. Fix commit() to only fail if pool is in PM_READ_ONLY or PM_FAIL mode. Reported-by: qindehua@163.com Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 3.14+ commit 610f2de3559c383caf8fbbf91e9968102dff7ca0 Author: Mikulas Patocka <mpatocka@redhat.com> Date: Thu Feb 20 18:01:01 2014 -0500 dm crypt: fix cpu hotplug crash by removing per-cpu structure The DM crypt target used per-cpu structures to hold pointers to a ablkcipher_request structure. The code assumed that the work item keeps executing on a single CPU, so it didn't use synchronization when accessing this structure. If a CPU is disabled by writing 0 to /sys/devices/system/cpu/cpu*/online, the work item could be moved to another CPU. This causes dm-crypt crashes, like the following, because the code starts using an incorrect ablkcipher_request: smpboot: CPU 7 is now offline BUG: unable to handle kernel NULL pointer dereference at 0000000000000130 IP: [<ffffffffa1862b3d>] crypt_convert+0x12d/0x3c0 [dm_crypt] ... Call Trace: [<ffffffffa1864415>] ? kcryptd_crypt+0x305/0x470 [dm_crypt] [<ffffffff81062060>] ? finish_task_switch+0x40/0xc0 [<ffffffff81052a28>] ? process_one_work+0x168/0x470 [<ffffffff8105366b>] ? worker_thread+0x10b/0x390 [<ffffffff81053560>] ? manage_workers.isra.26+0x290/0x290 [<ffffffff81058d9f>] ? kthread+0xaf/0xc0 [<ffffffff81058cf0>] ? kthread_create_on_node+0x120/0x120 [<ffffffff813464ac>] ? ret_from_fork+0x7c/0xb0 [<ffffffff81058cf0>] ? kthread_create_on_node+0x120/0x120 Fix this bug by removing the per-cpu definition. The structure ablkcipher_request is accessed via a pointer from convert_context. Consequently, if the work item is rescheduled to a different CPU, the thread still uses the same ablkcipher_request. This change may undermine performance improvements intended by commit c0297721 ("dm crypt: scale to multiple cpus") on select hardware. In practice no performance difference was observed on recent hardware. But regardless, correctness is more important than performance. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org commit e84d2f8d2ae33c8215429824e1ecf24cbca9645e Author: Heiko Carstens <heiko.carstens@de.ibm.com> Date: Wed May 14 09:48:21 2014 +0200 net: filter: s390: fix JIT address randomization This is the s390 variant of Alexei's JIT bug fix. (patch description below stolen from Alexei's patch) bpf_alloc_binary() adds 128 bytes of room to JITed program image and rounds it up to the nearest page size. If image size is close to page size (like 4000), it is rounded to two pages: round_up(4000 + 4 + 128) == 8192 then 'hole' is computed as 8192 - (4000 + 4) = 4188 If prandom_u32() % hole selects a number >= PAGE_SIZE - sizeof(*header) then kernel will crash during bpf_jit_free(): kernel BUG at arch/x86/mm/pageattr.c:887! Call Trace: [<ffffffff81037285>] change_page_attr_set_clr+0x135/0x460 [<ffffffff81694cc0>] ? _raw_spin_unlock_irq+0x30/0x50 [<ffffffff810378ff>] set_memory_rw+0x2f/0x40 [<ffffffffa01a0d8d>] bpf_jit_free_deferred+0x2d/0x60 [<ffffffff8106bf98>] process_one_work+0x1d8/0x6a0 [<ffffffff8106bf38>] ? process_one_work+0x178/0x6a0 [<ffffffff8106c90c>] worker_thread+0x11c/0x370 since bpf_jit_free() does: unsigned long addr = (unsigned long)fp->bpf_func & PAGE_MASK; struct bpf_binary_header *header = (void *)addr; to compute start address of 'bpf_binary_header' and header->pages will pass junk to: set_memory_rw(addr, header->pages); Fix it by making sure that &header->image[prandom_u32() % hole] and &header are in the same page. Fixes: aa2d2c73c21f2 ("s390/bpf,jit: address randomize and write protect jit code") Reported-by: Alexei Starovoitov <ast@plumgrid.com> Cc: <stable@vger.kernel.org> # v3.11+ Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit faf1dc64e345ac4de5c4429df6ed492255ae2248 Author: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Date: Wed May 14 14:39:21 2014 +0530 ath9k_htc: Stop ANI before doing hw_reset During remain on channel request, ANI worker thread is not stopped before doing hw reset. This is causing kernel crash in hw_per_calibration. This change ensures that ANI is stopped before doing chip reset and it will be rescheduled later when the chip is configured back to home channel and having valid bss. Reported-by: David Herrmann <dh.herrmann@gmail.com> Tested-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> commit eac94da8b4cc3dd4336ed434fbc2370c3c850003 Merge: 209f6c3 b4b177a Author: John W. Linville <linville@tuxdriver.com> Date: Wed May 14 15:39:45 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit f5738e2ef88070ef1372e6e718124d88e9abe4ac Author: Ursula Braun <ursula.braun@de.ibm.com> Date: Tue May 13 14:38:02 2014 +0200 af_iucv: wrong mapping of sent and confirmed skbs When sending data through IUCV a MESSAGE COMPLETE interrupt signals that sent data memory can be freed or reused again. With commit f9c41a62bba3f3f7ef3541b2a025e3371bcbba97 "af_iucv: fix recvmsg by replacing skb_pull() function" the MESSAGE COMPLETE callback iucv_callback_txdone() identifies the wrong skb as being confirmed, which leads to data corruption. This patch fixes the skb mapping logic in iucv_callback_txdone(). Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Cc: <stable@vger.kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 03a58baa785f48a85126ab043a14cb80b7e670e0 Author: Kalesh AP <kalesh.purayil@emulex.com> Date: Tue May 13 14:03:11 2014 +0530 be2net: enable interrupts in EEH resume On some BE3 FW versions, after a HW reset, interrupts will remain disabled for each function. So, explicitly enable the interrupts in the eeh_resume handler, else after an eeh recovery interrupts wouldn't work. Signed-off-by: Kalesh AP <kalesh.purayil@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 702b691e4a711e699cf3cccba879c1d945665c0d Author: Arun Kumar K <arun.kk@samsung.com> Date: Thu May 15 04:17:17 2014 +0900 ARM: dts: Remove g2d_pd node for exynos5420 G2D power domain also controls the CMU block of G2D. Since clock registers can be accessed anytime for viewing clk_summary, it can cause a system crash if g2d power domain is disabled. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit c5b817e44bc97a3d119822459f69ea7d1dc528ee Author: Tushar Behera <tushar.behera@linaro.org> Date: Thu May 15 04:16:03 2014 +0900 ARM: dts: Remove mau_pd node for exynos5420 MAU powerdomain provides clocks for Audio sub-system block. This block comprises of the I2S audio controller, audio DMA blocks and Audio sub-system clock registers. Right now, there is no way to hook up power-domains with clock providers. During late boot when this power-domain gets disabled, we get following external abort. Unhandled fault: imprecise external abort (0x1406) at 0x00000000 Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007 Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Tested-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit a8f1d0889e902cbac8c18a40ec927a109e48a52e Author: Sachin Kamat <sachin.kamat@linaro.org> Date: Thu May 15 04:14:16 2014 +0900 ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount High speed I2C is used on Exynos5 based SoCs. Enable it. The MMC partition for Root filesystem cannot be mounted without this enabling HS-I2C and regulators on many boards are connected HS-I2C bus so the regulators don't come by default without this. Actually, we are not able to get arndale-octa board to boot and mount an MMC partition without this change. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Tested-by: Javi Merino <javi.merino@arm.com> [kgene.kim@samsung.com: modified description] Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit e6015c1f8a9032c2aecb78d23edf49582563bd47 Author: Seungwon Jeon <tgih.jun@samsung.com> Date: Fri May 9 07:02:33 2014 +0900 ARM: dts: disable MDMA1 node for exynos5420 This change places MDMA1 in disabled node for Exynos5420. If MDMA1 region is configured with secure mode, it makes the boot failure with the following on smdk5420 board. ("Unhandled fault: imprecise external abort (0x1406) at 0x00000000") Thus, arndale-octa board don't need to do the same thing anymore. Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com> Tested-by: Javi Merino <javi.merino@arm.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit 989ff3fdf939b15f0cb91406746da0ded0c06ef0 Author: Kyungmin Park <kyungmin.park@samsung.com> Date: Fri May 9 06:19:18 2014 +0900 ARM: EXYNOS: fix the secondary CPU boot of exynos4212 This patch fixes the offset of CPU boot address and changes the parameter of smc call for SMC_CMD_CPU1BOOT command on exynos4212. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> commit c4b160685fc85e41fe8c08478cc61f4877d26973 Author: Neil Horman <nhorman@tuxdriver.com> Date: Mon May 12 10:38:18 2014 -0400 jme: Fix unmap loop counting error: In my recent fix (76a691d0a: fix dma unmap warning), Ben Hutchings noted that my loop count was incorrect. Where j started at startidx, it should have started at zero, and gone on for count entries, not to endidx. Additionally, a DMA resource exhaustion should drop the frame and (for now), return NETDEV_TX_OK, not NETEV_TX_BUSY. This patch fixes both of those issues: Signed-off-by: Neil Horman <nhorman@tuxdriver.com> CC: Ben Hutchings <ben@decadent.org.uk> CC: "David S. Miller" <davem@davemloft.net> CC: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 0b5fe736fe923f1f5e05413878d5990e92ffbdf5 Author: Hans de Goede <hdegoede@redhat.com> Date: Wed May 14 11:10:40 2014 -0700 Input: synaptics - add min/max quirk for the ThinkPad W540 https://bugzilla.redhat.com/show_bug.cgi?id=1096436 Cc: stable@vger.kernel.org Tested-and-reported-by: ajayr@bigfoot.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 0f9e19ad88eee820f517b85531b555a0fa73e7e4 Author: Peter Ujfalusi <peter.ujfalusi@ti.com> Date: Fri May 9 11:10:05 2014 +0300 ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM McPDM need to be configured to NO_IDLE mode when it is in used otherwise vital clocks will be gated which results 'slow motion' audio playback. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: <stable@kernel.org> Signed-off-by: Paul Walmsley <paul@pwsan.com> commit d7653964c590ba846aa11a8f6edf409773cbc492 Author: Wolfram Sang <wsa+renesas@sang-engineering.com> Date: Mon May 5 18:36:21 2014 +0200 i2c: rcar: bail out on zero length transfers This hardware does not support zero length transfers. Instead, the driver does one (random) byte transfers currently with undefined results for the slaves. We now bail out. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org commit fa01d096bfcfd89398b1f3a3f91805dab76f7fe5 Author: Andy Gross <agross@codeaurora.org> Date: Fri May 2 20:54:29 2014 -0500 i2c: qup: Fix pm_runtime_get_sync usage This patch corrects the error check on the call to pm_runtime_get_sync. Signed-off-by: Andy Gross <agross@codeaurora.org> Reviewed-by: Ivan T. Ivanov <iivanov@mm-sol.com> Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> commit ce78cc071f5f541480e381cc0241d37590041a9d Author: Olof Johansson <olof@lixom.net> Date: Fri Apr 11 15:19:41 2014 -0700 i2c: s3c2410: resume race fix Don't unmark the device as suspended until after it's been re-setup. The main race would be w.r.t. an i2c driver that gets resumed at the same time (asyncronously), that is allowed to do a transfer since suspended is set to 0 before reinit, but really should have seen the -EIO return instead. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Doug Anderson <dianders@chromium.org> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org commit 37e5eb0bae7bb4d98c2153c3c3400b5c00c3cad1 Author: Ulf Hansson <ulf.hansson@linaro.org> Date: Thu Apr 10 16:19:29 2014 +0200 i2c: nomadik: Don't use IS_ERR for devm_ioremap devm_ioremap() returns NULL on error, not an error. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org commit 47bb27e78867997040a228328f2a631c3c7f2c82 Author: Du, Wenkai <wenkai.du@intel.com> Date: Thu Apr 10 23:03:19 2014 +0000 i2c: designware: Mask all interrupts during i2c controller enable There have been "i2c_designware 80860F41:00: controller timed out" errors on a number of Baytrail platforms. The issue is caused by incorrect value in Interrupt Mask Register (DW_IC_INTR_MASK) when i2c core is being enabled. This causes call to __i2c_dw_enable() to immediately start the transfer which leads to timeout. There are 3 failure modes observed: 1. Failure in S0 to S3 resume path The default value after reset for DW_IC_INTR_MASK is 0x8ff. When we start the first transaction after resuming from system sleep, TX_EMPTY interrupt is already unmasked because of the hardware default. 2. Failure in normal operational path This failure happens rarely and is hard to reproduce. Debug trace showed that DW_IC_INTR_MASK had value of 0x254 when failure occurred, which meant TX_EMPTY was unmasked. 3. Failure in S3 to S0 suspend path This failure also happens rarely and is hard to reproduce. Adding debug trace that read DW_IC_INTR_MASK made this failure not reproducible. But from ISR call trace we could conclude TX_EMPTY was unmasked when problem occurred. The patch masks all interrupts before the controller is enabled to resolve the faulty DW_IC_INTR_MASK conditions. Signed-off-by: Wenkai Du <wenkai.du@intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> [wsa: improved the comment and removed typo in commit msg] Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org commit 7bb394094080a26de06efcd6a870cb2ba21cfb16 Author: Steven J. Hill <Steven.Hill@imgtec.com> Date: Thu Apr 10 14:06:17 2014 -0500 MIPS: mm: Fix broken microMIPS kernel regression. Commit f4ae17aa0f2122b52f642985b46210a1f2eceb0a [MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT] broke microMIPS kernel builds. This patch refactors that code similar to what was done for the 'clear_page' and 'copy_page' functions. Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6744/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 40b9397a1a61a37917b93e7d57e6f2faf3a086b4 Author: Samuel Ortiz <sameo@linux.intel.com> Date: Wed May 14 17:53:35 2014 +0200 Bluetooth: Fix L2CAP LE debugfs entries permissions 0466 was probably meant to be 0644, there's no reason why everyone except root could write there. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Cc: stable@vger.kernel.org commit 16a9602158861687c78b6de6dc6a79e6e8a9136f Author: Marcelo Tosatti <mtosatti@redhat.com> Date: Wed May 14 12:43:24 2014 -0300 KVM: x86: disable master clock if TSC is reset during suspend Updating system_time from the kernel clock once master clock has been enabled can result in time backwards event, in case kernel clock frequency is lower than TSC frequency. Disable master clock in case it is necessary to update it from the resume path. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> commit 665ebe926e7b714369b5329d48745bfef17db512 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Wed May 14 16:32:21 2014 +0300 ALSA: sb_mixer: missing return statement The if condition here was supposed to return on error but the return statement is missing. The effect is that the ->mixername is set to "???" instead of "DT019X". Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit 582da6527da30f6e21a95c9f3f2810d46a8f406e Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Wed May 14 13:36:36 2014 +0200 of: make of_update_property() usable earlier in the boot process Commit 75b57ecf9d1d1e17d099ab13b8f48e6e038676be ('of: Make device nodes kobjects so they show up in sysfs') has turned Device Tree nodes in kobjects and added a sysfs based representation for Device Tree nodes. Since the sysfs logic is only available after the execution of a core_initcall(), the patch took precautions in of_add_property() and of_remove_property() to not do any sysfs related manipulation early in the boot process. However, it forgot to do the same for of_update_property(), which if used early in the boot process (before core_initcalls have been called), tries to call sysfs_remove_bin_file(), and crashes: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at /home/thomas/projets/linux-2.6/fs/kernfs/dir.c:1216 kernfs_remove_by_name_ns+0x80/0x88() kernfs: can not remove '(null)', no directory Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc1-00127-g1d7e7b2-dirty #423 [<c0014910>] (unwind_backtrace) from [<c00110ec>] (show_stack+0x10/0x14) [<c00110ec>] (show_stack) from [<c04c84b8>] (dump_stack+0x84/0x94) [<c04c84b8>] (dump_stack) from [<c001d8c0>] (warn_slowpath_common+0x6c/0x88) [<c001d8c0>] (warn_slowpath_common) from [<c001d90c>] (warn_slowpath_fmt+0x30/0x40) [<c001d90c>] (warn_slowpath_fmt) from [<c0104468>] (kernfs_remove_by_name_ns+0x80/0x88) [<c0104468>] (kernfs_remove_by_name_ns) from [<c0394d98>] (of_update_property+0xc0/0xf0) [<c0394d98>] (of_update_property) from [<c0647248>] (mvebu_timer_and_clk_init+0xfc/0x194) [<c0647248>] (mvebu_timer_and_clk_init) from [<c0640934>] (start_kernel+0x218/0x350) [<c0640934>] (start_kernel) from [<00008070>] (0x8070) ---[ end trace 3406ff24bd97382e ]--- Unable to handle kernel NULL pointer dereference at virtual address 0000003c pgd = c0004000 [0000003c] *pgd=00000000 Internal error: Oops: 5 [#1] SMP ARM Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 3.15.0-rc1-00127-g1d7e7b2-dirty #423 task: c10ad4d8 ti: c10a2000 task.ti: c10a2000 PC is at kernfs_find_ns+0x8/0xf0 LR is at kernfs_find_and_get_ns+0x30/0x48 pc : [<c0103834>] lr : [<c010394c>] psr: 600001d3 sp : c10a3f34 ip : 00000073 fp : 00000000 r10: 00000000 r9 : cfffc240 r8 : cfdf2980 r7 : cf812c00 r6 : 00000000 r5 : 00000000 r4 : c10b45e0 r3 : c10ad4d8 r2 : 00000000 r1 : cf812c00 r0 : 00000000 Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: 0000404a DAC: 00000015 Process swapper/0 (pid: 0, stack limit = 0xc10a2240) Stack: (0xc10a3f34 to 0xc10a4000) 3f20: c10b45e0 00000000 00000000 3f40: cf812c00 c010394c 00000063 cf812c00 00000001 cf812c00 cfdf29ac c03932cc 3f60: 00000063 cf812bc0 cfdf29ac cf812c00 ffffffff c03943f8 cfdf2980 c0104468 3f80: cfdf2a04 cfdf2980 cf812bc0 c06634b0 c10aa3c0 c0394da4 c10f74dc cfdf2980 3fa0: cf812bc0 c0647248 c10aa3c0 ffffffff c10de940 c10aa3c0 ffffffff c0640934 3fc0: ffffffff ffffffff c06404ec 00000000 00000000 c06634b0 00000000 10c53c7d 3fe0: c10aa434 c06634ac c10ae4c8 0000406a 414fc091 00008070 00000000 00000000 [<c0103834>] (kernfs_find_ns) from [<00000001>] (0x1) Code: e5c89001 eaffffcf e92d40f0 e1a06002 (e1d023bc) ---[ end trace 3406ff24bd97382f ]--- Kernel panic - not syncing: Attempted to kill the idle task! ---[ end Kernel panic - not syncing: Attempted to kill the idle task! To fix this problem, we simply skip the sysfs related calls in of_update_property(), and rely on of_init() to fix up things when it will be called, exactly as is done in of_add_property() and of_remove_property(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Fixes: 75b57ecf9d1d ("of: Make device nodes kobjects so they show up in sysfs") Signed-off-by: Grant Likely <grant.likely@linaro.org> commit b4b177a5556a686909e643f1e9b6434c10de079f Author: Johannes Berg <johannes.berg@intel.com> Date: Wed May 14 15:34:41 2014 +0200 mac80211: fix on-channel remain-on-channel Jouni reported that if a remain-on-channel was active on the same channel as the current operating channel, then the ROC would start, but any frames transmitted using mgmt-tx on the same channel would get delayed until after the ROC. The reason for this is that the ROC starts, but doesn't have any handling for "remain on the same channel", so it stops the interface queues. The later mgmt-tx then puts the frame on the interface queues (since it's on the current operating channel) and thus they get delayed until after the ROC. To fix this, add some logic to handle remaining on the same channel specially and not stop the queues etc. in this case. This not only fixes the bug but also improves behaviour in this case as data frames etc. can continue to flow. Cc: stable@vger.kernel.org Reported-by: Jouni Malinen <j@w1.fi> Tested-by: Jouni Malinen <j@w1.fi> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit ff2354bc6e54cc7e024744b7b4065a081fd87f6e Merge: 7ca33c7 cffd666 Author: Takashi Iwai <tiwai@suse.de> Date: Wed May 14 14:27:12 2014 +0200 Merge tag 'asoc-v3.15-rc5-intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Intel fixes for v3.15 This is a relatively large batch of fixes for the newly added Haswell/Baytrail drivers from Intel. It's a bit larger than is good for this point in the cycle but it's all for a newly added driver so not so worrying as it might otherwise be. Some of it's integration problems, some of it's the sort of problem usually turned up in stress tests. commit 7ca33c7a1d7f8566d8b08a0df55b26758d985a15 Merge: 927cdab f9a4059 Author: Takashi Iwai <tiwai@suse.de> Date: Wed May 14 14:24:09 2014 +0200 Merge tag 'asoc-v3.15-rc5-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Driver fixes for v3.15 A small set of driver fixes, nothing remarkable in itself or of any relevance outside of the driver. commit 927cdab3b6fe7e32990f5563d295eedfc355be6d Merge: 7189eb9 cf86197 Author: Takashi Iwai <tiwai@suse.de> Date: Wed May 14 14:23:48 2014 +0200 Merge tag 'asoc-v3.15-rc5-core' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Core fixes for v3.15 A few things here: - Fix the creation of spurious CODEC<->CODEC links which caused DAPM to have audio paths which shouldn't be present causing spurious powerups and potential audible issues for users. - Ensure the suspend->off transition doesn't have spurious transitions to prepare added to the sequence. - Fix incorrect skipping of PCM suspension for active audio streams. - Remove Timur Tabi from the CS4270 maintainers, Cirrus are now doing this and Timur no longer has the boards that he was using. commit cf86197ec5655ed1f54f1f7ba34a01d576e3737d Merge: 0d1203f 868a6ca Author: Mark Brown <broonie@linaro.org> Date: Wed May 14 12:52:41 2014 +0100 Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linus commit 0d1203f29199a1d754bd1ca335c3dc6b14be160b Merge: 34e0a1e ce85a4d Author: Mark Brown <broonie@linaro.org> Date: Wed May 14 12:52:32 2014 +0100 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus commit f9a405961eec4ee9a71a433a473b244ae2d74c3c Merge: b890978 4e17d2d 4f8210f 6ae6698 836b31f 2a1c23e 44330ab Author: Mark Brown <broonie@linaro.org> Date: Wed May 14 12:49:10 2014 +0100 Merge remote-tracking branches 'asoc/fix/audmux', 'asoc/fix/cs42l52', 'asoc/fix/fsl-esai', 'asoc/fix/fsl-spdif', 'asoc/fix/rcar', 'asoc/fix/tlv320aic31xx' and 'asoc/fix/wm8962' into asoc-linus commit 5d61b54f5e06621d7b1471cbf8b76bc064117225 Author: Liviu Dudau <Liviu.Dudau@arm.com> Date: Tue May 13 23:17:12 2014 -0700 Input: ambakmi - request a shared interrupt for AMBA KMI devices Recent ARM boards have the KMI devices share one interrupt line rather than having dedicated IRQs. Update the driver to take that into account. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit c5ec1948eaab7c1c0f412b2804e65a637f1c7443 Author: Chao Xie <chao.xie@marvell.com> Date: Mon May 12 19:20:48 2014 -0700 Input: pxa27x-keypad - fix generating scancode The number of columns of pxa27x-keypad used by various boards is not fixed. When building keymap with call to: matrix_keypad_build_keymap(keymap_data, NULL, pdata->matrix_key_rows, pdata->matrix_key_cols, keypad->keycodes, input_dev); it will internally calculate needed row shift and use it to fill the keymap. Therefore when calculating the "scancode" we should no longer use constant row shift but also calculate it from number of columns. Signed-off-by: Chao Xie <chao.xie@marvell.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 3a1cebe7e05027a1c96f2fc1a8eddf5f19b78f42 Author: Hannes Frederic Sowa <hannes@stressinduktion.org> Date: Sun May 11 23:01:13 2014 +0200 ipv6: fix calculation of option len in ip6_append_data tot_len does specify the size of struct ipv6_txoptions. We need opt_flen + opt_nflen to calculate the overall length of additional ipv6 extensions. I found this while auditing the ipv6 output path for a memory corruption reported by Alexey Preobrazhensky while he fuzzed an instrumented AddressSanitizer kernel with trinity. This may or may not be the cause of the original bug. Fixes: 4df98e76cde7c6 ("ipv6: pmtudisc setting not respected with UFO/CORK") Reported-by: Alexey Preobrazhensky <preobr@google.com> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit 3d4405226d27b3a215e4d03cfa51f536244e5de7 Author: Hannes Frederic Sowa <hannes@stressinduktion.org> Date: Sun May 11 22:59:30 2014 +0200 net: avoid dependency of net_get_random_once on nop patching net_get_random_once depends on the static keys infrastructure to patch up the branch to the slow path during boot. This was realized by abusing the static keys api and defining a new initializer to not enable the call site while still indicating that the branch point should get patched up. This was needed to have the fast path considered likely by gcc. The static key initialization during boot up normally walks through all the registered keys and either patches in ideal nops or enables the jump site but omitted that step on x86 if ideal nops where already placed at static_key branch points. Thus net_get_random_once branches not always became active. This patch switches net_get_random_once to the ordinary static_key api and thus places the kernel fast path in the - by gcc considered - unlikely path. Microbenchmarks on Intel and AMD x86-64 showed that the unlikely path actually beats the likely path in terms of cycle cost and that different nop patterns did not make much difference, thus this switch should not be noticeable. Fixes: a48e42920ff38b ("net: introduce new macro net_get_random_once") Reported-by: Tuomas Räsänen <tuomasjjrasanen@tjjr.fi> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net> commit f2d0801f00b7aff0ac6b3666cbcdab499267418a Author: Markos Chandras <markos.chandras@imgtec.com> Date: Tue Apr 22 15:40:36 2014 +0100 MIPS: Add new AUDIT_ARCH token for the N32 ABI on MIPS64 A MIPS64 kernel may support ELF files for all 3 MIPS ABIs (O32, N32, N64). Furthermore, the AUDIT_ARCH_MIPS{,EL}64 token does not provide enough information about the ABI for the 64-bit process. As a result of which, userland needs to use complex seccomp filters to decide whether a syscall belongs to the o32 or n32 or n64 ABI. Therefore, a new arch token for MIPS64/n32 is added so it can be used by seccomp to explicitely set syscall filters for this ABI. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Acked-by: Eric Paris <eparis@redhat.com> Acked-by: Paul Moore <pmoore@redhat.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: linux-mips@linux-mips.org Link: http://sourceforge.net/p/libseccomp/mailman/message/32239040/ Patchwork: https://patchwork.linux-mips.org/patch/6818/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 9844f5462392b53824e8b86726e7c33b5ecbb676 Author: Anthony Iliopoulos <anthony.iliopoulos@huawei.com> Date: Wed May 14 11:29:48 2014 +0200 x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() The invalidation is required in order to maintain proper semantics under CoW conditions. In scenarios where a process clones several threads, a thread operating on a core whose DTLB entry for a particular hugepage has not been invalidated, will be reading from the hugepage that belongs to the forked child process, even after hugetlb_cow(). The thread will not see the updated page as long as the stale DTLB entry remains cached, the thread attempts to write into the page, the child process exits, or the thread gets migrated to a different processor. Signed-off-by: Anthony Iliopoulos <anthony.iliopoulos@huawei.com> Link: http://lkml.kernel.org/r/20140514092948.GA17391@server-36.huawei.corp Suggested-by: Shay Goikhman <shay.goikhman@huawei.com> Acked-by: Dave Hansen <dave.hansen@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: <stable@vger.kernel.org> # v2.6.16+ (!) commit 97d9d23dda6f37d90aefeec4ed619d52df525382 Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Date: Sat Apr 26 12:51:31 2014 -0300 [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode If a struct contains 64-bit fields, it is aligned on 64-bit boundaries within containing structs in 64-bit compilations. This is the case with struct v4l2_window, which contains pointers and is embedded into struct v4l2_format, and that one is embedded into struct v4l2_create_buffers. Unlike some other structs, used as a part of the kernel ABI as ioctl() arguments, that are packed, these structs aren't packed. This isn't a problem per se, but the ioctl-compat code for VIDIOC_CREATE_BUFS contains a bug, that triggers in such 64-bit builds. That code wrongly assumes, that in struct v4l2_create_buffers, struct v4l2_format immediately follows the __u32 memory field, which in fact isn't the case. This bug wasn't visible until now, because until recently hardly any applications used this ioctl() and mostly embedded 32-bit only drivers implemented it. This is changing now with addition of this ioctl() to some USB drivers, e.g. UVC. This patch fixes the bug by copying parts of struct v4l2_create_buffers separately. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Cc: stable@vger.kernel.org commit cfece5857ca51d1dcdb157017aba226f594e9dcf Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Date: Mon Apr 14 10:49:34 2014 -0300 [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space Commit 75e2bdad8901a0b599e01a96229be922eef1e488 "ov7670: allow configuration of image size, clock speed, and I/O method" uses a wrong index to iterate an array. Apart from being wrong, it also uses an unchecked value from user-space, which can cause access to unmapped memory in the kernel, triggered by a normal desktop user with rights to use V4L2 devices. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Jonathan Corbet <corbet@lwn.net> Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 773cd38f40b8834be991dbfed36683acc1dd41ee Author: Alexei Starovoitov <ast@plumgrid.com> Date: Tue May 13 15:05:55 2014 -0700 net: filter: x86: fix JIT address randomization bpf_alloc_binary() adds 128 bytes of room to JITed program image and rounds it up to the nearest page size. If image size is close to page size (like 4000), it is rounded to two pages: round_up(4000 + 4 + 128) == 8192 then 'hole' is computed as 8192 - (4000 + 4) = 4188 If prandom_u32() % hole selects a number >= PAGE_SIZE - sizeof(*header) then kernel will crash during bpf_jit_free(): kernel BUG at arch/x86/mm/pageattr.c:887! Call Trace: [<ffffffff81037285>] change_page_attr_set_clr+0x135/0x460 [<ffffffff81694cc0>] ? _raw_spin_unlock_irq+0x30/0x50 [<ffffffff810378ff>] set_memory_rw+0x2f/0x40 [<ffffffffa01a0d8d>] bpf_jit_free_deferred+0x2d/0x60 [<ffffffff8106bf98>] process_one_work+0x1d8/0x6a0 [<ffffffff8106bf38>] ? process_one_work+0x178/0x6a0 [<ffffffff8106c90c>] worker_thread+0x11c/0x370 since bpf_jit_free() does: unsigned long addr = (unsigned long)fp->bpf_func & PAGE_MASK; struct bpf_binary_header *header = (void *)addr; to compute start address of 'bpf_binary_header' and header->pages will pass junk to: set_memory_rw(addr, header->pages); Fix it by making sure that &header->image[prandom_u32() % hole] and &header are in the same page Fixes: 314beb9bcabfd ("x86: bpf_jit_comp: secure bpf jit against spraying attacks") Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 2ed9fd28c2884e9f41c133f86a7e377d7c0a96bf Author: Jason Cooper <jason@lakedaemon.net> Date: Tue May 13 18:47:01 2014 +0000 MAINTAINERS: Add co-maintainer for drivers/irqchip Thomas Gleixner has asked me to assist with the review and merging of patches for the irqchip subsystem. Signed-off-by: Jason Cooper <jason@lakedaemon.net> Link: http://lkml.kernel.org/r/1400006821-32145-1-git-send-email-jason@lakedaemon.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 629c27aa0c930b9c67188cfc625bf6cdd2af6764 Author: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Date: Tue May 13 07:41:32 2014 -0400 iscsi_ibft: Fix finding Broadcom specific ibft sign Search for Broadcom specific ibft sign "BIFT" along with other possible values on UEFI This patch is fix for regression introduced in “935a9fee51c945b8942be2d7b4bae069167b4886â€. https://lkml.org/lkml/2011/12/16/353 This impacts Broadcom CNA for iSCSI Boot on UEFI platform. Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Mike Christie <michaelc@cs.wisc.edu> commit 209f6c37540a6cc1c74333a7ede0da729488a8cd Merge: 03e5da1 b538b8c Author: John W. Linville <linville@tuxdriver.com> Date: Tue May 13 14:52:34 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit fd30c37331ad8ed7c7e0e4c21f5ee309fec21d7d Merge: 6c7bdf2 111e0a9 3d89e14 Author: Mark Brown <broonie@linaro.org> Date: Tue May 13 19:08:34 2014 +0100 Merge remote-tracking branches 'spi/fix/pxa2xx' and 'spi/fix/qup' into spi-linus commit 6c7bdf2d9c89530c87ef92ca79b1f0b2eff7ba30 Merge: d6d211d c3676d5 Author: Mark Brown <broonie@linaro.org> Date: Tue May 13 19:08:33 2014 +0100 Merge remote-tracking branch 'spi/fix/core' into spi-linus commit 44330ab516c15dda8a1e660eeaf0003f84e43e3f Author: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Date: Tue May 13 13:45:15 2014 +0100 ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile The register CLASS_D_CONTROL_1 is marked as volatile because it contains a bit, DAC_MUTE, which is also mirrored in the ADC_DAC_CONTROL_1 register. This causes problems for the "Speaker Switch" control, which will report an error if the CODEC is suspended because it relies on a volatile register. To resolve this issue mark CLASS_D_CONTROL_1 as non-volatile and manually keep the register cache in sync by updating both bits when changing the mute status. Reported-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org commit cffd6665f57ed18f4be9185c4330c8c98c22e201 Author: Jarkko Nikula <jarkko.nikula@linux.intel.com> Date: Tue May 13 15:46:06 2014 +0300 ASoC: Intel: Fix Baytrail SST DSP firmware loading Commit 10df350977b1 ("ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled.") caused following regression in Baytrail SST: baytrail-pcm-audio baytrail-pcm-audio: error: DMA alloc failed baytrail-pcm-audio baytrail-pcm-audio: error: failed to load firmware Fix this by calling dma_coerce_mask_and_coherent() in sst_byt_init() with the same dma_dev device what is now used in sst_fw_new() when allocating the DMA buffer. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 6262971a8a5082e3662238f50e3f3c351a2e552f Merge: 2176d5d 709de13 Author: David S. Miller <davem@davemloft.net> Date: Tue May 13 12:53:36 2014 -0400 Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge Included changes: - properly release neigh_ifinfo in batadv_iv_ogm_process_per_outif() - properly release orig_ifinfo->router when freeing orig_ifinfo - properly release neigh_node objects during periodic check - properly release neigh_info objects when the related hard_iface is free'd These changes are all very important because they fix some reference counting imbalances that lead to the impossibility of releasing the netdev object used by batman-adv on shutdown. The consequence is that such object cannot be destroyed by the networking stack (the refcounter does not reach zero) thus bringing the system in hanging state during a normal reboot operation or a network reconfiguration. commit 2176d5d41891753774f648b67470398a5acab584 Author: Duan Jiong <duanj.fnst@cn.fujitsu.com> Date: Fri May 9 13:16:48 2014 +0800 neigh: set nud_state to NUD_INCOMPLETE when probing router reachability Since commit 7e98056964("ipv6: router reachability probing"), a router falls into NUD_FAILED will be probed. Now if function rt6_select() selects a router which neighbour state is NUD_FAILED, and at the same time function rt6_probe() changes the neighbour state to NUD_PROBE, then function dst_neigh_output() can directly send packets, but actually the neighbour still is unreachable. If we set nud_state to NUD_INCOMPLETE instead NUD_PROBE, packets will not be sent out until the neihbour is reachable. In addition, because the route should be probes with a single NS, so we must set neigh->probes to neigh_max_probes(), then the neigh timer timeout and function neigh_timer_handler() will not send other NS Messages. Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 5367742ad5321dd38058420adb4750ed9c7ead1e Merge: 696dfd9 b18db0b Author: Paolo Bonzini <pbonzini@redhat.com> Date: Tue May 13 18:15:16 2014 +0200 Merge tag 'signed-for-3.15' of git://github.com/agraf/linux-2.6 into kvm-master Patch queue for 3.15 - 2014-05-12 This request includes a few bug fixes that really shouldn't wait for the next release. It fixes KVM on 32bit PowerPC when built as module. It also fixes the PV KVM acceleration when NX gets honored by the host. Furthermore we fix transactional memory support and numa support on HV KVM. commit 367f0b50e502d2c384277ba2ed43b04add2b8b6f Author: Ralf Baechle <ralf@linux-mips.org> Date: Tue May 13 17:56:41 2014 +0200 MIPS: Wire up renameat2 syscall. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit d40a63c45b506b0681918d7c62a15cc9d48c8681 Author: Dirk Brandewie <dirk.j.brandewie@intel.com> Date: Thu May 8 12:57:24 2014 -0700 intel_pstate: remove setting P state to MAX on init Setting the P state of the core to max at init time is a hold over from early implementation of intel_pstate where intel_pstate disabled cpufreq and loaded VERY early in the boot sequence. This was to ensure that intel_pstate did not affect boot time. This in not needed now that intel_pstate is a cpufreq driver. Removing this covers the case where a CPU has gone through a manual CPU offline/online cycle and the P state is set to MAX on init and the CPU immediately goes idle. Due to HW coordination the P state request on the idle CPU will drag all cores to MAX P state until the load is reevaluated when to core goes non-idle. Reported-by: Patrick Marlier <patrick.marlier@gmail.com> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 36e9d2ebcc15d029b33f42a36146ab5a5bcfcfe7 Author: Tejun Heo <tj@kernel.org> Date: Tue May 13 11:28:30 2014 -0400 cgroup: fix rcu_read_lock() leak in update_if_frozen() While updating cgroup_freezer locking, 68fafb77d827 ("cgroup_freezer: replace freezer->lock with freezer_mutex") introduced a bug in update_if_frozen() where it returns with rcu_read_lock() held. Fix it by adding rcu_read_unlock() before returning. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: kbuild test robot <fengguang.wu@intel.com> commit e5ced8ebb10c20a3b349bd798b69ccabd3b25d21 Author: Tejun Heo <tj@kernel.org> Date: Wed May 7 21:31:17 2014 -0400 cgroup_freezer: replace freezer->lock with freezer_mutex After 96d365e0b86e ("cgroup: make css_set_lock a rwsem and rename it to css_set_rwsem"), css task iterators requires sleepable context as it may block on css_set_rwsem. I missed that cgroup_freezer was iterating tasks under IRQ-safe spinlock freezer->lock. This leads to errors like the following on freezer state reads and transitions. BUG: sleeping function called from invalid context at /work /os/work/kernel/locking/rwsem.c:20 in_atomic(): 0, irqs_disabled(): 0, pid: 462, name: bash 5 locks held by bash/462: #0: (sb_writers#7){.+.+.+}, at: [<ffffffff811f0843>] vfs_write+0x1a3/0x1c0 #1: (&of->mutex){+.+.+.}, at: [<ffffffff8126d78b>] kernfs_fop_write+0xbb/0x170 #2: (s_active#70){.+.+.+}, at: [<ffffffff8126d793>] kernfs_fop_write+0xc3/0x170 #3: (freezer_mutex){+.+...}, at: [<ffffffff81135981>] freezer_write+0x61/0x1e0 #4: (rcu_read_lock){......}, at: [<ffffffff81135973>] freezer_write+0x53/0x1e0 Preemption disabled at:[<ffffffff81104404>] console_unlock+0x1e4/0x460 CPU: 3 PID: 462 Comm: bash Not tainted 3.15.0-rc1-work+ #10 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 ffff88000916a6d0 ffff88000e0a3da0 ffffffff81cf8c96 0000000000000000 ffff88000e0a3dc8 ffffffff810cf4f2 ffffffff82388040 ffff880013aaf740 0000000000000002 ffff88000e0a3de8 ffffffff81d05974 0000000000000246 Call Trace: [<ffffffff81cf8c96>] dump_stack+0x4e/0x7a [<ffffffff810cf4f2>] __might_sleep+0x162/0x260 [<ffffffff81d05974>] down_read+0x24/0x60 [<ffffffff81133e87>] css_task_iter_start+0x27/0x70 [<ffffffff8113584d>] freezer_apply_state+0x5d/0x130 [<ffffffff81135a16>] freezer_write+0xf6/0x1e0 [<ffffffff8112eb88>] cgroup_file_write+0xd8/0x230 [<ffffffff8126d7b7>] kernfs_fop_write+0xe7/0x170 [<ffffffff811f0756>] vfs_write+0xb6/0x1c0 [<ffffffff811f121d>] SyS_write+0x4d/0xc0 [<ffffffff81d08292>] system_call_fastpath+0x16/0x1b freezer->lock used to be used in hot paths but that time is long gone and there's no reason for the lock to be IRQ-safe spinlock or even per-cgroup. In fact, given the fact that a cgroup may contain large number of tasks, it's not a good idea to iterate over them while holding IRQ-safe spinlock. Let's simplify locking by replacing per-cgroup freezer->lock with global freezer_mutex. This also makes the comments explaining the intricacies of policy inheritance and the locking around it as the states are protected by a common mutex. The conversion is mostly straight-forward. The followings are worth mentioning. * freezer_css_online() no longer needs double locking. * freezer_attach() now performs propagation simply while holding freezer_mutex. update_if_frozen() race no longer exists and the comment is removed. * freezer_fork() now tests whether the task is in root cgroup using the new task_css_is_root() without doing rcu_read_lock/unlock(). If not, it grabs freezer_mutex and performs the operation. * freezer_read() and freezer_change_state() grab freezer_mutex across the whole operation and pin the css while iterating so that each descendant processing happens in sleepable context. Fixes: 96d365e0b86e ("cgroup: make css_set_lock a rwsem and rename it to css_set_rwsem") Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com> commit 5024ae29cd285ce9e736776414da645d3a91828c Author: Tejun Heo <tj@kernel.org> Date: Wed May 7 21:31:17 2014 -0400 cgroup: introduce task_css_is_root() Determining the css of a task usually requires RCU read lock as that's the only thing which keeps the returned css accessible till its reference is acquired; however, testing whether a task belongs to the root can be performed without dereferencing the returned css by comparing the returned pointer against the root one in init_css_set[] which never changes. Implement task_css_is_root() which can be invoked in any context. This will be used by the scheduled cgroup_freezer change. v2: cgroup no longer supports modular controllers. No need to export init_css_set. Pointed out by Li. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com> commit b25bcf1bcaf6687991ae08dd76cd784bf9fe3d05 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon May 12 16:11:40 2014 +0200 ARM: mvebu: mvebu-soc-id: keep clock enabled if PCIe unit is enabled Since the mvebu-soc-id code in mach-mvebu/ was introduced, several users have noticed a regression: the PCIe card connected in the first PCIe interface is not detected properly. This is due to the fact that the mvebu-soc-id code enables the PCIe clock of the first PCIe interface, reads the SoC device ID and revision number (yes this information is made available as part of PCIe registers), and then disables the clock. However, by doing this, we gate the clock and therefore loose the complex PCIe configuration that was done by the bootloader. Unfortunately, as of today, the kernel is not capable of doing this complex configuration by itself, so we really need to keep the PCIe clock enabled. However, we don't want to keep it enabled unconditionally: if the PCIe interface is not enabled or PCI support is not compiled into the kernel, there is no reason to keep the PCIe clock running. This issue was discussed with Kevin Hilman, and the suggested solution was to make the mvebu-soc-id code keep the clock enabled in case it will be needed for PCIe. This is therefore the solution implemented in this patch. Long term, we hope to make the kernel more capable in terms of PCIe configuration for this platform, which will anyway be needed to support the compilation of the PCIe host controller driver as a module. In the mean time however, we don't have much other choice than to implement the currently proposed solution. Reported-by: Neil Greatorex <neil@fatboyfat.co.uk> Cc: Neil Greatorex <neil@fatboyfat.co.uk> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Kevin Hilman <khilman@linaro.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1399903900-29977-3-git-send-email-thomas.petazzoni@free-electrons.com Fixes: af8d1c63afcb ("ARM: mvebu: Add support to get the ID and the revision of a SoC") Cc: <stable@vger.kernel.org> # 3.14+: 42a18d1cf484: ARM: mvebu: mvebu-soc-id: add missing clk_put() call Cc: <stable@vger.kernel.org> # 3.14+ Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 42a18d1cf484d02e23afadfa5dc09356e6bef9fa Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon May 12 16:11:39 2014 +0200 ARM: mvebu: mvebu-soc-id: add missing clk_put() call The mvebu-soc-id code in mach-mvebu/ needs to enable a clock to read the SoC device ID and revision number. To do so, it does a clk_get(), then a clk_prepare_enable(), reads the value, and disables the clock with clk_disable_unprepare(). However, it forgets to clk_put() the clock. This commit fixes this issue. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1399903900-29977-2-git-send-email-thomas.petazzoni@free-electrons.com Cc: <stable@vger.kernel.org> # 3.14+ Fixes: af8d1c63afcb ("ARM: mvebu: Add support to get the ID and the revision of a SoC") Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 85dbd5801f62b66e2aa7826aaefcaebead44c8a6 Author: Lv Zheng <lv.zheng@intel.com> Date: Tue May 13 16:50:30 2014 +0800 ACPICA: Tables: Restore old behavor to favor 32-bit FADT addresses. We need to find a smarter way to switch to 64-bit FADT addresses according to the bug report. This patch reverts Linux to the original behavior. Fixes: 0249ed2444d6 (ACPICA: Add option to favor 32-bit FADT addresses.) References: https://bugzilla.kernel.org/show_bug.cgi?id=74021 Reported-and-tested-by: Oswald Buddenhagen <ossi@kde.org> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit f5651986fe438c1ba05fdafa383d38bd86713d13 Author: Johannes Berg <johannes.berg@intel.com> Date: Tue May 13 15:45:55 2014 +0200 nl80211: fix NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL API My commit removing that also removed it from the header file which can break compilation of userspace that needed it, add it back for API/ABI compatibility purposes (but no code to implement anything for it.) Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 5ff365fb6aed4c7ee5aae7b0239ce0b514aefabc Author: Aaron Lu <aaron.lu@intel.com> Date: Tue May 13 09:51:50 2014 +0800 ACPI / video: correct DMI tag for Dell Inspiron 7520 The DMI tag used to identify Dell Inspiron 7520 should be product name instead of product version. Fixes: 0e9f81d3b7cd (ACPI / video: Add systems that should favour native backlight interface) Reported-and-tested-by: Téo Mazars <teomazars@gmail.com> References: https://bugzilla.redhat.com/show_bug.cgi?id=909552 Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit b538b8ce76f69f7fa225bc0817bbb361b877ea23 Author: David Spinadel <david.spinadel@intel.com> Date: Tue May 13 14:29:36 2014 +0300 iwlwifi: mvm: prevent sched scan while not idle Prevent sched scan while not idle (including during association or in AP mode) instead of while associated only. This fixes my previous commit which was incomplete: commit bd5e4744a6ca64299b57a2682c720d00a475a734 Author: David Spinadel <david.spinadel@intel.com> Date: Thu Apr 24 13:15:29 2014 +0300 iwlwifi: mvm: do no sched scan while associated Currently the FW doesn't support sched scan while associated, Prevent it. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit c52666aef9f2dff39276eb53f15d99e2e229870f Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Tue May 13 12:54:09 2014 +0300 mac80211: fix suspend vs. association race If the association is in progress while we suspend, the stack will be in a messed up state. Clean it before we suspend. This patch completes Johannes's patch: 1a1cb744de160ee70086a77afff605bbc275d291 Author: Johannes Berg <johannes.berg@intel.com> mac80211: fix suspend vs. authentication race Cc: <stable@vger.kernel.org> Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 555724a831b4a146e7bdf16ecc989cda032b076d Author: Tejun Heo <tj@kernel.org> Date: Mon May 12 13:56:27 2014 -0400 kernfs, sysfs, cgroup: restrict extra perm check on open to sysfs The kernfs open method - kernfs_fop_open() - inherited extra permission checks from sysfs. While the vfs layer allows ignoring the read/write permissions checks if the issuer has CAP_DAC_OVERRIDE, sysfs explicitly denied open regardless of the cap if the file doesn't have any of the UGO perms of the requested access or doesn't implement the requested operation. It can be debated whether this was a good idea or not but the behavior is too subtle and dangerous to change at this point. After cgroup got converted to kernfs, this extra perm check also got applied to cgroup breaking libcgroup which opens write-only files with O_RDWR as root. This patch gates the extra open permission check with a new flag KERNFS_ROOT_EXTRA_OPEN_PERM_CHECK and enables it for sysfs. For sysfs, nothing changes. For cgroup, root now can perform any operation regardless of the permissions as it was before kernfs conversion. Note that kernfs still fails unimplemented operations with -EINVAL. While at it, add comments explaining KERNFS_ROOT flags. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Andrey Wagin <avagin@gmail.com> Tested-by: Andrey Wagin <avagin@gmail.com> Cc: Li Zefan <lizefan@huawei.com> References: http://lkml.kernel.org/g/CANaxB-xUm3rJ-Cbp72q-rQJO5mZe1qK6qXsQM=vh0U8upJ44+A@mail.gmail.com Fixes: 2bd59d48ebfb ("cgroup: convert to kernfs") Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit 64793110ad4d82e18d88a33307749c6562a6dd04 Author: Eliad Peller <eliad@wizery.com> Date: Sun May 11 19:59:43 2014 +0300 iwlwifi: mvm: fix off-by-one in scan channels configuration tail should be equal to the last valid index, so decrease it by one. This error causes in "a gap" in some cases (as well as some possible out-of-bound write), finally resulting in ucode assertion. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 2c16c9fdacbbf3bd8ff6390e12c5d28b3f2c78ac Author: Su Friendy <friendy.su@sony.com.cn> Date: Wed May 7 13:54:52 2014 +0800 iommu/amd: fix enabling exclusion range for an exact device set_device_exclusion_range(u16 devid, struct ivmd_header *m) enables exclusion range for ONE device. IOMMU does not translate the access to the exclusion range from the device. The device is specified by input argument 'devid'. But 'devid' is not passed to the actual set function set_dev_entry_bit(), instead 'm->devid' is passed. 'm->devid' does not specify the exact device which needs enable the exclusion range. 'm->devid' represents DeviceID field of IVMD, which has different meaning depends on IVMD type. The caller init_exclusion_range() sets 'devid' for ONE device. When m->type is equal to ACPI_IVMD_TYPE_ALL or ACPI_IVMD_TYPE_RANGE, 'm->devid' is not equal to 'devid'. This patch fixes 'm->devid' to 'devid'. Signed-off-by: Su Friendy <friendy.su@sony.com.cn> Signed-off-by: Tamori Masahiro <Masahiro.Tamori@jp.sony.com> Signed-off-by: Joerg Roedel <joro@8bytes.org> commit 4378d99295fae5fd42b0ed1a3eeef2a1684e0c17 Author: Jay Cornwall <jay.cornwall@amd.com> Date: Mon Apr 28 17:27:46 2014 -0500 iommu/amd: Take mmap_sem when calling get_user_pages get_user_pages requires caller to hold a read lock on mmap_sem. Signed-off-by: Jay Cornwall <jay.cornwall@amd.com> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Signed-off-by: Joerg Roedel <joro@8bytes.org> commit e028a9e6b8a637af09ac4114083280df4a7045f1 Author: Alex Williamson <alex.williamson@redhat.com> Date: Tue Apr 22 10:08:40 2014 -0600 iommu/amd: Fix interrupt remapping for aliased devices An apparent cut and paste error prevents the correct flags from being set on the alias device resulting in MSI on conventional PCI devices failing to work. This also produces error events from the IOMMU like: AMD-Vi: Event logged [INVALID_DEVICE_REQUEST device=00:14.4 address=0x000000fdf8000000 flags=0x0a00] Where 14.4 is a PCIe-to-PCI bridge with a device behind it trying to use MSI interrupts. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Joerg Roedel <joro@8bytes.org> commit 7189eb9b8f7962474956196c301676470542f253 Author: Mengdong Lin <mengdong.lin@intel.com> Date: Tue May 13 16:57:08 2014 +0800 ALSA: hda - mask buggy stream DMA0 for Broadwell display controller Broadwell display controller has 3 stream DMA engines. DMA0 cannot update DMA postion buffer properly while DMA1 and DMA2 can work well. So this patch masks the buggy DMA0 by keeping it as opened. This is a tentative workaround, so keep the change small as Takashi suggested. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit c1ff0b474c35905061b18e050be14e5a673a5965 Author: Alexandre Belloni <alexandre.belloni@free-electrons.com> Date: Mon May 12 18:32:55 2014 +0200 ARM: at91/dt: sam9260: correct external trigger value The external trigger value is 0b1101 which is 13 but 0xd. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> commit ec5fe98886b686f065ef29d8dee1b3ca66f5fd48 Author: Aaron Plattner <aplattner@nvidia.com> Date: Mon May 12 20:05:02 2014 -0700 ALSA: hda - Add new GPU codec ID to snd-hda Vendor ID 0x10de0071 is used by a yet-to-be-named GPU chip. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit c8965932a2e3b70197ec02c6741c29460279e2a8 Author: Susant Sahani <susant@redhat.com> Date: Sat May 10 00:11:32 2014 +0530 ip6_tunnel: fix potential NULL pointer dereference The function ip6_tnl_validate assumes that the rtnl attribute IFLA_IPTUN_PROTO always be filled . If this attribute is not filled by the userspace application kernel get crashed with NULL pointer dereference. This patch fixes the potential kernel crash when IFLA_IPTUN_PROTO is missing . Signed-off-by: Susant Sahani <susant@redhat.com> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> commit 14186fea0cb06bc43181ce239efe0df6f1af260a Merge: 77d9278 cf01f4e Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:33:09 2014 +0900 Merge tag 'locks-v3.15-4' of git://git.samba.org/jlayton/linux Pull file locking fix from Jeff Layton: "Fix for regression in handling of F_GETLK commands" * tag 'locks-v3.15-4' of git://git.samba.org/jlayton/linux: locks: only validate the lock vs. f_mode in F_SETLK codepaths commit 77d92784b46549e00f7b99794cd566045ded62ba Merge: 68cb363 3a18e13 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:28:52 2014 +0900 Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fixes from Guenter Roeck: "Fix resource leak as well as broken store function in emc1403 driver, and add support for additional chip revisions" * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (emc1403) Support full range of known chip revision numbers hwmon: (emc1403) Fix resource leak on module unload hwmon: (emc1403) fix inverted store_hyst() commit 68cb363a4ddc335fddf6e2ccb03e4a907ba7afbf Merge: efb2b1d 5a838c3 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:25:56 2014 +0900 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull a percpu fix from Tejun Heo: "Fix for a percpu allocator bug where it could try to kfree() a memory region allocated using vmalloc(). The bug has been there for years now and is unlikely to have ever triggered given the size of struct pcpu_chunk. It's still theoretically possible and the fix is simple and safe enough, so the patch is marked with -stable" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() commit efb2b1d5fdf4be71d63d29b881bf3d6f93f53694 Merge: 26a41cd 77668c8 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:24:07 2014 +0900 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue fixes from Tejun Heo: "Fixes for two bugs in workqueue. One is exiting with internal mutex held in a failure path of wq_update_unbound_numa(). The other is a subtle and unlikely use-after-possible-last-put in the rescuer logic. Both have been around for quite some time now and are unlikely to have triggered noticeably often. All patches are marked for -stable backport" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: fix a possible race condition between rescuer and pwq-release workqueue: make rescuer_thread() empty wq->maydays list before exiting workqueue: fix bugs in wq_update_unbound_numa() failure path commit 26a41cd1eeac299d0d7c505f8d38976a553c8fc4 Merge: 619b589 36c38fb Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:22:57 2014 +0900 Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup fixes from Tejun Heo: "During recent restructuring, device_cgroup unified config input check and enforcement logic; unfortunately, it turned out to share too much. Aristeu's patches fix the breakage and marked for -stable backport. The other two patches are fallouts from kernfs conversion. The blkcg change is temporary and will go away once kernfs internal locking gets simplified (patches pending)" * 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: blkcg: use trylock on blkcg_pol_mutex in blkcg_reset_stats() device_cgroup: check if exception removal is allowed device_cgroup: fix the comment format for recently added functions device_cgroup: rework device access check and exception checking cgroup: fix the retry path of cgroup_mount() commit 619b5891903936f3e493bf8cda18a8b6664fcdd7 Merge: 1972663 1f53ba6 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:21:01 2014 +0900 Merge tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen bug fixes from David Vrabel: - Fix arm64 crash on boot. - Quiet a noisy arm build warning (virt_to_pfn() redefined). * tag 'stable/for-linus-3.15-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: arm64: introduce virt_to_pfn xen/events/fifo: correctly align bitops arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h commit 19726630c69eb373d6d5d4f3934c2ed540914344 Merge: 2ddb599 a87c9ad Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:19:32 2014 +0900 Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs fix from Steve French: "Small cifs fix for metadata caching" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: cifs: fix actimeo=0 corner case when cifs_i->time == jiffies commit 2ddb5998d0538bc720288486af3af243af5bac0a Merge: 200d963 0f62fb2 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:11:48 2014 +0900 Merge tag 'md/3.15-fixes' of git://neil.brown.name/md Pull md bugfixes from Neil Brown: "Two bugfixes for md in 3.15 Both tagged for -stable" * tag 'md/3.15-fixes' of git://neil.brown.name/md: md: avoid possible spinning md thread at shutdown. md/raid10: call wait_barrier() for each request submitted. commit 200d963bf49c3399a5f044d53b5b4a8f133a776c Merge: 7e338c9 3b27dce Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Tue May 13 11:07:02 2014 +0900 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "Seems like we've had more fixes than usual this release cycle, but there's nothing in particular that we're doing differently. Perhaps it's just one of those cycles where more people are finding more regressions (and/or that the latency of when people actually test what's been in the tree for a while is catching up so that we get the bug reports now). The bigger changes here are are for TI and Marvell platforms: * Timing changes for GPMC (generic localbus) on OMAP causing some largeish DTS deltas. * Fixes to window allocation on PCI for mvebu touching drivers/ stuff. Patches have acks from subsystem maintainers where needed. * A fix from Thomas for a botched DT conversion in drivers/edma. There's a handful of other fixes for the above platforms as well as sunxi, at91, i.MX. I also included a MAINTAINER update for Broadcom, and a trivial move of a binding doc. I know you said you'd be offline this week, but I might as well post it for when you return. :)" I'm not quite offline yet. Doing a few pulls in the last hour before my internet goes away.. * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits) MAINTAINERS: update Broadcom ARM tree location and add an SoC family ARM: dts: i.MX53: Fix ipu register space size ARM: dts: kirkwood: fix mislocated pcie-controller nodes ARM: sunxi: Enable GMAC in sunxi_defconfig ARM: common: edma: Fix xbar mapping ARM: sun7i: Fix i2c4 base address ARM: Kirkwood: T5325: Fix double probe of Codec ARM: mvebu: enable the SATA interface on Armada 375 DB ARM: mvebu: specify I2C bus frequency on Armada 370 DB ARM: mvebu: use qsgmii phy-mode for Armada XP GP interfaces ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 Device Tree ARM: mvebu: fix NOR bus-width in Armada XP DB Device Tree ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree ARM: dts: AM3517: Disable absent IPs inherited from OMAP3 ARM: dts: OMAP2: Fix interrupts for OMAP2420 mailbox ARM: dts: OMAP5: Add mailbox dt node to fix boot warning ARM: OMAP5: Switch to THUMB mode if needed on secondary CPU ARM: dts: am437x-gp-evm: Do not reset gpio5 ARM: dts: omap3-igep0020: use SMSC9221 timings PCI: mvebu: split PCIe BARs into multiple MBus windows when needed ... commit 8e33f91a0b84ae1964bef77cb92f5d41d97530c8 Author: Ben Dooks <ben.dooks@codethink.co.uk> Date: Tue Apr 15 17:06:34 2014 +0100 clk: shmobile: clk-mstp: change to using clock-indices With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices". Since this will break booting with older device trees, we add a simple auto-detection of which properties are present. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Mike Turquette <mturquette@linaro.org> commit 8471ac1b3fc73aeabdabf9ff3c0a4df71d190448 Author: Ralf Baechle <ralf@linux-mips.org> Date: Wed Apr 16 00:31:51 2014 +0200 MIPS: inst.h: Rename BITFIELD_FIELD to __BITFIELD_FIELD. <uapi/asm/inst.h> is exported to userland so the macro name BITFIELD_FIELD pollutes the namespace. Prefix the name with __ fixes this. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit cdbb03b00451513c35d10812d2d55d7951bae269 Author: Ralf Baechle <ralf@linux-mips.org> Date: Fri Apr 11 18:28:00 2014 +0200 MIPS: Remove file missed when removing rm9k support a while ago. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 8e8acb32960f42c81b1d50deac56a2c07bb6a18a Author: Aaro Koskinen <aaro.koskinen@iki.fi> Date: Thu Apr 3 22:24:01 2014 +0300 MIPS/loongson2_cpufreq: Fix CPU clock rate setting Loongson2 has been using (incorrectly) kHz for cpu_clk rate. This has been unnoticed, as loongson2_cpufreq was the only place where the rate was set/get. After commit 652ed95d5fa6074b3c4ea245deb0691f1acb6656 (cpufreq: introduce cpufreq_generic_get() routine) things however broke, and now loops_per_jiffy adjustments are incorrect (1000 times too long). The patch fixes this by changing cpu_clk rate to Hz. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: stable@vger.kernel.org Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: cpufreq@vger.kernel.org Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Patchwork: https://patchwork.linux-mips.org/patch/6678/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 3deff253315effd23fdde86e4d818d8cf3dcc5dc Author: Paul Bolle <pebolle@tiscali.nl> Date: Thu Apr 3 11:10:20 2014 +0200 MIPS: Loongson: No need to select GENERIC_HARDIRQS_NO__DO_IRQ Commit 0e476d91244e ("MIPS: Loongson: Add Loongson-3 Kconfig options") added "select GENERIC_HARDIRQS_NO__DO_IRQ". But the Kconfig symbol GENERIC_HARDIRQS_NO__DO_IRQ was already removed in v2.6.38, so that select is a nop. Drop it. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/6677/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 44ba138f55577431cd119840320e31e218d7dd5b Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Fri Apr 4 03:32:54 2014 +0100 MIPS: csum_partial.S CPU_DADDI_WORKAROUNDS bug fix This change reverts most of commit 60724ca59eda766a30be57aec6b49bc3e2bead91 [MIPS: IP checksums: Remove unncessary .set pseudos] that introduced warnings with the CPU_DADDI_WORKAROUNDS option set: arch/mips/lib/csum_partial.S: Assembler messages: arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:467: Warning: used $3 with ".set at=$3" [...] arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:577: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3" arch/mips/lib/csum_partial.S:601: Warning: used $3 with ".set at=$3" [and so on, and so on...] The warnings are benign and good code is produced regardless because no macros that'd use the assembler's temporary register are involved, however the `.set noat' directives removed by the commit referred are crucial to guarantee this is still going to be the case after any changes in the future. Therefore they need to be brought back to place which this change does. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6686/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 465ca5d6a06bfab861b65bb6b54dca170564326b Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Fri Apr 4 03:32:29 2014 +0100 MIPS: __strncpy_from_user_asm CPU_DADDI_WORKAROUNDS bug fix This corrects assembler warnings and broken code generated in __strncpy_from_user_asm: arch/mips/lib/strncpy_user.S: Assembler messages: arch/mips/lib/strncpy_user.S:52: Warning: Macro instruction expanded into multiple instructions in a branch delay slot with the CPU_DADDI_WORKAROUNDS option set. The function schedules delay slots manually where there is really no need to as GAS is happy to do it all itself, so undo it all and remove `.set noreorder'. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6685/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 2db4bc3418c43f1e810b304c48f8ddff2535075b Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Tue Apr 1 00:57:28 2014 +0100 MIPS: __delay CPU_DADDI_WORKAROUNDS bug fix With CPU_DADDI_WORKAROUNDS enabled __delay assembles with a macro in a branch delay slot: {standard input}: Assembler messages: {standard input}:18: Warning: Macro instruction expanded into multiple instructions in a branch delay slot and broken code results: 0000000000000000 <__delay>: 0: 1480ffff bnez a0,0 <__delay> 4: 24010001 li at,1 8: 0081202f dsubu a0,a0,at c: 03e00008 jr ra 10: 00000000 nop 14: 00000000 nop Consequently the function loops indefinitely, showing up prominently as a hang in the delay loop calibration at bootstrap. This change corrects the problem by forcing the immediate 1 into a register while keeping code produced identical where CPU_DADDI_WORKAROUNDS is disabled. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6669/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit 824122a319d827d42aeb4646a3bf639937fdb2ce Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Tue Apr 1 00:14:41 2014 +0100 MIPS: DEC/SNI: O32 wrapper stack switching fixes Commit 231a35d37293ab88d325a9cb94e5474c156282c0 [[MIPS] RM: Collected changes] broke DECstation support by introducing an incompatible copy of arch/mips/dec/prom/call_o32.S in arch/mips/fw/lib/, built unconditionally. The copy happens to land earlier of the two among the modules used in the link and is therefore chosen for the DECstation rather than the intended original. As a result random kernel data is corrupted because a pointer to the "%s" formatted output template is used as a temporary stack pointer rather than being passed down to prom_printf. This also explains why prom_printf still works, up to a point -- the next argument is the actual string to output so it works just fine as the output template until enough kernel data has been corrupted to cause a crash. This change adjusts the modified wrapper in arch/mips/fw/lib/call_o32.S to let callers request no stack switching by passing a null temporary stack pointer in $a1, reworks the DECstation callers to work with the updated interface and removes the old copy from arch/mips/dec/prom/call_o32.S. A few minor readability adjustments are included as well, most importantly O32_SZREG is now used throughout where applicable rather than hardcoded multiplies of 4 and $fp is used to access the argument save area as a more usual register to operate the stack with rather than $s0. Finally an update is made to the temporary stack space used by the SNI platform to guarantee 8-byte alignment as per o32 requirements. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6668/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit af37530bbe9cae2a17044525b9f898ff60012157 Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Mon Mar 31 23:51:30 2014 +0100 MIPS: DEC: Bus error handler <asm/cpu-type.h> fixes Commit 69f24d1784b631b81a54eb57c49bf46536dd2382 [MIPS: Optimize current_cpu_type() for better code.] missed an update for two DECstation bus error support files that now do not build, this is a fix. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6667/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org> commit c406339cf15e53d70c095d590f437ee6ff24595d Author: Ralf Baechle <ralf@linux-mips.org> Date: Thu Apr 3 13:29:06 2014 +0200 MAINTAINERS: TURBOchannel: Update entry Add mailing list and patchwork URL so patches now have a defined path. Also add myself as a TURBOchannel maintainer. However Maciej is going to the the resident TURBOchannel guru. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: "Maciej W. Rozycki" <macro@linux-mips.org> commit 5508d456e9992bb81f21d4bd3b1f60f3eb04eb40 Author: Ralf Baechle <ralf@linux-mips.org> Date: Thu Apr 3 13:14:05 2014 +0200 Revert "MIPS: MT: proc: Add support for printing VPE and TC ids" Reverts commit 795038a6910937fa167d47f6f6183db0eb8fb706 because d6d3c9afaab47418ab2d7f874fb8aeac1f067104 provides the same functionality in a more generic way. Both patches applied however means that the VPE and TC IDs get printed twice currently. commit 4f8210f66e5a200c63770ea9445ff913a28a3be2 Author: Nicolin Chen <Guangyu.Chen@freescale.com> Date: Tue May 6 16:56:02 2014 +0800 ASoC: fsl_esai: Set PCRC and PRRC registers at the end of hw_params() According to Reference Manual -- ESAI Initialization chapter, as the standard procedure of ESAI personal reset, the PCRC and PRRC registers should be remained in its reset value and then configured after T/RCCR and T/RCR configurations's done but before TE/RE's enabling. So this patch moves PCRC and PRRC settings to the end of hw_params(). Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 57ebbcafab0ce8cce4493c6a243ecdd7066e6ef1 Author: Nicolin Chen <Guangyu.Chen@freescale.com> Date: Tue May 6 16:56:00 2014 +0800 ASoC: fsl_esai: Only bypass sck_div for EXTAL source ESAI can only output EXTAL clock source directly. But for FSYS clock source, ESAI can not output it without getting through PSR PM dividers. So this patch adds an extra check in the code. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 89e47f62cf3eea7ad5e3d7d72ea846be37d6e352 Author: Nicolin Chen <Guangyu.Chen@freescale.com> Date: Tue May 6 16:55:59 2014 +0800 ASoC: fsl_esai: Fix incorrect condition within ratio range check for FP The range here from 1 to 16 is confined to FP divider only while the sck_div indicates if the calculation contains PSR and PM dividers. So for the case using PSR and PM since the sck_div is true, the range of ratio would simply become bigger than 16. So this patch fixes the condition here and adds one line comments to make the purpose here clear. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit ce85a4d726ecd286f933d4eedf01c5acb4f47a38 Author: Lars-Peter Clausen <lars@metafoo.de> Date: Tue May 6 10:32:15 2014 +0200 ASoC: dapm: Fix SUSPEND -> OFF bias sequence Currently when the DAPM context bias level is SUSPEND and the target bias level is OFF dapm_pre_sequence_async() will first transition to PREPARE and dapm_post_sequence_async() will then transition back from PREPARE to STANDBY and then to OFF. This patch makes sure that dapm_pre_sequence_async() only transitions to PREPARE when either going to ON or away from ON. This avoids the extra unnecessary transitions. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org> commit 111e0a9dc71ed75baa5e739289b9bdb06fda13be Author: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Thu May 8 17:30:31 2014 +0300 spi/pxa2xx: Prevent DMA from transferring too many bytes In case we are doing DMA transfer and the size of the buffer is not multiple of 4 bytes the driver truncates that to 4-byte boundary and tries to handle remaining bytes using PIO. Or that is what it tried to do. What actually happens is that it calls ALIGN() to the buffer size which aligns it to the next 4-byte boundary (doesn't truncate). Doing this results 1-3 bytes extra to be transferred. Furthermore we handle remaining bytes using PIO which results one extra byte to be transferred. In worst case the driver transfers 4 extra bytes. While investigating this it turned out that the DMA hardware doesn't even have such limitation so we can solve this by dropping the code that tries to handle unaligned bytes. Reported-by: Chiau Ee Chew <chiau.ee.chew@intel.com> Reported-by: Hock Leong Kweh <hock.leong.kweh@intel.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit ca5106ae3da0179dcee3ae21f3ea94f62e9fdb0c Author: Lars-Peter Clausen <lars@metafoo.de> Date: Wed May 7 16:20:24 2014 +0200 ASoC: dapm: Skip CODEC<->CODEC links in connect_dai_link_widgets() For CODEC to CODEC DAI links the paths are created in snd_soc_dapm_new_pcm(). Also for CODEC to CODEC links the widgets are connected cross-over via a DAI link widget, meaning that the capture widget of one CODEC will be connected to the playback widget of the other and vice versa. Whereas snd_soc_dapm_connect_dai_link_widgets() directly connects the playback widget of the CPU DAI to the playback widget of the CODEC DAI and the capture widget of the CPU DAI to the capture widget of the CODEC DAI. So not skipping CODEC<->CODEC links in snd_soc_dapm_connect_dai_link_widgets() will create incorrect connections between the two CODECs which will cause DAPM to detect active paths where there are none and unnecessarily power up widgets. Fixes: b893ea5 ("ASoC: sapm: Automatically connect DAI link widgets in DAPM graph.") Cc: <stable@vger.kernel.org> (for 3.14+) Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org> commit 868a6ca84ee7e547ae01a5e04e232e4a392c50b8 Author: Nicolin Chen <Guangyu.Chen@freescale.com> Date: Mon May 12 20:12:05 2014 +0800 ASoC: pcm: Fix incorrect condition check for case SNDRV_PCM_TRIGGER_SUSPEND The regular state before we execute SNDRV_PCM_TRIGGER_SUSPEND should be SNDRV_PCM_TRIGGER_START, not SNDRV_PCM_TRIGGER_STOP. Thus fix it. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit ba77341cfd180022e60f08f55025ad59a8387538 Author: Arnd Bergmann <arnd@arndb.de> Date: Mon May 12 11:01:48 2014 -0700 Input: atmel-wm97xx - only build for AVR32 Building this driver on ARM/at91 always gives us this error message: drivers/input/touchscreen/atmel-wm97xx.c:63:2: error: #error Unknown CPU, this driver only supports AT32AP700X CPUs. Clearly this configuration is not meant to work, so let's just prevent it in Kconfig. If we ever want to use it on another platform, we should also pass proper resources for GPIO, IRQ and memory, which are hardcoded to AT32AP700X at the moment. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 0a4ac2ea2714b5e43293f752737b8c2731a26679 Author: Arnd Bergmann <arnd@arndb.de> Date: Mon May 12 11:00:15 2014 -0700 Input: fix ps2/serio module dependency The ps2 mouse and keyboard drivers use the "serio" framework that they correctly select in Kconfig, and that in turn depends on the i8042 driver, which is also allowed to be disabled for architectures that don't have an i8042. However, Kconfig also allows i8042 to be built as a module while the serio framework is built-in, which causes this link error: drivers/built-in.o: In function `ps2_begin_command': :(.text+0x26b6cc): undefined reference to `i8042_check_port_owner' :(.text+0x26b6d4): undefined reference to `i8042_lock_chip' drivers/built-in.o: In function `ps2_end_command': :(.text+0x26b734): undefined reference to `i8042_check_port_owner' :(.text+0x26b73c): undefined reference to `i8042_unlock_chip' On x86, a specific 'select SERIO_I8042' takes care of it, but not on the other architecture that potentially have a i8042. This patch changes the Kconfig logic to ensure that whenever there is an i8042, it does get used for the serio driver, avoiding the link error above. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 1c3639005f48492e5f2d965779efd814e80f8b15 Author: Nikolay Aleksandrov <nikolay@redhat.com> Date: Fri May 9 11:11:39 2014 +0200 sfc: fix calling of free_irq with already free vector If the sfc driver is in legacy interrupt mode (either explicitly by using interrupt_mode module param or by falling back to it) it will hit a warning at kernel/irq/manage.c because it will try to free an irq which wasn't allocated by it in the first place because the MSI(X) irqs are zero and it'll try to free them unconditionally. So fix it by checking if we're in legacy mode and freeing the appropriate irqs. CC: Zenghui Shi <zshi@redhat.com> CC: Ben Hutchings <ben@decadent.org.uk> CC: <linux-net-drivers@solarflare.com> CC: Shradha Shah <sshah@solarflare.com> CC: David S. Miller <davem@davemloft.net> Fixes: 1899c111a535 ("sfc: Fix IRQ cleanup in case of a probe failure") Reported-by: Zenghui Shi <zshi@redhat.com> Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com> Acked-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit bbeb0eadcf9fe74fb2b9b1a6fea82cd538b1e556 Author: Peter Christensen <pch@ordbogen.com> Date: Thu May 8 11:15:37 2014 +0200 macvlan: Don't propagate IFF_ALLMULTI changes on down interfaces. Clearing the IFF_ALLMULTI flag on a down interface could cause an allmulti overflow on the underlying interface. Attempting the set IFF_ALLMULTI on the underlying interface would cause an error and the log message: "allmulti touches root, set allmulti failed." Signed-off-by: Peter Christensen <pch@ordbogen.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 03e5da151b8e390f2e28c4edf8fbbb6ca6d7a7ed Author: Daniel Kim <dekim@broadcom.com> Date: Fri May 9 12:37:05 2014 +0200 brcmfmac: Fix iovar 'bw_cap' set command failure Fix iovar 'bw_cap' set command failure introduced by commit ff3b0fba6f25555ef59c55d138a467d0f81d82d7 Author: Arend van Spriel <arend@broadcom.com> Date: Sat Mar 15 12:00:57 2014 +0100 brcmfmac: fallback to mimo_bw_cap for older firmwares This resulted in disabling 20MHz operation in the firmware. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Daniel Kim <dekim@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> commit c5e64d6b70da16979652053e04f794f6d7863282 Merge: d2e5cb4 f9ac71b Author: John W. Linville <linville@tuxdriver.com> Date: Mon May 12 14:12:19 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit 3a18e1398fc2dc9c32bbdc50664da3a77959a8d1 Author: Josef Gajdusek <atx@atx.name> Date: Mon May 12 13:48:26 2014 +0200 hwmon: (emc1403) Support full range of known chip revision numbers The datasheet for EMC1413/EMC1414, which is fully compatible to EMC1403/1404 and uses the same chip identification, references revision numbers 0x01, 0x03, and 0x04. Accept the full range of revision numbers from 0x01 to 0x04 to make sure none are missed. Signed-off-by: Josef Gajdusek <atx@atx.name> Cc: stable@vger.kernel.org [Guenter Roeck: Updated headline and description] Signed-off-by: Guenter Roeck <linux@roeck-us.net> commit 8759f9046550f463098148bf577ccd32cdb895e3 Author: Jean Delvare <jdelvare@suse.de> Date: Mon May 12 11:44:51 2014 +0200 hwmon: (emc1403) Fix resource leak on module unload Commit 454aee17f claims to convert driver emc1403 to use devm_hwmon_device_register_with_groups, however the patch itself makes use of hwmon_device_register_with_groups instead. As the driver remove function was still dropped, the hwmon device is no longer unregistered on driver removal, leading to a resource leak. Signed-off-by: Jean Delvare <jdelvare@suse.de> Fixes: 454aee17f hwmon: (emc1403) Convert to use devm_hwmon_device_register_with_groups Cc: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org [3.13+] Signed-off-by: Guenter Roeck <linux@roeck-us.net> commit 17c048fc4bd95efea208a1920f169547d8588f1f Author: Josef Gajdusek <atx@atx.name> Date: Sun May 11 14:40:44 2014 +0200 hwmon: (emc1403) fix inverted store_hyst() Attempts to set the hysteresis value to a temperature below the target limit fails with "write error: Numerical result out of range" due to an inverted comparison. Signed-off-by: Josef Gajdusek <atx@atx.name> Reviewed-by: Jean Delvare <jdelvare@suse.de> Cc: stable@vger.kernel.org [Guenter Roeck: Updated headline and description] Signed-off-by: Guenter Roeck <linux@roeck-us.net> commit 601c942176d8ad8334118bddb747e3720bed24f8 Author: Sudeep Holla <sudeep.holla@arm.com> Date: Fri May 9 17:37:44 2014 +0100 arm64: use cpu_online_mask when using forced irq_set_affinity Commit 01f8fa4f01d8("genirq: Allow forcing cpu affinity of interrupts") enabled the forced irq_set_affinity which previously refused to route an interrupt to an offline cpu. Commit ffde1de64012("irqchip: Gic: Support forced affinity setting") implements this force logic and disables the cpu online check for GIC interrupt controller. When __cpu_disable calls migrate_irqs, it disables the current cpu in cpu_online_mask and uses forced irq_set_affinity to migrate the IRQs away from the cpu but passes affinity mask with the cpu being offlined also included in it. When calling irq_set_affinity with force == true in a cpu hotplug path, the caller must ensure that the cpu being offlined is not present in the affinity mask or it may be selected as the target CPU, leading to the interrupt not being migrated. This patch uses cpu_online_mask when using forced irq_set_affinity so that the IRQs are properly migrated away. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> commit 7e9bc10db275b22a9db0f976b33b5aeed288da73 Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Sun May 11 17:14:49 2014 +0200 netfilter: nf_tables: fix missing return trace at the end of non-base chain Display "return" for implicit rule at the end of a non-base chain, instead of when popping chain from the stack. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit f7e7e39b21c285ad73a62fac0736191b8d830704 Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Sat May 10 18:46:02 2014 +0200 netfilter: nf_tables: fix bogus rulenum after goto action After returning from the chain that we just went to with no matchings, we get a bogus rule number in the trace. To fix this, we would need to iterate over the list of remaining rules in the chain to update the rule number counter. Patrick suggested to set this to the maximum value since the default base chain policy is the very last action when the processing the base chain is over. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 7b9d5ef932297413adcbd8be98fe612b9527a312 Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Sat May 10 18:42:57 2014 +0200 netfilter: nf_tables: fix tracing of the goto action Add missing code to trace goto actions. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 5467a512216753d54f757314c73dbc60f659f9e6 Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Sat May 10 18:33:11 2014 +0200 netfilter: nf_tables: fix goto action This patch fixes a crash when trying to access the counters and the default chain policy from the non-base chain that we have reached via the goto chain. Fix this by falling back on the original base chain after returning from the custom chain. While fixing this, kill the inline function to account chain statistics to improve source code readability. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 1f53ba6e81749a420226e5502c49ab83ba85c81d Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Date: Thu May 8 15:48:13 2014 +0000 arm64: introduce virt_to_pfn virt_to_pfn has been defined in arch/arm/include/asm/memory.h by commit e26a9e0 "ARM: Better virt_to_page() handling" and Xen has come to rely on it. Introduce virt_to_pfn on arm64 too. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> commit 84ea7fe37908254c3bd90910921f6e1045c1747a Author: Viresh Kumar <viresh.kumar@linaro.org> Date: Mon May 12 13:42:29 2014 +0530 hrtimer: Set expiry time before switch_hrtimer_base() switch_hrtimer_base() calls hrtimer_check_target() which ensures that we do not migrate a timer to a remote cpu if the timer expires before the current programmed expiry time on that remote cpu. But __hrtimer_start_range_ns() calls switch_hrtimer_base() before the new expiry time is set. So the sanity check in hrtimer_check_target() is operating on stale or even uninitialized data. Update expiry time before calling switch_hrtimer_base(). [ tglx: Rewrote changelog once again ] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Cc: linaro-kernel@lists.linaro.org Cc: linaro-networking@linaro.org Cc: fweisbec@gmail.com Cc: arvind.chauhan@arm.com Link: http://lkml.kernel.org/r/81999e148745fc51bbcd0615823fbab9b2e87e23.1399882253.git.viresh.kumar@linaro.org Cc: stable@vger.kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit 6d004d6cc73920299adf4cfe25010b348fc94395 Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Mon May 12 09:09:26 2014 +0200 vti: Use the tunnel mark for lookup in the error handlers. We need to use the mark we get from the tunnels o_key to lookup the right vti state in the error handlers. This patch ensures that. Fixes: df3893c1 ("vti: Update the ipv4 side to use it's own receive hook.") Fixes: fa9ad96d ("vti6: Update the ipv6 side to use its own receive hook.") Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> commit 3c90c55dcde745bed81f6447f24ba96bda43d984 Author: Geert Uytterhoeven <geert+renesas@glider.be> Date: Tue May 6 23:26:19 2014 +0200 drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI If the kernel is built to support multi-ARM configuration with shmobile support built in, then drivers/sh is not built. This contains the PM runtime code in drivers/sh/pm_runtime.c, which implicitly enables the module clocks for all devices, and thus is quite essential. Without this, the state of clocks depends on implicit reset state, or on the bootloader. If ARCH_SHMOBILE_MULTI then build the drivers/sh directory, but ensure that bits that may conflict (drivers/sh/clk if the common clock framework is enabled) or are not used (drivers/sh/intc), are not built. Also, only enable the PM runtime code when actually running on a shmobile SoCs that needs it. ARCH_SHMOBILE_MULTI was added a while ago by commit efacfce5f8a523457e9419a25d52fe39db00b26a ("ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI"), but drivers/sh was compiled for both ARCH_SHMOBILE_LEGACY and ARCH_SHMOBILE_MULTI until commit bf98c1eac1d4a6bcf00532e4fa41d8126cd6c187 ("ARM: Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY"). Inspired by a patch from Ben Dooks <ben.dooks@codethink.co.uk>. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au> commit fd71143645a9958e437c8cf394be2c44a6acb23a Author: Mathias Krause <minipli@googlemail.com> Date: Fri May 9 23:43:40 2014 +0200 vti6: Don't unregister pernet ops twice on init errors If we fail to register one of the xfrm protocol handlers we will unregister the pernet ops twice on the error exit path. This will probably lead to a kernel panic as the double deregistration leads to a double kfree(). Fix this by removing one of the calls to do it only once. Fixes: fa9ad96d49 ("vti6: Update the ipv6 side to use its own...") Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> commit 8050936caf125fbe54111ba5e696b68a360556ba Author: Anton Blanchard <anton@samba.org> Date: Fri May 9 17:47:12 2014 +1000 powerpc: irq work racing with timer interrupt can result in timer interrupt hang I am seeing an issue where a CPU running perf eventually hangs. Traces show timer interrupts happening every 4 seconds even when a userspace task is running on the CPU. /proc/timer_list also shows pending hrtimers have not run in over an hour, including the scheduler. Looking closer, decrementers_next_tb is getting set to 0xffffffffffffffff, and at that point we will never take a timer interrupt again. In __timer_interrupt() we set decrementers_next_tb to 0xffffffffffffffff and rely on ->event_handler to update it: *next_tb = ~(u64)0; if (evt->event_handler) evt->event_handler(evt); In this case ->event_handler is hrtimer_interrupt. This will eventually call back through the clockevents code with the next event to be programmed: static int decrementer_set_next_event(unsigned long evt, struct clock_event_device *dev) { /* Don't adjust the decrementer if some irq work is pending */ if (test_irq_work_pending()) return 0; __get_cpu_var(decrementers_next_tb) = get_tb_or_rtc() + evt; If irq work came in between these two points, we will return before updating decrementers_next_tb and we never process a timer interrupt again. This looks to have been introduced by 0215f7d8c53f (powerpc: Fix races with irq_work). Fix it by removing the early exit and relying on code later on in the function to force an early decrementer: /* We may have raced with new irq work */ if (test_irq_work_pending()) set_dec(1); Signed-off-by: Anton Blanchard <anton@samba.org> Cc: stable@vger.kernel.org # 3.14+ Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> commit 1a466ae96e9f749d02a73315a3e66375e61a61dd Author: Randy Dunlap <rdunlap@infradead.org> Date: Thu May 8 14:54:42 2014 -0700 ptp: fix kconfig dependency warnings Fix kconfig warnings: PTP_1588_CLOCK selects NET_PTP_CLASSIFY, which depends on NET, so PTP_1588_CLOCK should also depend on NET. PTP_1588_CLOCK_PCH selects PTP_1588_CLOCK so the former should depend on NET. warning: (IXP4XX_ETH && PTP_1588_CLOCK) selects NET_PTP_CLASSIFY which has unmet direct dependencies (NET) warning: (SFC && TILE_NET && BFIN_MAC_USE_HWSTAMP && TIGON3 && FEC && E1000E && IGB && IXGBE && I40E && MLX4_EN && SXGBE_ETH && STMMAC_ETH && TI_CPTS && PTP_1588_CLOCK_GIANFAR && PTP_1588_CLOCK_IXP46X && DP83640_PHY && PTP_1588_CLOCK_PCH) selects PTP_1588_CLOCK which has unmet direct dependencies (NET) [This warning is caused by the new 'depends on NET' in PTP_1588_CLOCK.] Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 7a5091d58419b4e5222abce58a40c072786ea1d6 Author: H. Peter Anvin <hpa@linux.intel.com> Date: Sun May 11 20:25:20 2014 -0700 x86, rdrand: When nordrand is specified, disable RDSEED as well One can logically expect that when the user has specified "nordrand", the user doesn't want any use of the CPU random number generator, neither RDRAND nor RDSEED, so disable both. Reported-by: Stephan Mueller <smueller@chronox.de> Cc: Theodore Ts'o <tytso@mit.edu> Link: http://lkml.kernel.org/r/21542339.0lFnPSyGRS@myon.chronox.de Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> commit 372cf1244d7c271806b83b32b09a1c8b1b31b353 Author: Gavin Shan <gwshan@linux.vnet.ibm.com> Date: Thu Apr 24 18:00:22 2014 +1000 powerpc/powernv: Reset root port in firmware Resetting root port has more stuff to do than that for PCIe switch ports and we should have resetting root port done in firmware instead of the kernel itself. The problem was introduced by commit 5b2e198e ("powerpc/powernv: Rework EEH reset"). Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> commit 21855ff5bcbdd075e1c99772827a84912ab083dd Author: Dirk Brandewie <dirk.j.brandewie@intel.com> Date: Thu May 8 12:57:23 2014 -0700 intel_pstate: Set turbo VID for BayTrail A documentation update exposed that there is a separate set of VID values that must be used in the turbo/boost P state range. Add enumerating and setting the correct VID for P states in the turbo range. Cc: v3.13+ <stable@vger.kernel.org> # v3.13+ Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit f759546498d820670934c901a2fdf1ce948d2e5c Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Mon May 12 01:13:28 2014 +0200 ACPI / TPM: Fix resume regression on Chromebooks Chromebooks (at least Acer C720 and Pixel) implement an ACPI object for TPM, but don't implement the _DSM method to support PPI. As a result, the TPM driver fails to load on those machines after commit 1569a4c4ceba (ACPI / TPM: detect PPI features by checking availability of _DSM functions) which causes them to fail to resume from system suspend, becuase they require the TPM hardware to be put into the right state during resume and the TPM driver is necessary for that. Fix the problem by making tpm_add_ppi() return 0 when tpm_ppi_handle is still NULL after walking the ACPI namespace in search for the PPI _DSM, which allows the TPM driver to load and operate the hardware (during system resume in particular), but avoid creating the PPI sysfs group in that case. This change is based on a prototype patch from Jiang Liu. Fixes: 1569a4c4ceba (ACPI / TPM: detect PPI features by checking availability of _DSM functions) References: https://bugzilla.kernel.org/show_bug.cgi?id=74021 Reported-by: James Duley <jagduley@gmail.com> Reported-by: Phillip Dixon <phil@dixon.gen.nz> Tested-by: Brandon Casey <drafnel@gmail.com> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 1c4abec0baf25ffb92a28cc99d4231feeaa4d3f3 Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Thu May 8 09:48:10 2014 +0300 iwlwifi: mvm: fix setting channel in monitor mode There was a deadlock in monitor mode when we were setting the channel if the channel was not 1. ====================================================== [ INFO: possible circular locking dependency detected ] 3.14.3 #4 Not tainted ------------------------------------------------------- iw/3323 is trying to acquire lock: (&local->chanctx_mtx){+.+.+.}, at: [<ffffffffa062e2f2>] ieee80211_vif_release_channel+0x42/0xb0 [mac80211] but task is already holding lock: (&local->iflist_mtx){+.+...}, at: [<ffffffffa0609e0a>] ieee80211_set_monitor_channel+0x5a/0x1b0 [mac80211] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&local->iflist_mtx){+.+...}: [<ffffffff810d95bb>] __lock_acquire+0xb3b/0x13b0 [<ffffffff810d9ee0>] lock_acquire+0xb0/0x1f0 [<ffffffff817eb9c8>] mutex_lock_nested+0x78/0x4f0 [<ffffffffa06225cf>] ieee80211_iterate_active_interfaces+0x2f/0x60 [mac80211] [<ffffffffa0518189>] iwl_mvm_recalc_multicast+0x49/0xa0 [iwlmvm] [<ffffffffa051822e>] iwl_mvm_configure_filter+0x4e/0x70 [iwlmvm] [<ffffffffa05e6d43>] ieee80211_configure_filter+0x153/0x5f0 [mac80211] [<ffffffffa05e71f5>] ieee80211_reconfig_filter+0x15/0x20 [mac80211] [snip] -> #1 (&mvm->mutex){+.+.+.}: [<ffffffff810d95bb>] __lock_acquire+0xb3b/0x13b0 [<ffffffff810d9ee0>] lock_acquire+0xb0/0x1f0 [<ffffffff817eb9c8>] mutex_lock_nested+0x78/0x4f0 [<ffffffffa0517246>] iwl_mvm_add_chanctx+0x56/0xe0 [iwlmvm] [<ffffffffa062ca1e>] ieee80211_new_chanctx+0x13e/0x410 [mac80211] [<ffffffffa062d953>] ieee80211_vif_use_channel+0x1c3/0x5a0 [mac80211] [<ffffffffa06035ab>] ieee80211_add_virtual_monitor+0x1ab/0x6b0 [mac80211] [<ffffffffa06052ea>] ieee80211_do_open+0xe6a/0x15a0 [mac80211] [<ffffffffa0605a79>] ieee80211_open+0x59/0x60 [mac80211] [snip] -> #0 (&local->chanctx_mtx){+.+.+.}: [<ffffffff810d6cb7>] check_prevs_add+0x977/0x980 [<ffffffff810d95bb>] __lock_acquire+0xb3b/0x13b0 [<ffffffff810d9ee0>] lock_acquire+0xb0/0x1f0 [<ffffffff817eb9c8>] mutex_lock_nested+0x78/0x4f0 [<ffffffffa062e2f2>] ieee80211_vif_release_channel+0x42/0xb0 [mac80211] [<ffffffffa0609ec3>] ieee80211_set_monitor_channel+0x113/0x1b0 [mac80211] [<ffffffffa058fb37>] cfg80211_set_monitor_channel+0x77/0x2b0 [cfg80211] [<ffffffffa056e0b2>] __nl80211_set_channel+0x122/0x140 [cfg80211] [<ffffffffa0581374>] nl80211_set_wiphy+0x284/0xaf0 [cfg80211] [snip] other info that might help us debug this: Chain exists of: &local->chanctx_mtx --> &mvm->mutex --> &local->iflist_mtx Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&local->iflist_mtx); lock(&mvm->mutex); lock(&local->iflist_mtx); lock(&local->chanctx_mtx); *** DEADLOCK *** This deadlock actually occurs: INFO: task iw:3323 blocked for more than 120 seconds. Not tainted 3.14.3 #4 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. iw D ffff8800c8afcd80 4192 3323 3322 0x00000000 ffff880078fdb7e0 0000000000000046 ffff8800c8afcd80 ffff880078fdbfd8 00000000001d5540 00000000001d5540 ffff8801141b0000 ffff8800c8afcd80 ffff880078ff9e38 ffff880078ff9e38 ffff880078ff9e40 0000000000000246 Call Trace: [<ffffffff817ea841>] schedule_preempt_disabled+0x31/0x80 [<ffffffff817ebaed>] mutex_lock_nested+0x19d/0x4f0 [<ffffffffa06225cf>] ? ieee80211_iterate_active_interfaces+0x2f/0x60 [mac80211] [<ffffffffa06225cf>] ? ieee80211_iterate_active_interfaces+0x2f/0x60 [mac80211] [<ffffffffa052a680>] ? iwl_mvm_power_mac_update_mode+0xc0/0xc0 [iwlmvm] [<ffffffffa06225cf>] ieee80211_iterate_active_interfaces+0x2f/0x60 [mac80211] [<ffffffffa0529357>] _iwl_mvm_power_update_binding+0x27/0x80 [iwlmvm] [<ffffffffa0516eb1>] iwl_mvm_unassign_vif_chanctx+0x81/0xc0 [iwlmvm] [<ffffffffa062d3ff>] __ieee80211_vif_release_channel+0xdf/0x470 [mac80211] [<ffffffffa062e2fa>] ieee80211_vif_release_channel+0x4a/0xb0 [mac80211] [<ffffffffa0609ec3>] ieee80211_set_monitor_channel+0x113/0x1b0 [mac80211] [<ffffffffa058fb37>] cfg80211_set_monitor_channel+0x77/0x2b0 [cfg80211] [<ffffffffa056e0b2>] __nl80211_set_channel+0x122/0x140 [cfg80211] [<ffffffffa0581374>] nl80211_set_wiphy+0x284/0xaf0 [cfg80211] This fixes https://bugzilla.kernel.org/show_bug.cgi?id=75541 Cc: <stable@vger.kernel.org> [3.13+] Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 7e338c9991ecee9c2ac7a4cee2c2e11ecb563d02 Merge: 9cf22e8 aa07c71 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 11 18:06:13 2014 +0900 Merge branch 'for-3.15' of git://linux-nfs.org/~bfields/linux Pull nfsd fixes from Bruce Fields. * 'for-3.15' of git://linux-nfs.org/~bfields/linux: NFSD: Call ->set_acl with a NULL ACL structure if no entries NFSd: call rpc_destroy_wait_queue() from free_client() NFSd: Move default initialisers from create_client() to alloc_client() commit 9cf22e80df77b3f8459559e156f6322657e17090 Merge: d6d211d dd18dbc Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun May 11 17:56:53 2014 +0900 Merge branch 'akpm' (incoming from Andrew) Merge misc fixes from Andrew Morton: "4 fixes" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: mm, thp: close race between mremap() and split_huge_page() mm: postpone the disabling of kmemleak early logging MAINTAINERS: update maintainership of LTP drivers/rtc/rtc-hym8563.c: set uie_unsupported commit dd18dbc2d42af75fffa60c77e0f02220bc329829 Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Date: Fri May 9 15:37:00 2014 -0700 mm, thp: close race between mremap() and split_huge_page() It's critical for split_huge_page() (and migration) to catch and freeze all PMDs on rmap walk. It gets tricky if there's concurrent fork() or mremap() since usually we copy/move page table entries on dup_mm() or move_page_tables() without rmap lock taken. To get it work we rely on rmap walk order to not miss any entry. We expect to see destination VMA after source one to work correctly. But after switching rmap implementation to interval tree it's not always possible to preserve expected walk order. It works fine for dup_mm() since new VMA has the same vma_start_pgoff() / vma_last_pgoff() and explicitly insert dst VMA after src one with vma_interval_tree_insert_after(). But on move_vma() destination VMA can be merged into adjacent one and as result shifted left in interval tree. Fortunately, we can detect the situation and prevent race with rmap walk by moving page table entries under rmap lock. See commit 38a76013ad80. Problem is that we miss the lock when we move transhuge PMD. Most likely this bug caused the crash[1]. [1] http://thread.gmane.org/gmane.linux.kernel.mm/96473 Fixes: 108d6642ad81 ("mm anon rmap: remove anon_vma_moveto_tail") Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Reviewed-by: Andrea Arcangeli <aarcange@redhat.com> Cc: Rik van Riel <riel@redhat.com> Acked-by: Michel Lespinasse <walken@google.com> Cc: Dave Jones <davej@redhat.com> Cc: David Miller <davem@davemloft.net> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: <stable@vger.kernel.org> [3.7+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 3551a9280bcb728980a13783ff295e9f0bdedd9a Author: Catalin Marinas <catalin.marinas@arm.com> Date: Fri May 9 15:36:59 2014 -0700 mm: postpone the disabling of kmemleak early logging Commit 8910ae896c8c ("kmemleak: change some global variables to int"), in addition to the atomic -> int conversion, moved the disabling of kmemleak_early_log to the beginning of the kmemleak_init() function, before the full kmemleak tracing is actually enabled. In this small window, kmem_cache_create() is called by kmemleak which triggers additional memory allocation that are not traced. This patch restores the original logic with kmemleak_early_log disabling when kmemleak is fully functional. Fixes: 8910ae896c8c (kmemleak: change some global variables to int) Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Sasha Levin <sasha.levin@oracle.com> Cc: Li Zefan <lizefan@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit f2eb7f6f7a18fc2eff2f74d2bfa12758c0449f12 Author: Cyril Hrubis <chrubis@suse.cz> Date: Fri May 9 15:36:58 2014 -0700 MAINTAINERS: update maintainership of LTP Also remove sf.net git repo which is no longer available and update link to LTP web pages. Signed-off-by: Cyril Hrubis <chrubis@suse.cz> Signed-off-by: Caspar Zhang <caspar@casparzhang.com> Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> Signed-off-by: Jan Stancek <jstancek@redhat.com> Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com> Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 282cba6b00a95f0277ed71551e3f6b0477e8836b Author: Heiko Stuebner <heiko@sntech.de> Date: Fri May 9 15:36:57 2014 -0700 drivers/rtc/rtc-hym8563.c: set uie_unsupported The alarm of the hym8563 only supports a minute accuracy, while the uie wants an alarm one second in the future. Therefore things like the select() syscall will fail with a timeout, because the next alarm will happen in a worst case of 60 seconds. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> commit 709de13f0c532fe9c468c094aff069a725ed57fe Author: Simon Wunderlich <simon@open-mesh.com> Date: Wed Mar 26 15:46:24 2014 +0100 batman-adv: fix removing neigh_ifinfo When an interface is removed separately, all neighbors need to be checked if they have a neigh_ifinfo structure for that particular interface. If that is the case, remove that ifinfo so any references to a hard interface can be freed. This is a regression introduced by 89652331c00f43574515059ecbf262d26d885717 ("batman-adv: split tq information in neigh_node struct") Reported-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit a45e903842226071d231924a5bff09d7535109dc Merge: a4b4f11 ad3b564 Author: Ingo Molnar <mingo@kernel.org> Date: Sun May 11 07:22:28 2014 +0200 Merge branch 'liblockdep-fixes-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux into perf/urgent Pull liblockdep fixes from Sasha Levin, to fix two build related bugs. Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 3b27dcec920075b6f1f5f8014e32e764fcbb96f8 Merge: 6a7c7b0 cf7eb97 Author: Olof Johansson <olof@lixom.net> Date: Sat May 10 22:06:07 2014 -0700 Merge tag 'davinci-fixes-for-v3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes Pull "DaVinci fixes for v3.15" from Sekhar Nori: The patch fixes EDMA crossbar mapping to actually make it work. The patch has been tagged for stable. * tag 'davinci-fixes-for-v3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: common: edma: Fix xbar mapping Signed-off-by: Olof Johansson <olof@lixom.net> commit 6a7c7b007a773a846090f2577de32e7b3a3f42ab Merge: e5e49fe 84e108f Author: Olof Johansson <olof@lixom.net> Date: Sat May 10 20:25:07 2014 -0700 Merge tag 'sunxi-fixes-for-3.15' of https://github.com/mripard/linux into fixes Merge 'Allwinner fixes for 3.15' from Maxime Ripard: Set of fixes for the Allwinner support for 3.15 Some minor things, the major thing being the enabling of the GMAC driver in sunxi_defconfig that will un-break Olof's autobooters. * tag 'sunxi-fixes-for-3.15' of https://github.com/mripard/linux: ARM: sunxi: Enable GMAC in sunxi_defconfig ARM: sun7i: Fix i2c4 base address ARM: sun7i: fix PLL4 clock and add PLL8 Signed-off-by: Olof Johansson <olof@lixom.net> commit e5e49fe9dfe33beabd0af593870cc9247ba481a6 Merge: 90f4c59 788296b Author: Olof Johansson <olof@lixom.net> Date: Sat May 10 20:22:29 2014 -0700 Merge tag 'mvebu-dt-fixes-3.15-2' of git://git.infradead.org/linux-mvebu into fixes Merge 'ARM: mvebu: DT fixes for v3.15 (incr #2)' from Jason Cooper: mvebu DT fixes for v3.15 (incremental #2) - kirkwood: fix mis-located pcie controller nodes * tag 'mvebu-dt-fixes-3.15-2' of git://git.infradead.org/linux-mvebu: ARM: dts: kirkwood: fix mislocated pcie-controller nodes Signed-off-by: Olof Johansson <olof@lixom.net> commit 90f4c5944b38b4647373db7a57a2dda1e0c5566a Author: Matt Porter <mporter@linaro.org> Date: Tue May 6 12:09:45 2014 -0400 MAINTAINERS: update Broadcom ARM tree location and add an SoC family The Broadcom ARM tree location has changed names to reflect other SoC families that are queued here. Also add the 216xx family as maintained. Signed-off-by: Matt Porter <mporter@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net> commit 6d66da89bf4422c0a0693627fb3e25f74af50f92 Author: Sascha Hauer <s.hauer@pengutronix.de> Date: Tue May 6 13:01:34 2014 +0200 ARM: dts: i.MX53: Fix ipu register space size The IPU register space is 128MB, not 2GB. Fixes: abed9a6bf2bb 'ARM i.MX53: Add IPU support' Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@freescale.com> Cc: <stable@vger.kernel.org> Signed-off-by: Olof Johansson <olof@lixom.net> commit d088be8042841f024156ee68fecfef7503d660cb Author: Pablo Neira Ayuso <pablo@netfilter.org> Date: Sat May 10 13:39:21 2014 +0200 netfilter: nf_tables: reset rule number counter after jump and goto Otherwise we start incrementing the rule number counter from the previous chain iteration. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 3afcb96fee9ba33ce838f2ceaa248358cffe2f56 Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Date: Sat May 10 13:51:36 2014 +0200 ACPI / proc: Do not say when /proc interfaces will be deleted in Kconfig Do not tell people in the Kconfig help when exactly we are going to remove the deprecated ACPI interfaces in /proc, because, honestly, we don't know. We will remove them when they are not used any more. In particular, do not tell them that the interfaces will be removed in a kernel release that already happened long ago. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 7b955a9fc164487d7c51acb9787f6d1b01b35ef6 Author: Simon Wunderlich <simon@open-mesh.com> Date: Wed Mar 26 15:46:23 2014 +0100 batman-adv: always run purge_orig_neighbors The current code will not execute batadv_purge_orig_neighbors() when an orig_ifinfo has already been purged. However we need to run it in any case. Fix that. This is a regression introduced by 7351a4822d42827ba0110677c0cbad88a3d52585 ("batman-adv: split out router from orig_node") Signed-off-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit 000c8dff97311357535d64539e58990526e4de70 Author: Simon Wunderlich <simon@open-mesh.com> Date: Wed Mar 26 15:46:22 2014 +0100 batman-adv: fix neigh reference imbalance When an interface is removed from batman-adv, the orig_ifinfo of a orig_node may be removed without releasing the router first. This will prevent the reference for the neighbor pointed at by the orig_ifinfo->router to be released, and this leak may result in reference leaks for the interface used by this neighbor. Fix that. This is a regression introduced by 7351a4822d42827ba0110677c0cbad88a3d52585 ("batman-adv: split out router from orig_node"). Reported-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit c1e517fbbcdb13f50662af4edc11c3251fe44f86 Author: Simon Wunderlich <simon@open-mesh.com> Date: Wed Mar 26 15:46:21 2014 +0100 batman-adv: fix neigh_ifinfo imbalance The neigh_ifinfo object must be freed if it has been used in batadv_iv_ogm_process_per_outif(). This is a regression introduced by 89652331c00f43574515059ecbf262d26d885717 ("batman-adv: split tq information in neigh_node struct") Reported-by: Antonio Quartulli <antonio@open-mesh.com> Signed-off-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com> commit 1448eb566970c6d3cade522419848fdaee24c684 Merge: a9de050 6153871 Author: David S. Miller <davem@davemloft.net> Date: Fri May 9 16:46:53 2014 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless John W. Linville says: ==================== pull request: wireless 2014-05-08 This one is all from Johannes: "Here are a few small fixes for the current cycle: radiotap TX flags were wrong (fix by Bob), Chun-Yeow fixes an SMPS issue with mesh interfaces, Eliad fixes a locking bug and a cfg80211 state problem and finally Henning sent me a fix for IBSS rate information." Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit a9de0500083c18589ba2ea4543135c1bea8419ec Author: Emil Goode <emilgoode@gmail.com> Date: Fri May 9 01:07:17 2014 +0200 net: cassini: use nested lock annotation In the cas_lock_tx function we acquire multiple locks in a loop and need to use nested lock annotation to prevent lockdep warnings. Reported-by: Meelis Roos <mroos@linux.ee> Signed-off-by: Emil Goode <emilgoode@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit de682941eef3e5f6d1b653a6c214bc8a288f17c1 Author: Yuval Mintz <Yuval.Mintz@qlogic.com> Date: Thu May 8 12:34:31 2014 +0300 bnx2x: Fix UNDI driver unload Commit 91ebb928b "bnx2x: Add support for Multi-Function UNDI" contains a bug which prevent the emptying of the device's Rx buffers before reset. As a result, on new boards it is likely HW will reach some fatal assertion once its interfaces load after UNDI was previously loaded. Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com> Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 27653053be95681a0e87df90c9fbe9d1c16a3e81 Merge: 6b5eeb7 60e71ab Author: David S. Miller <davem@davemloft.net> Date: Fri May 9 15:51:25 2014 -0400 Merge branch 'mdio_net' Johan Hovold says: ==================== net: cpsw and mdio-gpio fixes for v3.15-final These patches against v3.15-rc4 fix a few issues in the cpsw and mdio-gpio drivers. Resend with proper stable CC (git send-email still fails to parse the Sorry about the noise. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 60e71ab56b5fbd839aaef4f4af7778d86e0206f0 Author: Johan Hovold <jhovold@gmail.com> Date: Thu May 8 10:09:24 2014 +0200 net: cpsw: add missing of_node_put Add missing of_node_put to avoid kref leak. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 6954cc1f238199e971ec905c5cc87120806ac981 Author: Johan Hovold <jhovold@gmail.com> Date: Thu May 8 10:09:23 2014 +0200 net: cpsw: fix null dereference at probe Fix null-pointer dereference at probe when the mdio platform device is missing (e.g. when it has been disabled in DT). Cc: stable <stable@vger.kernel.org> # v3.8 Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 59993f48b38fd46863b23bb1bb1dc3291e7278fb Author: Johan Hovold <jhovold@gmail.com> Date: Thu May 8 10:09:22 2014 +0200 Revert "net: eth: cpsw: Correctly attach to GPIO bitbang MDIO driver" This reverts commit f8d56d8f892be43a2404356073e16401eb5a42e6 ("net: eth: cpsw: Correctly attach to GPIO bitbang MDIO driver"). Fix potential null-pointer dereference at probe if the mdio-gpio device has not been successfully probed yet. The offending commit is plain wrong for a number of reasons. First of all it accesses internal driver data of an unrelated device. Neither does it check that the data is non-null (which it is in case the device has not been probed yet). Furthermore, the decision on whether to treat any driver data according to the mdio-gpio driver's internals is made based on the node name. But the name is not compared against "mdio" which is the normal name for the node, but rather against "gpio" which the node does not have to be named (and shouldn't be according to the binding documentation). [ If this hack is to be kept out-of-tree it should at least be matching against the compatible property. ] Cc: Stefan Roese <sr@denx.de> Cc: stable <stable@vger.kernel.org> # v3.14 Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 7f52da56f76f61112a9c1db41975376764828e71 Author: Johan Hovold <jhovold@gmail.com> Date: Thu May 8 10:09:21 2014 +0200 net: mdio-gpio: warn about missing bus alias id Use a sane default bus id (rather than -ENODEV) and print a warning when the bus alias id is missing. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 0953f78971040fff09064bb564d9ac0cd1fb4e69 Author: Johan Hovold <jhovold@gmail.com> Date: Thu May 8 10:09:20 2014 +0200 net: mdio-gpio: fix device-tree binding documentation Fix aliases syntax in device-tree binding example to avoid copy-paste errors (the alias would be dropped silently). Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 05adaf1f101f25f40f12c29403e6488f0e45f6b6 Author: Jani Nikula <jani.nikula@intel.com> Date: Fri May 9 14:52:34 2014 +0300 drm/i915/vlv: reset VLV media force wake request register Media force wake get hangs the machine when the system is booted without displays attached. The assumption is that (at least some versions of) the firmware has skipped some initialization in that case. Empirical evidence suggests we need to reset the media force wake request register in addition to the render one to avoid hangs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75895 Reported-by: Imre Deak <imre.deak@intel.com> Reported-by: Darren Hart <dvhart@linux.intel.com> Tested-by: Darren Hart <dvhart@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Cc: stable@vger.kernel.org Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit 6b5eeb7f874b689403e52a646e485d0191ab9507 Author: Bjørn Mork <bjorn@mork.no> Date: Fri May 9 14:45:00 2014 +0200 net: cdc_mbim: handle unaccelerated VLAN tagged frames This driver maps 802.1q VLANs to MBIM sessions. The mapping is based on a bogus assumption that all tagged frames will use the acceleration API because we enable NETIF_F_HW_VLAN_CTAG_TX. This fails for e.g. frames tagged in userspace using packet sockets. Such frames will erroneously be considered as untagged and silently dropped based on not being IP. Fix by falling back to looking into the ethernet header for a tag if no accelerated tag was found. Fixes: a82c7ce5bc5b ("net: cdc_ncm: map MBIM IPS SessionID to VLAN ID") Cc: Greg Suarez <gsuarez@smithmicro.com> Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> commit b3d4056632297232412dda95c9b72b1199fa797d Merge: 6af55ff a8951d5 Author: David S. Miller <davem@davemloft.net> Date: Fri May 9 13:17:30 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following batch contains netfilter fixes for your net tree, they are: 1) Fix use after free in nfnetlink when sending a batch for some unsupported subsystem, from Denys Fedoryshchenko. 2) Skip autoload of the nat module if no binding is specified via ctnetlink, from Florian Westphal. 3) Set local_df after netfilter defragmentation to avoid a bogus ICMP fragmentation needed in the forwarding path, also from Florian. 4) Fix potential user after free in ip6_route_me_harder() when returning the error code to the upper layers, from Sergey Popovich. 5) Skip possible bogus ICMP time exceeded emitted from the router (not valid according to RFC) if conntrack zones are used, from Vasily Averin. 6) Fix fragment handling when nf_defrag_ipv4 is loaded but nf_conntrack is not present, also from Vasily. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit cf01f4eef9fe367ec0d85b38dd7214e29e376cdb Author: Jeff Layton <jlayton@poochiereds.net> Date: Fri May 9 11:41:54 2014 -0400 locks: only validate the lock vs. f_mode in F_SETLK codepaths v2: replace missing break in switch statement (as pointed out by Dave Jones) commit bce7560d4946 (locks: consolidate checks for compatible filp->f_mode values in setlk handlers) introduced a regression in the F_GETLK handler. flock64_to_posix_lock is a shared codepath between F_GETLK and F_SETLK, but the f_mode checks should only be applicable to the F_SETLK codepaths according to POSIX. Instead of just reverting the patch, add a new function to do this checking and have the F_SETLK handlers call it. Cc: Dave Jones <davej@redhat.com> Reported-and-Tested-by: Reuben Farrelly <reuben@reub.net> Signed-off-by: Jeff Layton <jlayton@poochiereds.net> commit f9ac71bfcc5c937ff02765dc316cf5bc01d21d97 Author: Eliad Peller <eliad@wizery.com> Date: Wed Feb 26 14:46:35 2014 +0200 mac80211: fix vif name tracing If sdata doesn't have a valid dev (e.g. in case of monitor vif), the vif_name field was initialized with (a length of) some short string, but later was set to a different, potentially larger one. This resulted in out-of-bounds write, which usually appeared as garbage in the trace log. Simply trace sdata->name, as it should always have the correct name for both cases. Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 99e4b98dbe3ad1fe38a74d12c3b8d44a55930de4 Author: Michael Welling <mwelling@ieee.org> Date: Wed Apr 16 20:00:24 2014 -0500 gpio: mcp23s08: Bug fix of SPI device tree registration. The chips variable needs to be incremented for each chip that is found in the spi_present_mask when registering via device tree. Without this and the checking a negative index is passed to the data->chip array in a subsequent loop. Cc: stable@vger.kernel.org Signed-off-by: Michael Welling <mwelling@ieee.org> Acked-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> commit a7008ee1a423720e755e08f33b63669795c1f072 Author: Vincent Donnefort <vdonnefort@gmail.com> Date: Tue Apr 15 14:21:43 2014 +0200 gpio: ich: set regs and reglen for i3100 and ich6 chipset This patch fixes kernel NULL pointer BUG introduced by the following commit: b667cf488aa9476b0ab64acd91f2a96f188cfd21 gpio: ich: Add support for multiple register addresses. Signed-off-by: Vincent Donnefort <vdonnefort@gmail.com> Tested-by: Eric Paris <eparis@redhat.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> commit 4a817aa78f573c6964f16d9aea3d0d10a226ade4 Author: Johannes Berg <johannes.berg@intel.com> Date: Fri May 9 09:56:53 2014 +0200 mac80211: allow VHT with peers not capable of 40MHz There are two (related) issues with this. One case, reported by Michal, is related to hostap: it unsets the 20/40 capability bit for stations that associate when it's in 20 MHz mode. The other case, reported by Eyal, is that some APs like Netgear R6300v2 and probably others based on the BCM4360 chipset can be configured for doing VHT at 20Mhz. In this case the beacon has a VHT IE but the HT cap indicates transmitter only support 20Mhz. In both of these cases, we currently avoid VHT and use only HT this means we can't use the highest rates (MCS8), so fixing this leads to throughput improvements. Reported-by: Michal Kazior <michal.kazior@tieto.com> Reported-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit a1f3b5fa11dfc636288b9e0190a0289f23d95af6 Author: Hui Wang <hui.wang@canonical.com> Date: Fri May 9 11:12:58 2014 +0800 ALSA: hda - add headset mic detect quirks for three Dell laptops When we plug a 3-ring headset on the Dell machines (VID: 0x10ec0255, SID: 0x1028065c; VID: 0x10ec0255, SID: 0x10280680; VID: 0x10ec0292, SID: 0x10280684), the headset mic can't be detected, after apply this patch, the headset mic can work well. And on the machine with SID 0x10280684, and the Lineout and external microphone should be routed to docking, this patch also fix this problem. BugLink: https://bugs.launchpad.net/bugs/1297581 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> commit 6af55ff52b02d492d45db88df3e461fa51a6f753 Author: Darek Marcinkiewicz <reksio@newterm.pl> Date: Tue May 6 22:24:50 2014 +0200 Driver for Beckhoff CX5020 EtherCAT master module. This driver adds support for EtherCAT master module located on CCAT FPGA found on Beckhoff CX series industrial PCs. The driver exposes EtherCAT master as an ethernet interface. EtherCAT is a fieldbus protocol defined on top of ethernet and Beckhoff CX5020 PCs come with built-in EtherCAT master module located on a FPGA, which in turn is connected to a PCI bus. Signed-off-by: Dariusz Marcinkiewicz <reksio@newterm.pl> Signed-off-by: David S. Miller <davem@davemloft.net> commit ba6b918ab234186d3aa1663e296586a1b526b77a Author: Cong Wang <xiyou.wangcong@gmail.com> Date: Tue May 6 11:02:50 2014 -0700 ping: move ping_group_range out of CONFIG_SYSCTL Similarly, when CONFIG_SYSCTL is not set, ping_group_range should still work, just that no one can change it. Therefore we should move it out of sysctl_net_ipv4.c. And, it should not share the same seqlock with ip_local_port_range. BTW, rename it to ->ping_group_range instead. Cc: David S. Miller <davem@davemloft.net> Cc: Francois Romieu <romieu@fr.zoreil.com> Reported-by: Stefan de Konink <stefan@konink.de> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit c9d8f1a64225dfcc2f721d73a5984a2444920744 Author: Cong Wang <xiyou.wangcong@gmail.com> Date: Tue May 6 11:02:49 2014 -0700 ipv4: move local_port_range out of CONFIG_SYSCTL When CONFIG_SYSCTL is not set, ip_local_port_range should still work, just that no one can change it. Therefore we should move it out of sysctl_inet.c. Also, rename it to ->ip_local_ports instead. Cc: David S. Miller <davem@davemloft.net> Cc: Francois Romieu <romieu@fr.zoreil.com> Reported-by: Stefan de Konink <stefan@konink.de> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit a8951d5814e1373807a94f79f7ccec7041325470 Author: Sergey Popovich <popovich_sergei@mail.ru> Date: Thu May 8 16:22:35 2014 +0300 netfilter: Fix potential use after free in ip6_route_me_harder() Dst is released one line before we access it again with dst->error. Fixes: 58e35d147128 netfilter: ipv6: propagate routing errors from ip6_route_me_harder() Signed-off-by: Sergey Popovich <popovich_sergei@mail.ru> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit b18eb2d779240631a098626cb6841ee2dd34fda0 Author: David S. Miller <davem@davemloft.net> Date: Wed May 7 14:07:32 2014 -0700 sparc64: Fix huge TSB mapping on pre-UltraSPARC-III cpus. Access to the TSB hash tables during TLB misses requires that there be an atomic 128-bit quad load available so that we fetch a matching TAG and DATA field at the same time. On cpus prior to UltraSPARC-III only virtual address based quad loads are available. UltraSPARC-III and later provide physical address based variants which are easier to use. When we only have virtual address based quad loads available this means that we have to lock the TSB into the TLB at a fixed virtual address on each cpu when it runs that process. We can't just access the PAGE_OFFSET based aliased mapping of these TSBs because we cannot take a recursive TLB miss inside of the TLB miss handler without risking running out of hardware trap levels (some trap combinations can be deep, such as those generated by register window spill and fill traps). Without huge pages it's working perfectly fine, but when the huge TSB got added another chunk of fixed virtual address space was not allocated for this second TSB mapping. So we were mapping both the 8K and 4MB TSBs to the same exact virtual address, causing multiple TLB matches which gives undefined behavior. Signed-off-by: David S. Miller <davem@davemloft.net> commit ad3b564deb91c67ff9621255307ed31da870c8f7 Author: Sasha Levin <sasha.levin@oracle.com> Date: Thu May 8 13:55:13 2014 -0400 tools/liblockdep: Remove all build files when doing make clean We forgot to remove the shared library with the version number when 'make clean' ran, fix the clean pattern. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> commit 0041898ec19f10e2adf5f1245f32df88d627ae8a Author: S. Lockwood-Childs <sjl@vctlabs.com> Date: Thu May 8 13:34:01 2014 -0400 tools/liblockdep: Build liblockdep from tools/Makefile add targets to build liblockdep with make -C tools liblockdep like the way other stuff under tools/ can be built Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com> commit aa07c713ecfc0522916f3cd57ac628ea6127c0ec Author: Kinglong Mee <kinglongmee@gmail.com> Date: Fri Apr 18 20:49:04 2014 +0800 NFSD: Call ->set_acl with a NULL ACL structure if no entries After setting ACL for directory, I got two problems that caused by the cached zero-length default posix acl. This patch make sure nfsd4_set_nfs4_acl calls ->set_acl with a NULL ACL structure if there are no entries. Thanks for Christoph Hellwig's advice. First problem: ............ hang ........... Second problem: [ 1610.167668] ------------[ cut here ]------------ [ 1610.168320] kernel BUG at /root/nfs/linux/fs/nfsd/nfs4acl.c:239! [ 1610.168320] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC [ 1610.168320] Modules linked in: nfsv4(OE) nfs(OE) nfsd(OE) rpcsec_gss_krb5 fscache ip6t_rpfilter ip6t_REJECT cfg80211 xt_conntrack rfkill ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw auth_rpcgss nfs_acl snd_intel8x0 ppdev lockd snd_ac97_codec ac97_bus snd_pcm snd_timer e1000 pcspkr parport_pc snd parport serio_raw joydev i2c_piix4 sunrpc(OE) microcode soundcore i2c_core ata_generic pata_acpi [last unloaded: nfsd] [ 1610.168320] CPU: 0 PID: 27397 Comm: nfsd Tainted: G OE 3.15.0-rc1+ #15 [ 1610.168320] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 1610.168320] task: ffff88005ab653d0 ti: ffff88005a944000 task.ti: ffff88005a944000 [ 1610.168320] RIP: 0010:[<ffffffffa034d5ed>] [<ffffffffa034d5ed>] _posix_to_nfsv4_one+0x3cd/0x3d0 [nfsd] [ 1610.168320] RSP: 0018:ffff88005a945b00 EFLAGS: 00010293 [ 1610.168320] RAX: 0000000000000001 RBX: ffff88006700bac0 RCX: 0000000000000000 [ 1610.168320] RDX: 0000000000000000 RSI: ffff880067c83f00 RDI: ffff880068233300 [ 1610.168320] RBP: ffff88005a945b48 R08: ffffffff81c64830 R09: 0000000000000000 [ 1610.168320] R10: ffff88004ea85be0 R11: 000000000000f475 R12: ffff880068233300 [ 1610.168320] R13: 0000000000000003 R14: 0000000000000002 R15: ffff880068233300 [ 1610.168320] FS: 0000000000000000(0000) GS:ffff880077800000(0000) knlGS:0000000000000000 [ 1610.168320] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 1610.168320] CR2: 00007f5bcbd3b0b9 CR3: 0000000001c0f000 CR4: 00000000000006f0 [ 1610.168320] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1610.168320] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 1610.168320] Stack: [ 1610.168320] ffffffff00000000 0000000b67c83500 000000076700bac0 0000000000000000 [ 1610.168320] ffff88006700bac0 ffff880068233300 ffff88005a945c08 0000000000000002 [ 1610.168320] 0000000000000000 ffff88005a945b88 ffffffffa034e2d5 000000065a945b68 [ 1610.168320] Call Trace: [ 1610.168320] [<ffffffffa034e2d5>] nfsd4_get_nfs4_acl+0x95/0x150 [nfsd] [ 1610.168320] [<ffffffffa03400d6>] nfsd4_encode_fattr+0x646/0x1e70 [nfsd] [ 1610.168320] [<ffffffff816a6e6e>] ? kmemleak_alloc+0x4e/0xb0 [ 1610.168320] [<ffffffffa0327962>] ? nfsd_setuser_and_check_port+0x52/0x80 [nfsd] [ 1610.168320] [<ffffffff812cd4bb>] ? selinux_cred_prepare+0x1b/0x30 [ 1610.168320] [<ffffffffa0341caa>] nfsd4_encode_getattr+0x5a/0x60 [nfsd] [ 1610.168320] [<ffffffffa0341e07>] nfsd4_encode_operation+0x67/0x110 [nfsd] [ 1610.168320] [<ffffffffa033844d>] nfsd4_proc_compound+0x21d/0x810 [nfsd] [ 1610.168320] [<ffffffffa0324d9b>] nfsd_dispatch+0xbb/0x200 [nfsd] [ 1610.168320] [<ffffffffa00850cd>] svc_process_common+0x46d/0x6d0 [sunrpc] [ 1610.168320] [<ffffffffa0085433>] svc_process+0x103/0x170 [sunrpc] [ 1610.168320] [<ffffffffa032472f>] nfsd+0xbf/0x130 [nfsd] [ 1610.168320] [<ffffffffa0324670>] ? nfsd_destroy+0x80/0x80 [nfsd] [ 1610.168320] [<ffffffff810a5202>] kthread+0xd2/0xf0 [ 1610.168320] [<ffffffff810a5130>] ? insert_kthread_work+0x40/0x40 [ 1610.168320] [<ffffffff816c1ebc>] ret_from_fork+0x7c/0xb0 [ 1610.168320] [<ffffffff810a5130>] ? insert_kthread_work+0x40/0x40 [ 1610.168320] Code: 78 02 e9 e7 fc ff ff 31 c0 31 d2 31 c9 66 89 45 ce 41 8b 04 24 66 89 55 d0 66 89 4d d2 48 8d 04 80 49 8d 5c 84 04 e9 37 fd ff ff <0f> 0b 90 0f 1f 44 00 00 55 8b 56 08 c7 07 00 00 00 00 8b 46 0c [ 1610.168320] RIP [<ffffffffa034d5ed>] _posix_to_nfsv4_one+0x3cd/0x3d0 [nfsd] [ 1610.168320] RSP <ffff88005a945b00> [ 1610.257313] ---[ end trace 838254e3e352285b ]--- Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit d2e5cb4e22080578f5d7e66824f85cf0e11d65e4 Merge: cabae81 83f7a85 Author: John W. Linville <linville@tuxdriver.com> Date: Thu May 8 11:28:35 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes commit 6153871f77f8fa778cd0cf1e2979db75e25d3532 Merge: 23a456f cabae81 Author: John W. Linville <linville@tuxdriver.com> Date: Thu May 8 11:13:41 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem commit 2af89a3cde1beb88a2c65e0558d828c1a9e4677f Author: Arnd Bergmann <arnd@arndb.de> Date: Thu May 8 16:56:21 2014 +0200 ata: pata_at91 only works on sam9 The smc driver used by pata_at91 is at91sam9 specific, so building this driver on another at91 platform results in this error: ERROR: "sam9_smc_configure" [drivers/ata/pata_at91.ko] undefined! ERROR: "sam9_smc_write_mode" [drivers/ata/pata_at91.ko] undefined! ERROR: "sam9_smc_read_mode" [drivers/ata/pata_at91.ko] undefined! This patch changes the Kconfig dependency to ensure it always works. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: linux-ide@vger.kernel.org Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> commit 3901c1124ec5099254a9396085f7798153a7293f Author: Harald Freudenberger <freude@linux.vnet.ibm.com> Date: Wed May 7 16:51:29 2014 +0200 crypto: s390 - fix aes,des ctr mode concurrency finding. An additional testcase found an issue with the last series of patches applied: the fallback solution may not save the iv value after operation. This very small fix just makes sure the iv is copied back to the walk/desc struct. Cc: <stable@vger.kernel.org> # 3.14+ Signed-off-by: Harald Freudenberger <freude@linux.vnet.ibm.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> commit 0b9d46dd7debf8e6dc8614106f1c1909fa8de64d Author: Igor Mammedov <imammedo@redhat.com> Date: Mon May 5 22:49:49 2014 +0200 ACPI / processor: do not mark present at boot but not onlined CPU as onlined acpi_processor_add() assumes that present at boot CPUs are always onlined, it is not so if a CPU failed to become onlined. As result acpi_processor_add() will mark such CPU device as onlined in sysfs and following attempts to online/offline it using /sys/device/system/cpu/cpuX/online attribute will fail. Do not poke into device internals in acpi_processor_add() and touch "struct device { .offline }" attribute, since for CPUs onlined at boot it's set by: topology_init() -> arch_register_cpu() -> register_cpu() before ACPI device tree is parsed, and for hotplugged CPUs it's set when userspace onlines CPU via sysfs. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Acked-by: Toshi Kani <toshi.kani@hp.com> Cc: 3.11+ <stable@vger.kernel.org> # 3.11+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 98012849e0cbf980326f8e34d571f4474866a88e Author: Guenter Roeck <linux@roeck-us.net> Date: Tue May 6 19:18:28 2014 -0700 ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" Revert commit cc8ef5270734 (ACPI / AC: convert ACPI ac driver to platform bus) that is reported to break thermal management on MacBook Air 2013 with ArchLinux. Fixes: cc8ef5270734 (ACPI / AC: convert ACPI ac driver to platform bus) References: https://bugzilla.kernel.org/show_bug.cgi?id=71711 Cc: Zhang Rui <rui.zhang@intel.com> Reported-and-tested-by: Manuel Krause <manuelkrause@netscape.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: 3.13+ <stable@vger.kernel.org> # 3.13+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit f6e6e1b9fee88c90586787b71dc49bb3ce62bb89 Author: Hans de Goede <hdegoede@redhat.com> Date: Mon May 5 11:38:09 2014 +0200 ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX Without this this EEE PC exports a non working WMI interface, with this it exports a working "good old" eeepc_laptop interface, fixing brightness control not working as well as rfkill being stuck in a permanent wireless blocked state. This is not an ideal way to fix this, but various attempts to fix this otherwise have failed, see: References: https://bugzilla.redhat.com/show_bug.cgi?id=1067181 Reported-and-tested-by: lou.cardone@gmail.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit b753631b3576bf343151a82513c5d56fcda1e24f Author: Edward Lin <yidi.lin@canonical.com> Date: Wed May 7 10:47:24 2014 +0800 ACPI: blacklist win8 OSI for Dell Inspiron 7737 With win8 capabiltiy, the machine will boot itself immediately after shutdown command has executed. Work around this issue by disabling win8 capcability. This workaround also makes wireless hotkey work. Signed-off-by: Edward Lin <yidi.lin@canonical.com> Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 23a456f05353035d1a2b3f1b9a92707acdc036e0 Author: Daniel Mack <zonque@gmail.com> Date: Tue May 6 18:52:16 2014 +0200 net: mdio: of_mdiobus_register(): fall back to mdiobus_register() for !CONFIG_OF If CONFIG_OF is not set, make of_mdiobus_register() call mdiobus_register() instead of returning -ENOSYS. This way, we can just call of_mdiobus_register() from all DT-enabled drivers to handle the compat cases. Signed-off-by: Daniel Mack <zonque@gmail.com> Suggested-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit aeefa1ecfc799b0ea2c4979617f14cecd5cccbfd Author: Sergey Popovich <popovich_sergei@mail.ru> Date: Tue May 6 18:23:08 2014 +0300 ipv4: fib_semantics: increment fib_info_cnt after fib_info allocation Increment fib_info_cnt in fib_create_info() right after successfuly alllocating fib_info structure, overwise fib_metrics allocation failure leads to fib_info_cnt incorrectly decremented in free_fib_info(), called on error path from fib_create_info(). Signed-off-by: Sergey Popovich <popovich_sergei@mail.ru> Signed-off-by: David S. Miller <davem@davemloft.net> commit 7fc1c5f3ca2ade64c8a7c78a1df3130f74f383e4 Merge: 76a691d 84d7ad2 Author: David S. Miller <davem@davemloft.net> Date: Wed May 7 16:53:28 2014 -0400 Merge branch 'qlcnic_net' Rajesh Borundia says: ==================== qlcnic: Bug fixes. This patch series contain following bug fixes. * Fix panic where driver was accessing un-initialized crb_intr_mask in non Multi-Tx queue mode while dumping TX queue. * Do not set netdev->real_num_tx_queues directly from driver instead use kernel defined netif_set_real_num_tx_queues() API. Also notify stack about change in number of Rx queues. Please apply this series to net. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit 84d7ad2c3b8a80888d9a483388ccbd5e5f07438f Author: Shahed Shaikh <shahed.shaikh@qlogic.com> Date: Tue May 6 03:46:49 2014 -0400 qlcnic: Set real_num_{tx|rx}_queues properly Do not set netdev->real_num_tx_queues directly, let netif_set_real_num_tx_queues() take care of it. Do not overwrite netdev->num_tx_queues everytime when driver changes its Tx ring size through ethtool -L and also notify stack to update number of Rx queues. Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit d5d2bf3eabb34cc8eaf54db37fdc43f04267985a Author: Manish Chopra <manish.chopra@qlogic.com> Date: Tue May 6 03:46:48 2014 -0400 qlcnic: Fix panic while dumping TX queues on TX timeout o In case of non-multi TX queue mode driver does not initialize "crb_intr_mask" pointer and driver was accessing that un-initialized pointer while dumping TX queue. So dump "crb_intr_mask" only when it is initilaized. Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net> commit 83f7a85f1134c6e914453f5747435415a23d516b Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Sun Apr 13 16:03:11 2014 +0300 iwlwifi: pcie: disable interrupts upon PCIe alloc In case RFKILL is in KILL position, the NIC will issue an interrupt straight away. This interrupt won't be sent because it is masked in the hardware. But if our interrupt service routine is called for another reason (SHARED_IRQ), then we'll look at the interrupt cause and service it. This can cause bad things if we are not ready yet. Explicitly clean the interrupt cause register to make sure we won't service anything before we are ready to. Cc: <stable@vger.kernel.org> [3.14] Reported-and-tested-by: Alexander Monakov <amonakov@gmail.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 76a691d0ab71a244f7582a5b0387728befbdb52f Author: Neil Horman <nhorman@tuxdriver.com> Date: Mon May 5 14:51:47 2014 -0400 jme: Fix DMA unmap warning The jme driver forgot to check the return status from pci_map_page in its tx path, causing a dma api warning on unmap. Easy fix, just do the check and augment the tx path to tell the stack that the driver is busy so we re-queue the frame. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> CC: Guo-Fu Tseng <cooldavid@cooldavid.org> CC: "David S. Miller" <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net> commit d32aebfd64c8c8649b39cd6789b141525cc9d7c0 Merge: 418a315 c1e756b Author: David S. Miller <davem@davemloft.net> Date: Wed May 7 15:49:16 2014 -0400 Merge branch 'gso_forward' Florian Westphal says: ==================== net: ip: push gso skb forwarding handling down the stack Turns out doing the segmentation in forwarding was not a bright idea, there are corner-cases where this has unintended side-effects. This patch pushes the segmentation downwards. After this, netif_skb_dev_features() function can be removed again, it was only added to fetch the features of the output device, we can just use skb->dev after the pushdown. Tested with following setup: host -> kvm_router -> kvm_host mtu 1500 mtu1280 - 'host' has route to kvm_host with locked mtu of 1500 - gso/gro enabled on all interfaces Did tests with all of following combinations: - netfilter conntrack off and on on kvm_router - virtio-net and e1000 driver on kvm_router - tcp and udp bulk xmit from host to kvm_host for tcp, I added TCPMSS mangling on kvm_host to make it lie about tcp mss. Also added a dummy '-t mangle -A POSTROUTING -p udp -f' rule to make sure no udp fragments are seen in the 'conntrack on' and 'virtio-net' case. Also checked (with ping -M do -s 1400)' that it still sends the wanted icmp error message when size exceeds 1280. ==================== Signed-off-by: David S. Miller <davem@davemloft.net> commit c1e756bfcbcac838a86a23f3e4501b556a961e3c Author: Florian Westphal <fw@strlen.de> Date: Mon May 5 15:00:44 2014 +0200 Revert "net: core: introduce netif_skb_dev_features" This reverts commit d206940319c41df4299db75ed56142177bb2e5f6, there are no more callers. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net> commit c7ba65d7b64984ff371cb5630b36af23506c50d5 Author: Florian Westphal <fw@strlen.de> Date: Mon May 5 15:00:43 2014 +0200 net: ip: push gso skb forwarding handling down the stack Doing the segmentation in the forward path has one major drawback: When using virtio, we may process gso udp packets coming from host network stack. In that case, netfilter POSTROUTING will see one packet with udp header followed by multiple ip fragments. Delay the segmentation and do it after POSTROUTING invocation to avoid this. Fixes: fe6cc55f3a9 ("net: ip, ipv6: handle gso skbs in forwarding path") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net> commit 418a31561d594a2b636c1e2fa94ecd9e1245abb1 Author: Florian Westphal <fw@strlen.de> Date: Mon May 5 00:03:34 2014 +0200 net: ipv6: send pkttoobig immediately if orig frag size > mtu If conntrack defragments incoming ipv6 frags it stores largest original frag size in ip6cb and sets ->local_df. We must thus first test the largest original frag size vs. mtu, and not vice versa. Without this patch PKTTOOBIG is still generated in ip6_fragment() later in the stack, but 1) IPSTATS_MIB_INTOOBIGERRORS won't increment 2) packet did (needlessly) traverse netfilter postrouting hook. Fixes: fe6cc55f3a9 ("net: ip, ipv6: handle gso skbs in forwarding path") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net> commit ca6c5d4ad216d5942ae544bbf02503041bd802aa Author: Florian Westphal <fw@strlen.de> Date: Sun May 4 23:24:31 2014 +0200 net: ipv4: ip_forward: fix inverted local_df test local_df means 'ignore DF bit if set', so if its set we're allowed to perform ip fragmentation. This wasn't noticed earlier because the output path also drops such skbs (and emits needed icmp error) and because netfilter ip defrag did not set local_df until couple of days ago. Only difference is that DF-packets-larger-than MTU now discarded earlier (f.e. we avoid pointless netfilter postrouting trip). While at it, drop the repeated test ip_exceeds_mtu, checking it once is enough... Fixes: fe6cc55f3a9 ("net: ip, ipv6: handle gso skbs in forwarding path") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net> commit 4f4178f3bb1f470d7fb863ec531e08e20a0fd51c Author: Bjørn Mork <bjorn@mork.no> Date: Sat May 3 16:12:47 2014 +0200 net: cdc_mbim: __vlan_find_dev_deep need rcu_read_lock Fixes this warning introduced by commit 5b8f15f78e6f ("net: cdc_mbim: handle IPv6 Neigbor Solicitations"): =============================== [ INFO: suspicious RCU usage. ] 3.15.0-rc3 #213 Tainted: G W O ------------------------------- net/8021q/vlan_core.c:69 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 1 no locks held by ksoftirqd/0/3. stack backtrace: CPU: 0 PID: 3 Comm: ksoftirqd/0 Tainted: G W O 3.15.0-rc3 #213 Hardware name: LENOVO 2776LEG/2776LEG, BIOS 6EET55WW (3.15 ) 12/19/2011 0000000000000001 ffff880232533bf0 ffffffff813a5ee6 0000000000000006 ffff880232530090 ffff880232533c20 ffffffff81076b94 0000000000000081 0000000000000000 ffff8802085ac000 ffff88007fc8ea00 ffff880232533c50 Call Trace: [<ffffffff813a5ee6>] dump_stack+0x4e/0x68 [<ffffffff81076b94>] lockdep_rcu_suspicious+0xfa/0x103 [<ffffffff813978a6>] __vlan_find_dev_deep+0x54/0x94 [<ffffffffa04a1938>] cdc_mbim_rx_fixup+0x379/0x66a [cdc_mbim] [<ffffffff813ab76f>] ? _raw_spin_unlock_irqrestore+0x3a/0x49 [<ffffffff81079671>] ? trace_hardirqs_on_caller+0x192/0x1a1 [<ffffffffa059bd10>] usbnet_bh+0x59/0x287 [usbnet] [<ffffffff8104067d>] tasklet_action+0xbb/0xcd [<ffffffff81040057>] __do_softirq+0x14c/0x30d [<ffffffff81040237>] run_ksoftirqd+0x1f/0x50 [<ffffffff8105f13e>] smpboot_thread_fn+0x172/0x18e [<ffffffff8105efcc>] ? SyS_setgroups+0xdf/0xdf [<ffffffff810594b0>] kthread+0xb5/0xbd [<ffffffff813a84b1>] ? __wait_for_common+0x13b/0x170 [<ffffffff810593fb>] ? __kthread_parkme+0x5c/0x5c [<ffffffff813b147c>] ret_from_fork+0x7c/0xb0 [<ffffffff810593fb>] ? __kthread_parkme+0x5c/0x5c Fixes: 5b8f15f78e6f ("net: cdc_mbim: handle IPv6 Neigbor Solicitations") Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net> commit 34e0a1e1563809a07371f44c6e4c3e216dc8684d Author: Paul Handrigan <Paul.Handrigan@cirrus.com> Date: Wed May 7 09:49:36 2014 -0500 ASoC: Update Cirrus Logic CODEC maintainers. Remove Timur Tabi as maintainer for CS4270 codec. I would like to thank Timur for his work on maintaining this driver. Signed-off-by: Paul Handrigan <paul.handrigan@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit a6f9bf4d2f965b862b95213303d154e02957eed8 Author: Levente Kurusa <levex@linux.com> Date: Tue May 6 15:57:48 2014 +0200 libata: clean up ZPODD when a port is detached When a ZPODD device is unbound via sysfs, the ACPI notify handler is not removed. This causes panics as observed in Bug #74601. The panic only happens when the wake happens from outside the kernel (i.e. inserting a media or pressing a button). Add a loop to ata_port_detach which loops through the port's devices and checks if zpodd is enabled, if so call zpodd_exit. Cc: stable@vger.kernel.org Reviewed-by: Aaron Lu <aaron.lu@intel.com> Signed-off-by: Levente Kurusa <levex@linux.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit e4c610fe051579ba0a1fadf339905b0231c6ef94 Author: Egbert Eich <eich@suse.de> Date: Fri Apr 11 19:07:44 2014 +0200 drm/i915/SDVO: For sysfs link put directory and target in correct order When linking the i2c sysfs file into the connector's directory pass directory and link target in the right order. This code was introduced with: commit 931c1c26983b4f84e33b78579fc8d57e4a14c6b4 Author: Imre Deak <imre.deak@intel.com> Date: Tue Feb 11 17:12:51 2014 +0200 drm/i915: sdvo: add i2c sysfs symlink to the connector's directory This is the same what we do for DP connectors, so make things more consistent. Signed-off-by: Egbert Eich <eich@suse.de> Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit 56071a207602a451f0c46d3dcc8379b59ef576e2 Author: Jani Nikula <jani.nikula@intel.com> Date: Tue May 6 14:56:52 2014 +0300 drm/i915: use lane count and link rate from VBT as minimums for eDP Most likely the minimums for both should be enough for enabling the native resolution on the eDP, and we'll end up using the predetermined optimal link config for the panel. v2: Add debug prints. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73539 Tested-by: Markus Blank-Burian <burian@muenster.de> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit e13e2b2c468bc54e872ad68126411d6a3f77001a Author: Jani Nikula <jani.nikula@intel.com> Date: Tue May 6 14:56:51 2014 +0300 drm/i915: clean up VBT eDP link param decoding Use defines, do not set anything if VBT has values unknown to us. Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit eeb6324dd6668b05192708916f2a4bc463f382ca Author: Paulo Zanoni <paulo.r.zanoni@intel.com> Date: Tue May 6 14:56:50 2014 +0300 drm/i915: consider the source max DP lane count too Even if the panel claims it can support 4 lanes, there's the possibility that the HW can't, so consider this while selecting the max lane count. Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> commit 696dfd95ba9838327a7013e5988ff3ba60dcc8c8 Author: Paolo Bonzini <pbonzini@redhat.com> Date: Wed May 7 11:20:54 2014 +0200 KVM: vmx: disable APIC virtualization in nested guests While running a nested guest, we should disable APIC virtualization controls (virtualized APIC register accesses, virtual interrupt delivery and posted interrupts), because we do not expose them to the nested guest. Reported-by: Hu Yaohui <loki2441@gmail.com> Suggested-by: Abel Gordon <abel@stratoscale.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> commit 97977f7576a89cb9436c000ae703c0d515e748ac Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Date: Wed May 7 10:56:24 2014 +0300 dmaengine: dw: went back to plain {request,free}_irq() calls The commit dbde5c29 "dw_dmac: use devm_* functions to simplify code" turns probe function to use devm_* helpers and simultaneously brings a regression. We need to ensure irq is disabled, followed by ensuring that don't schedule any more tasklets and then its safe to use tasklet_kill(). The free_irq() will ensure that the irq is disabled and also wait till all scheduled interrupts are executed by invoking synchronize_irq(). So we need to only do tasklet_kill() after invoking free_irq(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: stable@vger.kernel.org # v3.11+ Signed-off-by: Vinod Koul <vinod.koul@intel.com> commit 2b4cfe64dee0d84506b951d81bf55d9891744d25 Author: Jason Low <jason.low2@hp.com> Date: Wed Apr 23 18:30:34 2014 -0700 sched/numa: Initialize newidle balance stats in sd_numa_init() Also initialize the per-sd variables for newidle load balancing in sd_numa_init(). Signed-off-by: Jason Low <jason.low2@hp.com> Acked-by: morten.rasmussen@arm.com Cc: daniel.lezcano@linaro.org Cc: alex.shi@linaro.org Cc: preeti@linux.vnet.ibm.com Cc: efault@gmx.de Cc: vincent.guittot@linaro.org Cc: aswin@hp.com Cc: chegu_vinod@hp.com Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1398303035-18255-3-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 0e5b5337f0da073e1f17aec3c322ea7826975d0d Author: Jason Low <jason.low2@hp.com> Date: Mon Apr 28 15:45:54 2014 -0700 sched: Fix updating rq->max_idle_balance_cost and rq->next_balance in idle_balance() The following commit: e5fc66119ec9 ("sched: Fix race in idle_balance()") can potentially cause rq->max_idle_balance_cost to not be updated, even when load_balance(NEWLY_IDLE) is attempted and the per-sd max cost value is updated. Preeti noticed a similar issue with updating rq->next_balance. In this patch, we fix this by making sure we still check/update those values even if a task gets enqueued while browsing the domains. Signed-off-by: Jason Low <jason.low2@hp.com> Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: morten.rasmussen@arm.com Cc: aswin@hp.com Cc: daniel.lezcano@linaro.org Cc: alex.shi@linaro.org Cc: efault@gmx.de Cc: vincent.guittot@linaro.org Link: http://lkml.kernel.org/r/1398725155-7591-2-git-send-email-jason.low2@hp.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 6ccdc84b81a0a6c09a7f0427761d2f8cecfc2218 Author: Peter Zijlstra <peterz@infradead.org> Date: Thu Apr 24 12:00:47 2014 +0200 sched: Skip double execution of pick_next_task_fair() Tim wrote: "The current code will call pick_next_task_fair a second time in the slow path if we did not pull any task in our first try. This is really unnecessary as we already know no task can be pulled and it doubles the delay for the cpu to enter idle. We instrumented some network workloads and that saw that pick_next_task_fair is frequently called twice before a cpu enters idle. The call to pick_next_task_fair can add non trivial latency as it calls load_balance which runs find_busiest_group on an hierarchy of sched domains spanning the cpus for a large system. For some 4 socket systems, we saw almost 0.25 msec spent per call of pick_next_task_fair before a cpu can be idled." Optimize the second call away for the common case and document the dependency. Reported-by: Tim Chen <tim.c.chen@linux.intel.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Len Brown <len.brown@intel.com> Link: http://lkml.kernel.org/r/20140424100047.GP11096@twins.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 6227cb00cc120f9a43ce8313bb0475ddabcb7d01 Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org> Date: Sun Apr 13 09:34:53 2014 -0400 sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check The check at the beginning of cpupri_find() makes sure that the task_pri variable does not exceed the cp->pri_to_cpu array length. But that length is CPUPRI_NR_PRIORITIES not MAX_RT_PRIO, where it will miss the last two priorities in that array. As task_pri is computed from convert_prio() which should never be bigger than CPUPRI_NR_PRIORITIES, if the check should cause a panic if it is hit. Reported-by: Mike Galbraith <umgwanakikbuti@gmail.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/1397015410.5212.13.camel@marge.simpson.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 6a7cd273dc4bc3246f37ebe874754a54ccb29141 Author: Li Zefan <lizefan@huawei.com> Date: Thu Apr 17 10:05:02 2014 +0800 sched/deadline: Fix memory leak Free cpudl->free_cpus allocated in cpudl_init(). Signed-off-by: Li Zefan <lizefan@huawei.com> Acked-by: Juri Lelli <juri.lelli@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> # 3.14+ Link: http://lkml.kernel.org/r/534F36CE.2000409@huawei.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 5bfd126e80dca70431aef8fdbc1cf14535f3c338 Author: Juri Lelli <juri.lelli@gmail.com> Date: Tue Apr 15 13:49:04 2014 +0200 sched/deadline: Fix sched_yield() behavior yield_task_dl() is broken: o it forces current to be throttled setting its runtime to zero; o it sets current's dl_se->dl_new to one, expecting that dl_task_timer() will queue it back with proper parameters at replenish time. Unfortunately, dl_task_timer() has this check at the very beginning: if (!dl_task(p) || dl_se->dl_new) goto unlock; So, it just bails out and the task is never replenished. It actually yielded forever. To fix this, introduce a new flag indicating that the task properly yielded the CPU before its current runtime expired. While this is a little overdoing at the moment, the flag would be useful in the future to discriminate between "good" jobs (of which remaining runtime could be reclaimed, i.e. recycled) and "bad" jobs (for which dl_throttled task has been set) that needed to be stopped. Reported-by: yjay.kim <yjay.kim@lge.com> Signed-off-by: Juri Lelli <juri.lelli@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20140429103953.e68eba1b2ac3309214e3dc5a@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 2d513868e2a33e1d5315490ef4c861ee65babd65 Author: Thomas Gleixner <tglx@linutronix.de> Date: Fri May 2 23:26:24 2014 +0200 sched: Sanitize irq accounting madness Russell reported, that irqtime_account_idle_ticks() takes ages due to: for (i = 0; i < ticks; i++) irqtime_account_process_tick(current, 0, rq); It's sad, that this code was written way _AFTER_ the NOHZ idle functionality was available. I charge myself guitly for not paying attention when that crap got merged with commit abb74cefa ("sched: Export ns irqtimes through /proc/stat") So instead of looping nr_ticks times just apply the whole thing at once. As a side note: The whole cputime_t vs. u64 business in that context wants to be cleaned up as well. There is no point in having all these back and forth conversions. Lets standardise on u64 nsec for all kernel internal accounting and be done with it. Everything else does not make sense at all for fine grained accounting. Frederic, can you please take care of that? Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Venkatesh Pallipadi <venki@google.com> Cc: Shaun Ruffell <sruffell@digium.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1405022307000.6261@ionos.tec.linutronix.de Signed-off-by: Ingo Molnar <mingo@kernel.org> commit a4b4f11b2783ec678cccb4ce7e4ce9665aa04a24 Author: Yan, Zheng <zheng.z.yan@intel.com> Date: Tue Apr 29 15:04:41 2014 +0800 perf/x86/intel: Fix Silvermont's event constraints Event 0x013c is not the same as fixed counter2, remove it from Silvermont's event constraints. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1398755081-12471-1-git-send-email-zheng.z.yan@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit ffb4ef21ac4308c2e738e6f83b6741bbc9b4fa3b Author: Peter Zijlstra <peterz@infradead.org> Date: Mon May 5 19:12:20 2014 +0200 perf: Fix perf_event_init_context() perf_pin_task_context() can return NULL but perf_event_init_context() assumes it will not, correct this. Reported-by: Vince Weaver <vincent.weaver@maine.edu> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Link: http://lkml.kernel.org/r/20140505171428.GU26782@laptop.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 46ce0fe97a6be7532ce6126bb26ce89fed81528c Author: Peter Zijlstra <peterz@infradead.org> Date: Fri May 2 16:56:01 2014 +0200 perf: Fix race in removing an event When removing a (sibling) event we do: raw_spin_lock_irq(&ctx->lock); perf_group_detach(event); raw_spin_unlock_irq(&ctx->lock); <hole> perf_remove_from_context(event); raw_spin_lock_irq(&ctx->lock); ... raw_spin_unlock_irq(&ctx->lock); Now, assuming the event is a sibling, it will be 'unreachable' for things like ctx_sched_out() because that iterates the groups->siblings, and we just unhooked the sibling. So, if during <hole> we get ctx_sched_out(), it will miss the event and not call event_sched_out() on it, leaving it programmed on the PMU. The subsequent perf_remove_from_context() call will find the ctx is inactive and only call list_del_event() to remove the event from all other lists. Hereafter we can proceed to free the event; while still programmed! Close this hole by moving perf_group_detach() inside the same ctx->lock region(s) perf_remove_from_context() has. The condition on inherited events only in __perf_event_exit_task() is likely complete crap because non-inherited events are part of groups too and we're tearing down just the same. But leave that for another patch. Most-likely-Fixes: e03a9a55b4e ("perf: Change close() semantics for group events") Reported-by: Vince Weaver <vincent.weaver@maine.edu> Tested-by: Vince Weaver <vincent.weaver@maine.edu> Much-staring-at-traces-by: Vince Weaver <vincent.weaver@maine.edu> Much-staring-at-traces-by: Thomas Gleixner <tglx@linutronix.de> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20140505093124.GN17778@laptop.programming.kicks-ass.net Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 2b39aab18a84b2fa348d42d894ef986b290d67a0 Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:28 2014 +0100 ASoC: Intel: Fix block offset calculations. Block offset calculations are done in the contiguous allocator so are not required here. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit e5c460f46ae7ee94831cb55cb980f942aa9e5a85 Author: David S. Miller <davem@davemloft.net> Date: Tue May 6 21:27:37 2014 -0700 sparc64: Don't bark so loudly about 32-bit tasks generating 64-bit fault addresses. This was found using Dave Jone's trinity tool. When a user process which is 32-bit performs a load or a store, the cpu chops off the top 32-bits of the effective address before translating it. This is because we run 32-bit tasks with the PSTATE_AM (address masking) bit set. We can't run the kernel with that bit set, so when the kernel accesses userspace no address masking occurs. Since a 32-bit process will have no mappings in that region we will properly fault, so we don't try to handle this using access_ok(), which can safely just be a NOP on sparc64. Real faults from 32-bit processes should never generate such addresses so a bug check was added long ago, and it barks in the logs if this happens. But it also barks when a kernel user access causes this condition, and that _can_ happen. For example, if a pointer passed into a system call is "0xfffffffc" and the kernel access 4 bytes offset from that pointer. Just handle such faults normally via the exception entries. Signed-off-by: David S. Miller <davem@davemloft.net> commit 4c88d7f9b0d5fb0588c3386be62115cc2eaa8f9f Author: Arnd Bergmann <arnd@arndb.de> Date: Wed Apr 23 14:49:17 2014 +0200 genirq: Provide irq_force_affinity fallback for non-SMP Patch 01f8fa4f01d "genirq: Allow forcing cpu affinity of interrupts" added an irq_force_affinity() function, and 30ccf03b4a6 "clocksource: Exynos_mct: Use irq_force_affinity() in cpu bringup" subsequently uses it. However, the driver can be used with CONFIG_SMP disabled, but the function declaration is only available for CONFIG_SMP, leading to this build error: drivers/clocksource/exynos_mct.c:431:3: error: implicit declaration of function 'irq_force_affinity' [-Werror=implicit-function-declaration] irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu)); This patch introduces a dummy helper function for the non-SMP case that always returns success, to get rid of the build error. Since the patches causing the problem are marked for stable backports, this one should be as well. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/5619084.0zmrrIUZLV@wuerfel Signed-off-by: Thomas Gleixner <tglx@linutronix.de> commit bd5e4744a6ca64299b57a2682c720d00a475a734 Author: David Spinadel <david.spinadel@intel.com> Date: Thu Apr 24 13:15:29 2014 +0300 iwlwifi: mvm: do no sched scan while associated Currently the FW doesn't support sched scan while associated, Prevent it. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit cabae81103584a8265114a543555781b7b0c88bd Merge: 3234f5b e669ba2 Author: John W. Linville <linville@tuxdriver.com> Date: Tue May 6 14:05:51 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 commit 8e96440e8d42da0dab02cae125ea59e2b64c77fe Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Tue May 6 20:35:10 2014 +0300 iwlwifi: mvm: rs - s/CPTCFG/CONFIG My bad - I forgot to update this when sending the patch upstream. Fixes: 87d5e4155c00 ("iwlwifi: mvm: rs: reinit rs if no tx for a long time") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 0fed2bcf17d2a049c079ffd2b7bc4caca4b7f906 Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Date: Sun Apr 13 22:55:27 2014 +0300 iwlwifi: mvm: BT Coex - fix validity flags during init The commit below introduced a bug in the validity bits in init. Due to that, all the Coex mechanism stopped sending kills to the BT side. Fix that. Fixes: b9fae2d54c9f ("iwlwifi: mvm: BT Coex add support for Co-running block") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 4cb57e3032d4e4bf5e97780e9907da7282b02b0c Author: Trond Myklebust <trond.myklebust@primarydata.com> Date: Fri Apr 18 14:43:57 2014 -0400 NFSd: call rpc_destroy_wait_queue() from free_client() Mainly to ensure that we don't leave any hanging timers. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit 5694c93e6c4954fa9424c215f75eeb919bddad64 Author: Trond Myklebust <trond.myklebust@primarydata.com> Date: Fri Apr 18 14:43:56 2014 -0400 NFSd: Move default initialisers from create_client() to alloc_client() Aside from making it clearer what is non-trivial in create_client(), it also fixes a bug whereby we can call free_client() before idr_init() has been called. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Cc: stable@vger.kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com> commit 3519acb3b0c294ef57cc015302b061b4fe85a208 Merge: 8628196 a3fe964 Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Date: Tue May 6 06:25:10 2014 -0700 Merge branch 'imx-drm-fixes-urgent' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into staging-linus imx drm fixes from Russell commit edb666f07e539d92f63284213d72083ed8ac05ea Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Tue Apr 29 08:23:03 2014 +0200 xfrm6: Properly handle unsupported protocols We don't catch the case if an unsupported protocol is submitted to the xfrm6 protocol handlers, this can lead to NULL pointer dereferences. Fix this by adding the appropriate checks. Fixes: 7e14ea15 ("xfrm6: Add IPsec protocol multiplexer") Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> commit 43d9490244254d2d6adb0f3c6275c7b8d032a2dd Author: Hans de Goede <hdegoede@redhat.com> Date: Mon May 5 11:38:08 2014 +0200 ACPI / video: Add use_native_backlight quirks for more systems ThinkPad T430: extend the T430s entry to also cover the T430 (note we also have another entry for T430's with a different DMI_PRODUCT_VERSION). ThinkPad T430 Reported-and-tested-by: edm <fuffi.il.fuffo@gmail.com> References: https://bugzilla.kernel.org/show_bug.cgi?id=51231 Thinkpad T530 Reported-and-tested-by: Balint Szigeti <balint.szgt@gmail.com> References: https://bugzilla.redhat.com/show_bug.cgi?id=1089545 Acer Aspire 5742G Reported-and-tested-by: AnAkkk <anakin.cs@gmail.com> References: https://bugzilla.kernel.org/show_bug.cgi?id=35622 Cc: All applicable <stable@vger.kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 3a670cc79342c36d308decd5f90351830ed1685c Author: Lan Tianyu <tianyu.lan@intel.com> Date: Sun May 4 11:07:25 2014 +0800 ACPI: Revert "ACPI / Battery: Remove battery's proc directory" The commit 1e2d9cd and 7d7ee95 remove ACPI Proc Battery directory and breaks some old userspace tools. This patch is to revert commit 1e2d9cd. Fixes: 1e2d9cdfb449 (ACPI / Battery: Remove battery's proc directory) Cc: 3.13+ <stable@vger.kernel.org> # 3.13+ Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit e2a7c3d7812369daae56f069eab2e8f3e548d231 Author: Lan Tianyu <tianyu.lan@intel.com> Date: Sun May 4 11:07:24 2014 +0800 ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" The commit 1e2d9cd and 7d7ee95 remove ACPI Proc Battery directory and breaks some old userspace tools. This patch is to revert 7d7ee95. Fixes: 7d7ee958867a (ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c) Cc: 3.13+ <stable@vger.kernel.org> # 3.13+ Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit 0f62fb220aa4ebabe8547d3a9ce4a16d3c045f21 Author: NeilBrown <neilb@suse.de> Date: Tue May 6 09:36:08 2014 +1000 md: avoid possible spinning md thread at shutdown. If an md array with externally managed metadata (e.g. DDF or IMSM) is in use, then we should not set safemode==2 at shutdown because: 1/ this is ineffective: user-space need to be involved in any 'safemode' handling, 2/ The safemode management code doesn't cope with safemode==2 on external metadata and md_check_recover enters an infinite loop. Even at shutdown, an infinite-looping process can be problematic, so this could cause shutdown to hang. Cc: stable@vger.kernel.org (any kernel) Signed-off-by: NeilBrown <neilb@suse.de> commit cc13b1d1500656a20e41960668f3392dda9fa6e2 Author: NeilBrown <neilb@suse.de> Date: Mon May 5 13:34:37 2014 +1000 md/raid10: call wait_barrier() for each request submitted. wait_barrier() includes a counter, so we must call it precisely once (unless balanced by allow_barrier()) for each request submitted. Since commit 20d0189b1012a37d2533a87fb451f7852f2418d1 block: Introduce new bio_split() in 3.14-rc1, we don't call it for the extra requests generated when we need to split a bio. When this happens the counter goes negative, any resync/recovery will never start, and "mdadm --stop" will hang. Reported-by: Chris Murphy <lists@colorremedies.com> Fixes: 20d0189b1012a37d2533a87fb451f7852f2418d1 Cc: stable@vger.kernel.org (3.14+) Cc: Kent Overstreet <kmo@daterainc.com> Signed-off-by: NeilBrown <neilb@suse.de> commit d48dc067450d84324067f4472dc0b169e9af4454 Author: Lv Zheng <lv.zheng@intel.com> Date: Wed Apr 30 10:05:40 2014 +0800 ACPICA: Tables: Fix invalid pointer accesses in acpi_tb_parse_root_table(). Linux XSDT validation mechanism backport has introduced a regreession: Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 Subject: ACPICA: Back port and refine validation of the XSDT root table. There is a pointer still accessed after unmapping. This patch fixes this issue. Lv Zheng. Fixes: 671cc68dc61f (ACPICA: Back port and refine validation of the XSDT root table.) References: https://bugzilla.kernel.org/show_bug.cgi?id=73911 References: https://bugs.archlinux.org/task/39811 Signed-off-by: Lv Zheng <lv.zheng@intel.com> Reported-and-tested-by: Bruce Chiarelli <mano155@gmail.com> Reported-and-tested-by: Spyros Stathopoulos <spystath@gmail.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Cc: 3.14+ <stable@vger.kernel.org> # 3.14+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> commit e9024f0ba38a994c805743bc523693c5c7d7ccbc Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Mon May 5 13:20:23 2014 +0100 ASoC: Intel: Fix check for pdata usage before dereference. This patch fixes the following dereference check ordering. sound/soc/intel/sst-haswell-pcm.c:749 hsw_pcm_probe() warn: variable dereferenced before check 'pdata' (see line 746) git remote add asoc git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git git remote update asoc git checkout 0b708c87f66a15190fb43661c2320fd48c4dc6c8 vim +/pdata +749 sound/soc/intel/sst-haswell-pcm.c a4b12990 Mark Brown 2014-03-12 740 }; a4b12990 Mark Brown 2014-03-12 741 a4b12990 Mark Brown 2014-03-12 742 static int hsw_pcm_probe(struct snd_soc_platform *platform) a4b12990 Mark Brown 2014-03-12 743 { a4b12990 Mark Brown 2014-03-12 744 struct sst_pdata *pdata = dev_get_platdata(platform->dev); a4b12990 Mark Brown 2014-03-12 745 struct hsw_priv_data *priv_data; 0b708c87 Liam Girdwood 2014-05-02 @746 struct device *dma_dev = pdata->dma_dev; 0b708c87 Liam Girdwood 2014-05-02 747 int i, ret = 0; a4b12990 Mark Brown 2014-03-12 748 a4b12990 Mark Brown 2014-03-12 @749 if (!pdata) a4b12990 Mark Brown 2014-03-12 750 return -ENODEV; a4b12990 Mark Brown 2014-03-12 751 a4b12990 Mark Brown 2014-03-12 752 priv_data = devm_kzalloc(platform->dev, sizeof(*priv_data), GFP_KERNEL); Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 36c38fb7144aa941dc072ba8f58b2dbe509c0345 Author: Tejun Heo <tj@kernel.org> Date: Mon May 5 12:37:30 2014 -0400 blkcg: use trylock on blkcg_pol_mutex in blkcg_reset_stats() During the recent conversion of cgroup to kernfs, cgroup_tree_mutex which nests above both the kernfs s_active protection and cgroup_mutex is added to synchronize cgroup file type operations as cgroup_mutex needed to be grabbed from some file operations and thus can't be put above s_active protection. While this arrangement mostly worked for cgroup, this triggered the following lockdep warning. ====================================================== [ INFO: possible circular locking dependency detected ] 3.15.0-rc3-next-20140430-sasha-00016-g4e281fa-dirty #429 Tainted: G W ------------------------------------------------------- trinity-c173/9024 is trying to acquire lock: (blkcg_pol_mutex){+.+.+.}, at: blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) but task is already holding lock: (s_active#89){++++.+}, at: kernfs_fop_write (fs/kernfs/file.c:283) which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (s_active#89){++++.+}: lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) __kernfs_remove (arch/x86/include/asm/atomic.h:27 fs/kernfs/dir.c:352 fs/kernfs/dir.c:1024) kernfs_remove_by_name_ns (fs/kernfs/dir.c:1219) cgroup_addrm_files (include/linux/kernfs.h:427 kernel/cgroup.c:1074 kernel/cgroup.c:2899) cgroup_clear_dir (kernel/cgroup.c:1092 (discriminator 2)) rebind_subsystems (kernel/cgroup.c:1144) cgroup_setup_root (kernel/cgroup.c:1568) cgroup_mount (kernel/cgroup.c:1716) mount_fs (fs/super.c:1094) vfs_kern_mount (fs/namespace.c:899) do_mount (fs/namespace.c:2238 fs/namespace.c:2561) SyS_mount (fs/namespace.c:2758 fs/namespace.c:2729) tracesys (arch/x86/kernel/entry_64.S:746) -> #1 (cgroup_tree_mutex){+.+.+.}: lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) cgroup_add_cftypes (include/linux/list.h:76 kernel/cgroup.c:3040) blkcg_policy_register (block/blk-cgroup.c:1106) throtl_init (block/blk-throttle.c:1694) do_one_initcall (init/main.c:789) kernel_init_freeable (init/main.c:854 init/main.c:863 init/main.c:882 init/main.c:1003) kernel_init (init/main.c:935) ret_from_fork (arch/x86/kernel/entry_64.S:552) -> #0 (blkcg_pol_mutex){+.+.+.}: __lock_acquire (kernel/locking/lockdep.c:1840 kernel/locking/lockdep.c:1945 kernel/locking/lockdep.c:2131 kernel/locking/lockdep.c:3182) lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) cgroup_file_write (kernel/cgroup.c:2714) kernfs_fop_write (fs/kernfs/file.c:295) vfs_write (fs/read_write.c:532) SyS_write (fs/read_write.c:584 fs/read_write.c:576) tracesys (arch/x86/kernel/entry_64.S:746) other info that might help us debug this: Chain exists of: blkcg_pol_mutex --> cgroup_tree_mutex --> s_active#89 Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(s_active#89); lock(cgroup_tree_mutex); lock(s_active#89); lock(blkcg_pol_mutex); *** DEADLOCK *** 4 locks held by trinity-c173/9024: #0: (&f->f_pos_lock){+.+.+.}, at: __fdget_pos (fs/file.c:714) #1: (sb_writers#18){.+.+.+}, at: vfs_write (include/linux/fs.h:2255 fs/read_write.c:530) #2: (&of->mutex){+.+.+.}, at: kernfs_fop_write (fs/kernfs/file.c:283) #3: (s_active#89){++++.+}, at: kernfs_fop_write (fs/kernfs/file.c:283) stack backtrace: CPU: 3 PID: 9024 Comm: trinity-c173 Tainted: G W 3.15.0-rc3-next-20140430-sasha-00016-g4e281fa-dirty #429 ffffffff919687b0 ffff8805f6373bb8 ffffffff8e52cdbb 0000000000000002 ffffffff919d8400 ffff8805f6373c08 ffffffff8e51fb88 0000000000000004 ffff8805f6373c98 ffff8805f6373c08 ffff88061be70d98 ffff88061be70dd0 Call Trace: dump_stack (lib/dump_stack.c:52) print_circular_bug (kernel/locking/lockdep.c:1216) __lock_acquire (kernel/locking/lockdep.c:1840 kernel/locking/lockdep.c:1945 kernel/locking/lockdep.c:2131 kernel/locking/lockdep.c:3182) lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) cgroup_file_write (kernel/cgroup.c:2714) kernfs_fop_write (fs/kernfs/file.c:295) vfs_write (fs/read_write.c:532) SyS_write (fs/read_write.c:584 fs/read_write.c:576) This is a highly unlikely but valid circular dependency between "echo 1 > blkcg.reset_stats" and cfq module [un]loading. cgroup is going through further locking update which will remove this complication but for now let's use trylock on blkcg_pol_mutex and retry the file operation if the trylock fails. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Sasha Levin <sasha.levin@oracle.com> References: http://lkml.kernel.org/g/5363C04B.4010400@oracle.com commit d2c2b11cfa134f4fbdcc34088824da26a084d8de Author: Aristeu Rozanski <aris@redhat.com> Date: Mon May 5 11:18:59 2014 -0400 device_cgroup: check if exception removal is allowed [PATCH v3 1/2] device_cgroup: check if exception removal is allowed When the device cgroup hierarchy was introduced in bd2953ebbb53 - devcg: propagate local changes down the hierarchy a specific case was overlooked. Consider the hierarchy bellow: A default policy: ALLOW, exceptions will deny access \ B default policy: ALLOW, exceptions will deny access There's no need to verify when an new exception is added to B because in this case exceptions will deny access to further devices, which is always fine. Hierarchy in device cgroup only makes sure B won't have more access than A. But when an exception is removed (by writing devices.allow), it isn't checked if the user is in fact removing an inherited exception from A, thus giving more access to B. Example: # echo 'a' >A/devices.allow # echo 'c 1:3 rw' >A/devices.deny # echo $$ >A/B/tasks # echo >/dev/null -bash: /dev/null: Operation not permitted # echo 'c 1:3 w' >A/B/devices.allow # echo >/dev/null # This shouldn't be allowed and this patch fixes it by making sure to never allow exceptions in this case to be removed if the exception is partially or fully present on the parent. v3: missing '*' in function description v2: improved log message and formatting fixes Cc: cgroups@vger.kernel.org Cc: Li Zefan <lizefan@huawei.com> Cc: stable@vger.kernel.org Signed-off-by: Aristeu Rozanski <arozansk@redhat.com> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit aff09ce303f83bd370772349238482ae422a2341 Author: Vasily Averin <vvs@parallels.com> Date: Mon May 5 00:17:48 2014 +0400 bridge: superfluous skb->nfct check in br_nf_dev_queue_xmit Currently bridge can silently drop ipv4 fragments. If node have loaded nf_defrag_ipv4 module but have no nf_conntrack_ipv4, br_nf_pre_routing defragments incoming ipv4 fragments but nfct check in br_nf_dev_queue_xmit does not allow re-fragment combined packet back, and therefore it is dropped in br_dev_queue_push_xmit without incrementing of any failcounters It seems the only way to hit the ip_fragment code in the bridge xmit path is to have a fragment list whose reassembled fragments go over the mtu. This only happens if nf_defrag is enabled. Thanks to Florian Westphal for providing feedback to clarify this. Defragmentation ipv4 is required not only in conntracks but at least in TPROXY target and socket match, therefore #ifdef is changed from NF_CONNTRACK_IPV4 to NF_DEFRAG_IPV4 Signed-off-by: Vasily Averin <vvs@openvz.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 7c3d5ab1f35f5475b1a1fbe74143683cfc092d33 Author: Vasily Averin <vvs@parallels.com> Date: Sat May 3 03:14:04 2014 +0400 ipv4: fix "conntrack zones" support for defrag user check in ip_expire Defrag user check in ip_expire was not updated after adding support for "conntrack zones". This bug manifests as a RFC violation, since the router will send the icmp time exceeeded message when using conntrack zones. Signed-off-by: Vasily Averin <vvs@openvz.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit e669ba2d06c6195662601956454ac959892f0762 Author: Eliad Peller <eliad@wizery.com> Date: Wed Apr 30 16:14:24 2014 +0300 mac80211: fix nested rtnl locking on ieee80211_reconfig ieee80211_reconfig already holds rtnl, so calling cfg80211_sched_scan_stopped results in deadlock. Use the rtnl-version of this function instead. Fixes: d43c6b6 ("mac80211: reschedule sched scan after HW restart") Cc: stable@vger.kernel.org (3.14+) Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 792e6aa7a15ea0fb16f8687e93caede1ea9118c7 Author: Eliad Peller <eliad@wizery.com> Date: Wed Apr 30 16:14:23 2014 +0300 cfg80211: add cfg80211_sched_scan_stopped_rtnl Add locked-version for cfg80211_sched_scan_stopped. This is used for some users that might want to call it when rtnl is already locked. Fixes: d43c6b6 ("mac80211: reschedule sched scan after HW restart") Cc: stable@vger.kernel.org (3.14+) Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit c1fbb258846dfc425507a093922d2d001e54c3ea Author: Eliad Peller <eliad@wizery.com> Date: Wed Apr 30 15:58:13 2014 +0300 cfg80211: free sme on connection failures cfg80211 is notified about connection failures by __cfg80211_connect_result() call. However, this function currently does not free cfg80211 sme. This results in hanging connection attempts in some cases e.g. when mac80211 authentication attempt is denied, we have this function call: ieee80211_rx_mgmt_auth() -> cfg80211_rx_mlme_mgmt() -> cfg80211_process_auth() -> cfg80211_sme_rx_auth() -> __cfg80211_connect_result() but cfg80211_sme_free() is never get called. Fixes: ceca7b712 ("cfg80211: separate internal SME implementation") Cc: stable@vger.kernel.org (3.10+) Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit f4ebddf9abb1fb0add1ce8e9c0bc414f1c17d81d Author: Henning Rogge <hrogge@gmail.com> Date: Thu May 1 10:03:46 2014 +0200 mac80211: Fix mac80211 station info rx bitrate for IBSS mode Filter out incoming multicast packages before applying their bitrate to the rx bitrate station info field to prevent them from setting the rx bitrate to the basic multicast rate. Signed-off-by: Henning Rogge <hrogge@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 1a7adf2e2334cccb664fcacafa17898e142085c8 Merge: a2af978 398f5d5 Author: Olof Johansson <olof@lixom.net> Date: Sun May 4 22:39:04 2014 -0700 Merge tag 'mvebu-mbus_pci-fixes-3.15' of git://git.infradead.org/linux-mvebu into fixes From Jason Cooper: mvebu drivers (mbus and pci) fixes for v3.15 - pci - fix off-by-one for mbus window size - split BARs into multiple mbus windows when needed - mbus - avoid setting undefined window size - allow several windows with the same target/attr * tag 'mvebu-mbus_pci-fixes-3.15' of git://git.infradead.org/linux-mvebu: PCI: mvebu: split PCIe BARs into multiple MBus windows when needed bus: mvebu-mbus: allow several windows with the same target/attribute bus: mvebu-mbus: Avoid setting an undefined window size PCI: mvebu: fix off-by-one in the computed size of the mbus windows Signed-off-by: Olof Johansson <olof@lixom.net> commit a2af978986706148397264ae7186ed48cd7ee71a Merge: 1270f06 e247686 Author: Olof Johansson <olof@lixom.net> Date: Sun May 4 22:35:15 2014 -0700 Merge tag 'mvebu-dt-fixes-3.15' of git://git.infradead.org/linux-mvebu into fixes From Jason Cooper: mvebu DT fixes for v3.15 - mvebu - fix NOR bus width on Armada XP boards - use qsgmii on Armada XP GP board - add i2c bus freq for Armada 370 DB board - add SATA interface for Armada 375 DB - kirkwood - fix double probe of audio codec for T5325 * tag 'mvebu-dt-fixes-3.15' of git://git.infradead.org/linux-mvebu: ARM: Kirkwood: T5325: Fix double probe of Codec ARM: mvebu: enable the SATA interface on Armada 375 DB ARM: mvebu: specify I2C bus frequency on Armada 370 DB ARM: mvebu: use qsgmii phy-mode for Armada XP GP interfaces ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 Device Tree ARM: mvebu: fix NOR bus-width in Armada XP DB Device Tree ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree Signed-off-by: Olof Johansson <olof@lixom.net> commit 1270f063f95c9c57c59b60c7122603e633c6e276 Merge: 9a2044fc 1cc9d48 Author: Olof Johansson <olof@lixom.net> Date: Sun May 4 22:27:30 2014 -0700 Merge tag 'mvebu-fixes-3.15' of git://git.infradead.org/linux-mvebu into fixes From Jason Cooper: mvebu fixes for v3.15 - devbus: fix bus-width conversion - orion5x: fix target ID for crypto SRAM window * tag 'mvebu-fixes-3.15' of git://git.infradead.org/linux-mvebu: ARM: orion5x: fix target ID for crypto SRAM window memory: mvebu-devbus: fix the conversion of the bus width Signed-off-by: Olof Johansson <olof@lixom.net> commit 9a2044fce2021358e082d344b8c248e83b1c499b Merge: 12e8e59 4c05160 Author: Olof Johansson <olof@lixom.net> Date: Sun May 4 22:20:30 2014 -0700 Merge tag 'omap-for-v3.15/fixes-gpmc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge fixes from Tony Lindgren: Mostly fixes for occasional memory corruption caused by bad timings for smc911x LAN9220 (and potentially LAN9221) devices that were noted on a cm-t3730 system. Also fix THUMB mode for SMP, and mailbox related warnings when booted with device tree. * tag 'omap-for-v3.15/fixes-gpmc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: AM3517: Disable absent IPs inherited from OMAP3 ARM: dts: OMAP2: Fix interrupts for OMAP2420 mailbox ARM: dts: OMAP5: Add mailbox dt node to fix boot warning ARM: OMAP5: Switch to THUMB mode if needed on secondary CPU ARM: dts: am437x-gp-evm: Do not reset gpio5 ARM: dts: omap3-igep0020: use SMSC9221 timings ARM: dts: Fix GPMC timings for LAN9220 ARM: dts: Fix GPMC Ethernet timings for omap cm-t sbc-t boards for device tree ARM: dts: Fix bad OTG muxing for cm-t boards Signed-off-by: Olof Johansson <olof@lixom.net> commit 788296b2d19d16ec33aba0a5ad1544d50bb58601 Author: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Date: Wed Apr 30 14:56:28 2014 +0200 ARM: dts: kirkwood: fix mislocated pcie-controller nodes Commit 54397d85349f ("ARM: kirkwood: Relocate PCIe device tree nodes") moved the pcie-controller nodes for the Kirkwood SoCs to the mbus bus node. For some reason, two boards were not properly converted and have their pci-controller nodes still in the ocp bus node. As the corresponding SoC pcie-controller does not exist anymore, it is likely that pcie is broken on those boards since above commit. Fix it by moving the pcie related nodes to the correct location. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Fixes: 54397d85349f ("ARM: kirkwood: Relocate PCIe device tree nodes") Cc: <stable@vger.kernel.org> # v3.12+ Acked-by: Andrew Lunn <andrew@lunn.ch> Link: https://lkml.kernel.org/r/1398862602-29595-2-git-send-email-sebastian.hesselbarth@gmail.com Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit f5f3cf6f7e49b9529fc00a2c4629fa92cf2755fe Author: Aristeu Rozanski <aris@redhat.com> Date: Thu Apr 24 15:33:21 2014 -0400 device_cgroup: fix the comment format for recently added functions Moving more extensive explanations to the end of the comment. Cc: Li Zefan <lizefan@huawei.com> Signed-off-by: Aristeu Rozanski <arozansk@redhat.com> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit e783c51cce94521c10e599e991acdcfd9a996c4a Author: Shawn Guo <shawn.guo@freescale.com> Date: Sun May 4 21:48:06 2014 +0800 ahci: imx: software workaround for phy reset issue in resume When suspending imx6q systems which have rootfs on SATA, the following error will likely be seen in resume. The SATA link will fail to come up, and it results in an unusable system across the suspend/resume cycle. $ echo mem > /sys/power/state PM: Syncing filesystems ... done. PM: Preparing system for mem sleep Freezing user space processes ... (elapsed 0.002 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done. PM: Entering mem sleep sd 0:0:0:0: [sda] Synchronizing SCSI cache sd 0:0:0:0: [sda] Stopping disk PM: suspend of devices complete after 61.914 msecs PM: suspend devices took 0.070 seconds PM: late suspend of devices complete after 4.906 msecs PM: noirq suspend of devices complete after 4.521 msecs Disabling non-boot CPUs ... CPU1: shutdown CPU2: shutdown CPU3: shutdown Enabling non-boot CPUs ... CPU1: Booted secondary processor CPU1 is up CPU2: Booted secondary processor CPU2 is up CPU3: Booted secondary processor CPU3 is up PM: noirq resume of devices complete after 10.486 msecs PM: early resume of devices complete after 4.679 msecs sd 0:0:0:0: [sda] Starting disk PM: resume of devices complete after 22.674 msecs PM: resume devices took 0.030 seconds PM: Finishing wakeup. Restarting tasks ... done. $ ata1: SATA link down (SStatus 1 SControl 300) ata1: SATA link down (SStatus 1 SControl 300) ata1: limiting SATA link speed to 1.5 Gbps ata1: SATA link down (SStatus 1 SControl 310) ata1.00: disabled ata1: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen t4 ata1: irq_stat 0x00000040, connection status changed ata1: SError: { CommWake DevExch } ata1: hard resetting link sd 0:0:0:0: rejecting I/O to offline device sd 0:0:0:0: killing request sd 0:0:0:0: rejecting I/O to offline device Aborting journal on device sda2-8. sd 0:0:0:0: rejecting I/O to offline device EXT4-fs warning (device sda2): ext4_end_bio:317: I/O error writing to inode 132577 (offset 0 size 0 starting block 26235) Buffer I/O error on device sda2, logical block 10169 ... It's caused by a silicon issue that SATA phy does not get reset by controller when coming back from LPM. The patch adds a software workaround for this issue. It enforces a software reset on SATA phy in imx_sata_enable() function, so that we can ensure SATA link will come up properly in both power-on and resume. The software reset is implemented by writing phy reset register through the phy control register bus interface. Functions imx_phy_reg_[addressing|write|read]() implement this bus interface, while imx_sata_phy_reset() performs the actually reset operation. Signed-off-by: Richard Zhu <r65037@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit 24a9ad5b82929cdeaff70018d82263de0c34c45d Author: Shawn Guo <shawn.guo@freescale.com> Date: Sun May 4 21:48:05 2014 +0800 ahci: imx: add namespace for register enums Update register enums a little bit to add proper namespace prefix, and have the names match i.MX reference manual. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit ecd15dd7e45f3683fa8142b9f2c015dfaa0c243d Author: Denys Fedoryshchenko <nuclearcat@nuclearcat.com> Date: Sun May 4 13:35:37 2014 +0200 netfilter: nfnetlink: Fix use after free when it fails to process batch This bug manifests when calling the nft command line tool without nf_tables kernel support. kernel message: [ 44.071555] Netfilter messages via NETLINK v0.30. [ 44.072253] BUG: unable to handle kernel NULL pointer dereference at 0000000000000119 [ 44.072264] IP: [<ffffffff8171db1f>] netlink_getsockbyportid+0xf/0x70 [ 44.072272] PGD 7f2b74067 PUD 7f2b73067 PMD 0 [ 44.072277] Oops: 0000 [#1] SMP [...] [ 44.072369] Call Trace: [ 44.072373] [<ffffffff8171fd81>] netlink_unicast+0x91/0x200 [ 44.072377] [<ffffffff817206c9>] netlink_ack+0x99/0x110 [ 44.072381] [<ffffffffa004b951>] nfnetlink_rcv+0x3c1/0x408 [nfnetlink] [ 44.072385] [<ffffffff8171fde3>] netlink_unicast+0xf3/0x200 [ 44.072389] [<ffffffff817201ef>] netlink_sendmsg+0x2ff/0x740 [ 44.072394] [<ffffffff81044752>] ? __mmdrop+0x62/0x90 [ 44.072398] [<ffffffff816dafdb>] sock_sendmsg+0x8b/0xc0 [ 44.072403] [<ffffffff812f1af5>] ? copy_user_enhanced_fast_string+0x5/0x10 [ 44.072406] [<ffffffff816dbb6c>] ? move_addr_to_kernel+0x2c/0x50 [ 44.072410] [<ffffffff816db423>] ___sys_sendmsg+0x3c3/0x3d0 [ 44.072415] [<ffffffff811301ba>] ? handle_mm_fault+0xa9a/0xc60 [ 44.072420] [<ffffffff811362d6>] ? mmap_region+0x166/0x5a0 [ 44.072424] [<ffffffff817da84c>] ? __do_page_fault+0x1dc/0x510 [ 44.072428] [<ffffffff812b8b2c>] ? apparmor_capable+0x1c/0x60 [ 44.072435] [<ffffffff817d6e9a>] ? _raw_spin_unlock_bh+0x1a/0x20 [ 44.072439] [<ffffffff816dfc86>] ? release_sock+0x106/0x150 [ 44.072443] [<ffffffff816dc212>] __sys_sendmsg+0x42/0x80 [ 44.072446] [<ffffffff816dc262>] SyS_sendmsg+0x12/0x20 [ 44.072450] [<ffffffff817df616>] system_call_fastpath+0x1a/0x1f Signed-off-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit 895162b1101b3ea5db08ca6822ae9672717efec0 Author: Florian Westphal <fw@strlen.de> Date: Fri May 2 15:32:16 2014 +0200 netfilter: ipv4: defrag: set local_df flag on defragmented skb else we may fail to forward skb even if original fragments do fit outgoing link mtu: 1. remote sends 2k packets in two 1000 byte frags, DF set 2. we want to forward but only see '2k > mtu and DF set' 3. we then send icmp error saying that outgoing link is 1500 But original sender never sent a packet that would not fit the outgoing link. Setting local_df makes outgoing path test size vs. IPCB(skb)->frag_max_size, so we will still send the correct error in case the largest original size did not fit outgoing link mtu. Reported-by: Maxime Bizon <mbizon@freebox.fr> Suggested-by: Maxime Bizon <mbizon@freebox.fr> Fixes: 5f2d04f1f9 (ipv4: fix path MTU discovery with connection tracking) Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit c3676d5ceff213cba35af5ee5f320d2e8dc48cdf Author: Mark Brown <broonie@linaro.org> Date: Thu May 1 10:47:52 2014 -0700 spi: core: Don't destroy master queue if we fail to create it If we fail to create the master queue for some reason we should not attempt to clean it up since attempting to stop a kthread that was not created will hang and it's just generally bad practice. Unfortunately at present we call spi_destroy_queue() even in cases where the creation fails. Fix this by fixing the error handling in spi_master_initialize_queue() so that we only flag the master as queued or destroy the queue if creation succeeded. The change to the flag is done since the general master cleanup uses this to destroy the queue. Reported-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> commit 3d89e141bbf8619f3db97c38e33cb6d7a563614d Author: Axel Lin <axel.lin@ingics.com> Date: Sat May 3 10:57:57 2014 +0800 spi: qup: Fix return value checking for pm_runtime_get_sync() pm_runtime_get_sync() returns 1 if !CONFIG_PM_RUNTIME. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 2de440f59ca9615c92820d165d5e59756e54026b Author: Geert Uytterhoeven <geert@linux-m68k.org> Date: Fri May 2 06:29:34 2014 +0200 spi: core: Protect DMA code by #ifdef CONFIG_HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `spi_map_buf': spi.c:(.text+0x21bc60): undefined reference to `dma_map_sg' drivers/built-in.o: In function `spi_unmap_buf.isra.33': spi.c:(.text+0x21c32e): undefined reference to `dma_unmap_sg' make[3]: *** [vmlinux] Error 1 Protect the DMA code by #ifdef CONFIG_HAS_DMA to fix this: - Extract __spi_map_msg() from spi_map_msg(), - Provide dummy definitions of __spi_map_msg() and spi_unmap_msg() if !CONFIG_HAS_DMA. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Mark Brown <broonie@linaro.org> commit 51b4e24f383c84ed927fef348072b6dc65b9816d Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:33 2014 +0100 ASoC: Intel: Fix stream position pointer. Read the stream offset and presentation position from DSP memory rather than using the old estimated position. This fixes timing issues with pulseaudio. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 916152c48848290a8aba5cf4dd16c2a8a888e11c Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:32 2014 +0100 ASoC: Intel: Fix allow hw_params to be called more than once. hw_params() can be called multiple times. Make sure we release the DSP stream that was allocated on previous hw_params() calls before allocating a new DSP stream. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 10df350977b15d44dba0b3b44e3da7989711cb8d Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:31 2014 +0100 ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled. The Intel IOMMU requires that the ACPI device is used to allocate all DMA memory buffers. This means we need to pass the DMA device pointer into child component devices that allocate DMA memory. We also only set the DMA mask for the ACPI device now instead of for each component device. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 0b708c87f66a15190fb43661c2320fd48c4dc6c8 Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:30 2014 +0100 ASoC: Intel: Fix Haswell/Broadwell DSP page table creation. Fix page table creation on Haswell and Broadwell to remove unsafe virt_to_phys mappings and use more portable SG buffer. Use audio buffer APIs to allocate DMA buffers. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 84fbdd58614e35108ece5c79ada33443dbcdaf37 Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:29 2014 +0100 ASoC: Intel: Fix allocated block list usage when adding blocks. Make sure we add the allocated blocks to the modules list of blocks. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 48695f3d4e7abbfb8fbba45397dce4d5fc0ccfed Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> Date: Fri May 2 16:56:27 2014 +0100 ASoC: Intel: Fix block allocation so we only allocate blocks once. Make sure we dont alloc blocks twice with requests spanning more than one block. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 34f51147d2e64da842679a97ffcfd17c8a0e6943 Author: Dave Young <dyoung@redhat.com> Date: Thu May 1 21:15:48 2014 +0800 x86/efi: earlyprintk=efi,keep fix earlyprintk=efi,keep will cause kernel hangs while freeing initmem like below: VFS: Mounted root (ext4 filesystem) readonly on device 254:2. devtmpfs: mounted Freeing unused kernel memory: 880K (ffffffff817d4000 - ffffffff818b0000) It is caused by efi earlyprintk use __init function which will be freed later. Such as early_efi_write is marked as __init, also it will use early_ioremap which is init function as well. To fix this issue, I added early initcall early_efi_map_fb which maps the whole efi fb for later use. OTOH, adding a wrapper function early_efi_map which calls early_ioremap before ioremap is available. With this patch applied efi boot ok with earlyprintk=efi,keep console=efi Signed-off-by: Dave Young <dyoung@redhat.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com> commit 84e108fc7b23310fb6d93a657e47181d64ab6e93 Author: Maxime Ripard <maxime.ripard@free-electrons.com> Date: Mon Apr 28 11:44:36 2014 -0700 ARM: sunxi: Enable GMAC in sunxi_defconfig Since the support of the GMAC has been merged, we're using it as the ethernet controller on the A20 devices. However, sunxi_defconfig wasn't selecting it hence breaking the NFS boot. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> commit e6a623460e5fc960ac3ee9f946d3106233fd28d8 Author: Salva Peiró <speiro@ai2.upv.es> Date: Wed Apr 30 19:48:02 2014 +0200 [media] media-device: fix infoleak in ioctl media_enum_entities() This fixes CVE-2014-1739. Signed-off-by: Salva Peiró <speiro@ai2.upv.es> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 874f224cc52d64c912087e68e3724be95ad80ee7 Author: Stephen Boyd <sboyd@codeaurora.org> Date: Fri Apr 18 16:29:43 2014 -0700 clk: Fix slab corruption in clk_unregister() When a clock is unregsitered, we iterate over the list of children and reparent them to NULL (i.e. orphan list). While iterating the list, we should use the safe iterators because the children list for this clock is changing when we reparent the children to NULL. Failure to iterate safely can lead to slab corruption like this: ============================================================================= BUG kmalloc-128 (Not tainted): Poison overwritten ----------------------------------------------------------------------------- Disabling lock debugging due to kernel taint INFO: 0xed0c4900-0xed0c4903. First byte 0x0 instead of 0x6b INFO: Allocated in clk_register+0x20/0x1bc age=297 cpu=2 pid=70 __slab_alloc.isra.39.constprop.42+0x410/0x454 kmem_cache_alloc_trace+0x200/0x24c clk_register+0x20/0x1bc devm_clk_register+0x34/0x68 0xbf0000f0 platform_drv_probe+0x18/0x48 driver_probe_device+0x94/0x360 __driver_attach+0x94/0x98 bus_for_each_dev+0x54/0x88 bus_add_driver+0xe8/0x204 driver_register+0x78/0xf4 do_one_initcall+0xc4/0x17c load_module+0x19ac/0x2294 SyS_init_module+0xa4/0x110 ret_fast_syscall+0x0/0x48 INFO: Freed in clk_unregister+0xd4/0x140 age=23 cpu=2 pid=73 __slab_free+0x38/0x41c clk_unregister+0xd4/0x140 release_nodes+0x164/0x1d8 __device_release_driver+0x60/0xb0 driver_detach+0xb4/0xb8 bus_remove_driver+0x5c/0xc4 SyS_delete_module+0x148/0x1d8 ret_fast_syscall+0x0/0x48 INFO: Slab 0xeec50b90 objects=25 used=0 fp=0xed0c5400 flags=0x4080 INFO: Object 0xed0c48c0 @offset=2240 fp=0xed0c4a00 Bytes b4 ed0c48b0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ Object ed0c48c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c48d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c48e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c48f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c4900: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b ....kkkkkkkkkkkk Object ed0c4910: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c4920: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk Object ed0c4930: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk. Redzone ed0c4940: bb bb bb bb .... Padding ed0c49e8: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ Padding ed0c49f8: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ CPU: 3 PID: 75 Comm: mdev Tainted: G B 3.14.0-11033-g2054ba5ca781 #35 [<c0014be0>] (unwind_backtrace) from [<c0012240>] (show_stack+0x10/0x14) [<c0012240>] (show_stack) from [<c04b74a0>] (dump_stack+0x70/0xbc) [<c04b74a0>] (dump_stack) from [<c00f7a78>] (check_bytes_and_report+0xbc/0x100) [<c00f7a78>] (check_bytes_and_report) from [<c00f7c48>] (check_object+0x18c/0x218) [<c00f7c48>] (check_object) from [<c00f7efc>] (__free_slab+0x104/0x144) [<c00f7efc>] (__free_slab) from [<c04b6668>] (__slab_free+0x3dc/0x41c) [<c04b6668>] (__slab_free) from [<c014c008>] (load_elf_binary+0x88/0x12b4) [<c014c008>] (load_elf_binary) from [<c0105a44>] (search_binary_handler+0x78/0x18c) [<c0105a44>] (search_binary_handler) from [<c0106fc0>] (do_execve+0x490/0x5dc) [<c0106fc0>] (do_execve) from [<c0036b8c>] (____call_usermodehelper+0x134/0x168) [<c0036b8c>] (____call_usermodehelper) from [<c000f048>] (ret_from_fork+0x14/0x2c) FIX kmalloc-128: Restoring 0xed0c4900-0xed0c4903=0x6b Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister) Cc: Jiada Wang <jiada_wang@mentor.com> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Mike Turquette <mturquette@linaro.org> Cc: stable@vger.kernel.org commit 293ba3b4a4fd54891b900f2911d1a57e1ed4a843 Author: Stephen Boyd <sboyd@codeaurora.org> Date: Fri Apr 18 16:29:42 2014 -0700 clk: Fix double free due to devm_clk_register() Now that clk_unregister() frees the struct clk we're unregistering we'll free memory twice: first we'll call kfree() in __clk_release() with an address kmalloc doesn't know about and second we'll call kfree() in the devres layer. Remove the allocation of struct clk in devm_clk_register() and let clk_release() handle it. This fixes slab errors like: ============================================================================= BUG kmalloc-128 (Not tainted): Invalid object pointer 0xed08e8d0 ----------------------------------------------------------------------------- Disabling lock debugging due to kernel taint INFO: Slab 0xeec503f8 objects=25 used=15 fp=0xed08ea00 flags=0x4081 CPU: 2 PID: 73 Comm: rmmod Tainted: G B 3.14.0-11032-g526e9c764381 #34 [<c0014be0>] (unwind_backtrace) from [<c0012240>] (show_stack+0x10/0x14) [<c0012240>] (show_stack) from [<c04b74dc>] (dump_stack+0x70/0xbc) [<c04b74dc>] (dump_stack) from [<c00f6778>] (slab_err+0x74/0x84) [<c00f6778>] (slab_err) from [<c04b6278>] (free_debug_processing+0x2cc/0x31c) [<c04b6278>] (free_debug_processing) from [<c04b6300>] (__slab_free+0x38/0x41c) [<c04b6300>] (__slab_free) from [<c03931bc>] (clk_unregister+0xd4/0x140) [<c03931bc>] (clk_unregister) from [<c02fb774>] (release_nodes+0x164/0x1d8) [<c02fb774>] (release_nodes) from [<c02f8698>] (__device_release_driver+0x60/0xb0) [<c02f8698>] (__device_release_driver) from [<c02f9080>] (driver_detach+0xb4/0xb8) [<c02f9080>] (driver_detach) from [<c02f8480>] (bus_remove_driver+0x5c/0xc4) [<c02f8480>] (bus_remove_driver) from [<c008c9b8>] (SyS_delete_module+0x148/0x1d8) [<c008c9b8>] (SyS_delete_module) from [<c000ef80>] (ret_fast_syscall+0x0/0x48) FIX kmalloc-128: Object at 0xed08e8d0 not freed Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister) Cc: Jiada Wang <jiada_wang@mentor.com> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Mike Turquette <mturquette@linaro.org> Cc: stable@vger.kernel.org commit 2aa6dd07bd86daf4dd7ddb3118dd2d0941fbda2e Merge: dd23c2c a30d27e Author: Mike Turquette <mturquette@linaro.org> Date: Fri Apr 25 08:33:28 2014 -0700 Merge tag 'socfpga-clk-fix-for-3.15' of git://git.rocketboards.org/linux-socfpga-next into clk-fixes-socfpga clk: socfpga: clock fix for v3.15 Currently on 3.15-rc1, the SOCFPGA platform is unable to boot. This patch fixes the issue and allows the platform to boot. commit a30d27ed739b2c6662f07c76e5deea7bc916bd12 Author: Dinh Nguyen <dinguyen@altera.com> Date: Mon Apr 14 07:59:32 2014 -0500 clk: socfpga: fix clock driver for 3.15 commit [1771b10d6 clk: respect the clock dependencies in of_clk_init] exposed a flaw in the socfpga clock driver and prevents the platform from booting on 3.15-rc1. Because the "altr,clk-mgr" is not really a clock, it should not be using CLK_OF_DECLARE, instead we should be mapping the clk-mgr's base address one of the functional clock init function. Use the socfpga_pll_init function to map the clk_mgr_base_addr as this clock should always be initialized first. Signed-off-by: Dinh Nguyen <dinguyen@altera.com> Tested-by: Pavel Machek <pavel@denx.de> commit dd23c2cd38da2c64af381b19795d2c4f115e8ecb Author: Maxime COQUELIN <maxime.coquelin@st.com> Date: Wed Jan 29 17:24:06 2014 +0100 clk: divider: Fix best div calculation for power-of-two and table dividers The divider returned by clk_divider_bestdiv() is likely to be invalid in case of power-of-two and table dividers when CLK_SET_RATE_PARENT flag isn't set. Fixes boot on STiH416 platform. Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Mike Turquette <mturquette@linaro.org> [mturquette@linaro.org: trivial merge conflict & updated changelog] commit e813d49d2a477e3b64a9ff32ca7db5737d36cd91 Author: Alex Elder <elder@linaro.org> Date: Mon Apr 7 08:22:12 2014 -0500 clk: bcm281xx: don't use unnamed structs or unions The Broadcom Kona clock code, as originally written, made use of unnamed union and struct fields. This is a feature present in C11, and is a GNU extension otherwise. It worked very well for me. Unfortunately, Russell King reported that this feature was not supported in a build environment he used, which meant attempting to build this code failed spectacularly. Add names to these unnamed fields, and update the code accordingly. Reported-by: Russell King <linux@arm.linux.org.uk> Tested-by: Markus Mayer <markus.mayer@linaro.org> Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Mike Turquette <mturquette@linaro.org> commit fe337ac2839521b360f828b3ebd992d597b1ad16 Author: Florian Westphal <fw@strlen.de> Date: Mon Apr 28 21:07:31 2014 +0200 netfilter: ctnetlink: don't add null bindings if no nat requested commit 0eba801b64cc8284d9024c7ece30415a2b981a72 tried to fix a race where nat initialisation can happen after ctnetlink-created conntrack has been created. However, it causes the nat module(s) to be loaded needlessly on systems that are not using NAT. Fortunately, we do not have to create null bindings in that case. conntracks injected via ctnetlink always have the CONFIRMED bit set, which prevents addition of the nat extension in nf_nat_ipv4/6_fn(). We only need to make sure that either no nat extension is added or that we've created both src and dst manips. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> commit cf7eb979116c2568e8bc3b6a7269c7a359864ace Author: Thomas Gleixner <tglx@linutronix.de> Date: Sun Apr 13 20:44:46 2014 +0200 ARM: common: edma: Fix xbar mapping This is another great example of trainwreck engineering: commit 2646a0e529 (ARM: edma: Add EDMA crossbar event mux support) added support for using EDMA on peripherals which have no direct EDMA event mapping. The code compiles and does not explode in your face, but that's it. 1) Reading an u16 array from an u32 device tree array simply does not work. Even if the function is named "edma_of_read_u32_to_s16_array". It merily calls of_property_read_u16_array. So the resulting 16bit array will have every other entry = 0. 2) The DT entry for the xbar registers related to xbar has length 0x10 instead of the real length: 0xfd0 - 0xf90 = 0x40. Not a real problem as it does not cross a page boundary, but wrong nevertheless. 3) But none of this matters as the mapping never happens: After reading nonsense edma_of_read_u32_to_s16_array() invalidates the first array entry pair, so nobody can ever notice the braindamage by immediate explosion. Seems the QA criteria for this code was solely not to explode when someone adds edma-xbar-event-map entries to the DT. Goal achieved, congratulations! Not really helpful if someone wants to use edma on a device which requires a xbar mapping. Fix the issues by: - annotating the device tree entry with "/bits/ 16" as documented in the of_property_read_u16_array kernel doc - make the size of the xbar register mapping correct - invalidating the end of the array and not the start This convoluted mess wants to be completely rewritten as there is no point to keep the xbar_chan array memory and the iomapping of the xbar regs around forever. Marking the xbar mapped channels as used should be done right there. But that's a different issue and this patch is small enough to make it work and allows a simple backport for stable. Cc: stable@vger.kernel.org # v3.12+ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Sekhar Nori <nsekhar@ti.com> commit b18db0b80867931f4e3a844400a3c22a4fd2ff57 Author: Alexander Graf <agraf@suse.de> Date: Tue Apr 29 12:17:26 2014 +0200 KVM guest: Make pv trampoline code executable Our PV guest patching code assembles chunks of instructions on the fly when it encounters more complicated instructions to hijack. These instructions need to live in a section that we don't mark as non-executable, as otherwise we fault when jumping there. Right now we put it into the .bss section where it automatically gets marked as non-executable. Add a check to the NX setting function to ensure that we leave these particular pages executable. Signed-off-by: Alexander Graf <agraf@suse.de> commit 61622cc6f29034d0479f7ac16f3d48f1eeabf3a1 Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Tue Apr 29 07:50:44 2014 +0200 xfrm4: Properly handle unsupported protocols We don't catch the case if an unsupported protocol is submitted to the xfrm4 protocol handlers, this can lead to NULL pointer dereferences. Fix this by adding the appropriate checks. Fixes: 3328715e ("xfrm4: Add IPsec protocol multiplexer") Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> commit 98d7e1aee6dd534f468993f8c6a1bc730d4cfa81 Author: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Date: Mon Apr 21 15:06:23 2014 +0200 ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms Commit 7b2e1277598e4187c9be3e61fd9b0f0423f97986 ("ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5") enabled clock rate back-propagation from cam_mclk do dpll4_m5 on OMAP3630 only. Perform back-propagation on other OMAP3 platforms as well. Reported-by: Jean-Philippe François <jp.francois@cynove.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: <stable@kernel.org> Signed-off-by: Paul Walmsley <paul@pwsan.com> commit a38670459d6883582bc360ee480f9fcec4900162 Author: Maxime Ripard <maxime.ripard@free-electrons.com> Date: Fri Apr 18 21:13:08 2014 +0200 ARM: sun7i: Fix i2c4 base address For some reason, the base address of the fifth I2C adapter in the A20 was incorrect. Change this to the actual base address. Reported-by: Marcus Cooper <codekipper@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Hans de Goede <hdegoede@redhat.com> commit ab78475c76bd8c54375d8a778200c59314973d30 Author: Alexander Graf <agraf@suse.de> Date: Sun Apr 6 23:31:48 2014 +0200 KVM: PPC: Book3S: ifdef on CONFIG_KVM_BOOK3S_32_HANDLER for 32bit The book3s_32 target can get built as module which means we don't see the config define for it in code. Instead, check on the bool define CONFIG_KVM_BOOK3S_32_HANDLER whenever we want to know whether we're building for a book3s_32 host. This fixes running book3s_32 kvm as a module for me. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> commit 0a8eccefcb3423b45dc0a5a527b4799520e2bc94 Author: Paul Mackerras <paulus@au1.ibm.com> Date: Mon Apr 14 08:56:26 2014 +1000 KVM: PPC: Book3S HV: Add missing code for transaction reclaim on guest exit Testing by Michael Neuling revealed that commit e4e38121507a ("KVM: PPC: Book3S HV: Add transactional memory support") is missing the code that saves away the checkpointed state of the guest when switching to the host. This adds that code, which was in earlier versions of the patch but went missing somehow. Reported-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de> commit 1ad9f23873a4ee837643be5a29c05e405ec54e18 Author: pingfank@linux.vnet.ibm.com <pingfank@linux.vnet.ibm.com> Date: Tue Apr 15 16:33:40 2014 +0800 KVM: PPC: Book3S: HV: make _PAGE_NUMA take effect Numa fault is a method which help to achieve auto numa balancing. When such a page fault takes place, the page fault handler will check whether the page is placed correctly. If not, migration should be involved to cut down the distance between the cpu and pages. A pte with _PAGE_NUMA help to implement numa fault. It means not to allow the MMU to access the page directly. So a page fault is triggered and numa fault handler gets the opportunity to run checker. As for the access of MMU, we need special handling for the powernv's guest. When we mark a pte with _PAGE_NUMA, we already call mmu_notifier to invalidate it in guest's htab, but when we tried to re-insert them, we firstly try to map it in real-mode. Only after this fails, we fallback to virt mode, and most of important, we run numa fault handler in virt mode. This patch guards the way of real-mode to ensure that if a pte is marked with _PAGE_NUMA, it will NOT be mapped in real mode, instead, it will be mapped in virt mode and have the opportunity to be checked with placement. Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de> commit 27c5fb7a84242b66bf1e0b2fe6bf40d19bcc5c04 Author: Horia Geanta <horia.geanta@freescale.com> Date: Fri Apr 18 13:01:42 2014 +0300 crypto: caam - add allocation failure handling in SPRINTFCAT macro GFP_ATOMIC memory allocation could fail. In this case, avoid NULL pointer dereference and notify user. Cc: <stable@vger.kernel.org> # 3.2+ Cc: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Horia Geanta <horia.geanta@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> commit 05a812ac474d0d6aef6d54b66bb08b81abde79c6 Author: Vladimir Murzin <murzin.v@gmail.com> Date: Sun Apr 27 10:09:12 2014 +0100 xen/events/fifo: correctly align bitops FIFO event channels require bitops on 32-bit aligned values (the event words). Linux's bitops require unsigned long alignment which may be 64-bits. On arm64 an incorrectly unaligned access will fault. Fix this by aligning the bitops along with an adjustment for bit position and using an unsigned long for the local copy of the ready word. Cc: stable@vger.kernel.org Signed-off-by: Vladimir Murzin <murzin.v@gmail.com> Tested-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org> Reviewed-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com> commit 063aa8e68e53cc0d0961ea90c12cea40c6b94828 Author: Julien Grall <julien.grall@linaro.org> Date: Fri Apr 18 16:54:34 2014 +0100 arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h virt_to_pfn has been defined in asm/memory.h by the commit e26a9e0 "ARM: Better virt_to_page() handling" This will result of a compilation warning when CONFIG_XEN is enabled. arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default] #define virt_to_pfn(v) (PFN_DOWN(__pa(v))) ^ In file included from arch/arm/include/asm/page.h:163:0, from arch/arm/include/asm/xen/page.h:4, from include/xen/page.h:4, from arch/arm/xen/grant-table.c:33: The definition in memory.h is nearly the same (it directly expand PFN_DOWN), so we can safely drop virt_to_pfn in xen include. Signed-off-by: Julien Grall <julien.grall@linaro.org> Signed-off-by: David Vrabel <david.vrabel@citrix.com> commit 67dadcb324c2fe059cb2c35f8b80df42bb23f7c4 Merge: eb47f71 e26a9e0 Author: David Vrabel <david.vrabel@citrix.com> Date: Mon Apr 28 10:31:04 2014 +0100 Merge commit 'e26a9e0' into stable/for-linus-3.15 commit a3fe964135d0e4b925eaf4a5891c84daa7885c86 Author: Shawn Guo <shawn.guo@freescale.com> Date: Thu Apr 10 14:19:05 2014 +0800 imx-drm: imx-tve: correct DDC property name to 'ddc-i2c-bus' Commit 62e3879 (imx-drm: imx-tve: Fix DDC I2C bus property) was trying to use 'ddc-i2c-bus' as the DDC property name (we can see that from the commit log), but unfortunately 'i2c-ddc-bus' which is a typo was actually used in the code. This results in some unnecessary inconsistency and confusions, because all the documented DDC property in device tree bindings use 'ddc-i2c-bus'. Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt Documentation/devicetree/bindings/panel/simple-panel.txt Documentation/devicetree/bindings/video/dvi-connector.txt Let's fix it before the error spreads. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit 12e8e5952598714faa6f202ab028bcd291337cce Merge: 76e7745 35d35aa Author: Arnd Bergmann <arnd@arndb.de> Date: Sat Apr 26 11:29:30 2014 +0200 Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes 3.15 fixes for AT91 - one little DT fix - the use of proper directory for clock in include/dt-bindings it allows to remove the now empty include/dt-bindings/clk * tag 'at91-fixes' of git://github.com/at91linux/linux-at91: dt-bindings: clock: Move at91.h to dt-bindigs/clock ARM: at91: fix spi cs on sama5d3 Xplained board Signed-off-by: Arnd Bergmann <arnd@arndb.de> commit e247686085f71e9c25e3488ce83d5d0f77023438 Author: Andrew Lunn <andrew@lunn.ch> Date: Tue Apr 15 14:40:08 2014 +0200 ARM: Kirkwood: T5325: Fix double probe of Codec The codec is defined both in DT and the board file. The board file however contains platform data which is required in order that the codec works. When the DT instantiates the codec before the board files does, it is missing the platform data and so fails. Remove the DT node until we have a binding which can pass the additional data. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Link: https://lkml.kernel.org/r/1397565608-1830-1-git-send-email-andrew@lunn.ch Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit d685058f5b878a71f99c8e2fd9707b3f49510b94 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Fri Apr 18 09:41:45 2014 +0200 ARM: mvebu: enable the SATA interface on Armada 375 DB The Armada 375 SoC has a dual-port SATA interface, which is exposed on the Armada 375 DB board. This commit therefore enables this interface on the Armada 375 DB board. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Link: https://lkml.kernel.org/r/1397806908-7550-3-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit ac164d1144f1a699d307bb05095e352ed6de236f Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Fri Apr 18 09:41:44 2014 +0200 ARM: mvebu: specify I2C bus frequency on Armada 370 DB In commit 249f3822509b74f8c8d0731aeb7ccea065376c9b ('ARM: mvebu: add audio support to Armada 370 DB'), the I2C bus 0 was enabled on the Armada 370 DB board, and an I2C codec was described as being connected on this bus. However, this commit forgot to define the I2C bus frequency, which leads the i2c-mv64xxx to fail probing, as it cannot calculate the baud rate multiplier/divisor to derive the I2C bus frequency from the core SoC frequency. It makes audio completely unusable, as the I2C bus is not probed, and therefore the audio codec is not probed either. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Link: https://lkml.kernel.org/r/1397806908-7550-2-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 80fa10f4e9278c4df1636a26025b12588078ad61 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Tue Apr 15 15:50:21 2014 +0200 ARM: mvebu: use qsgmii phy-mode for Armada XP GP interfaces The Armada XP GP isn't using rgmii-id connections between the MAC and PHY, but instead a single QSGMII connection, which is a quad-SGMII connection: a double pair of differential lines that are multiplexed to convey the traffic of four network interfaces between a MAC and a PHY. Until now, the Armada XP GP was relying on the bootloader setting the correct values in various configuration registers. With this change, the mvneta driver can be used as a module on this platform. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397569821-5530-4-git-send-email-thomas.petazzoni@free-electrons.com Tested-by: Arnaud Ebalard <arno@natisbad.org> Tested-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 6e20bae8a39c40d4e03698e4160bad2d2629062b Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon Apr 14 17:29:21 2014 +0200 ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 Device Tree The mvebu-devbus driver had a serious bug, which lead to a 8 bits bus width declared in the Device Tree being considered as a 16 bits bus width when configuring the hardware. This bug in mvebu-devbus driver was compensated by a symetric mistake in the Armada XP OpenBlocks AX3 Device Tree: a 8 bits bus width was declared, even though the hardware actually has a 16 bits bus width connection with the NOR flash. Now that we have fixed the mvebu-devbus driver to behave according to its Device Tree binding, this commit fixes the problematic Device Tree files as well. This bug was introduced in commit a7d4f81821f7eec3175f8e23dd6949c71ab2da43 ('ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board') which was merged in v3.10. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397489361-5833-5-git-send-email-thomas.petazzoni@free-electrons.com Fixes: a7d4f81821f7 ('ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board') Cc: stable@vger.kernel.org # v3.10+ Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit f3aec8f3f05025e7b450102dae0759375346706e Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon Apr 14 17:29:20 2014 +0200 ARM: mvebu: fix NOR bus-width in Armada XP DB Device Tree The mvebu-devbus driver had a serious bug, which lead to a 8 bits bus width declared in the Device Tree being considered as a 16 bits bus width when configuring the hardware. This bug in mvebu-devbus driver was compensated by a symetric mistake in the Armada XP DB Device Tree: a 8 bits bus width was declared, even though the hardware actually has a 16 bits bus width connection with the NOR flash. Now that we have fixed the mvebu-devbus driver to behave according to its Device Tree binding, this commit fixes the problematic Device Tree files as well. This bug was introduced in commit b484ff42df475c5087d614c4d477273e1906bcb9 ('ARM: mvebu: Add support for NOR flash device on Armada XP-DB board') which was merged in v3.11. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397489361-5833-4-git-send-email-thomas.petazzoni@free-electrons.com Fixes: b484ff42df47 ('ARM: mvebu: Add support for NOR flash device on Armada XP-DB board') Cc: stable@vger.kernel.org # v3.11+ Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 1a88f809ccb5db1509a7514b187c00b3a995fc82 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon Apr 14 17:29:19 2014 +0200 ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree The mvebu-devbus driver had a serious bug, which lead to a 8 bits bus width declared in the Device Tree being considered as a 16 bits bus width when configuring the hardware. This bug in mvebu-devbus driver was compensated by a symetric mistake in the Armada XP GP Device Tree: a 8 bits bus width was declared, even though the hardware actually has a 16 bits bus width connection with the NOR flash. Now that we have fixed the mvebu-devbus driver to behave according to its Device Tree binding, this commit fixes the problematic Device Tree files as well. This bug was introduced in commit da8d1b38356853c37116f9afa29f15648d7fb159 ('ARM: mvebu: Add support for NOR flash device on Armada XP-GP board') which was merged in v3.10. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397489361-5833-3-git-send-email-thomas.petazzoni@free-electrons.com Fixes: da8d1b383568 ('ARM: mvebu: Add support for NOR flash device on Armada XP-GP board') Cc: stable@vger.kernel.org # v3.10+ Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 05d8f6593d1d0b4677822136b61d48d7581c5d16 Author: Ben Hutchings <ben@decadent.org.uk> Date: Fri Apr 25 12:25:42 2014 -0600 PCI: Update my email address Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> commit 4c05160342f16361fc37ae34dcae9210306a83e9 Author: Suman Anna <s-anna@ti.com> Date: Tue Apr 22 17:23:37 2014 -0500 ARM: dts: AM3517: Disable absent IPs inherited from OMAP3 AM3517 inherits OMAP3 dts file, but does not have all the IPs that are present on OMAP3. This patch disables the following absent IPs for AM3517: Mailbox, IVA, MMU_ISP, MPU_IVA SmartReflex. A label had to be added for IVA node in omap3.dtsi to be able to get a reference to the node for disabling. Otherwise we get the following warnings during booting: platform iva.2: Cannot lookup hwmod 'iva' platform 48094000.mailbox: Cannot lookup hwmod 'mailbox' platform 480bd400.mmu: Cannot lookup hwmod 'mmu_isp' platform 480c9000.smartreflex: Cannot lookup hwmod 'smartreflex_mpu_iva' Signed-off-by: Suman Anna <s-anna@ti.com> [tony@atomide.com: updated description for the warnings] Signed-off-by: Tony Lindgren <tony@atomide.com> commit 4fe5bd5da2ea7b1b8c9455246ddcdb39ab734487 Author: Suman Anna <s-anna@ti.com> Date: Tue Apr 22 17:23:36 2014 -0500 ARM: dts: OMAP2: Fix interrupts for OMAP2420 mailbox The mailbox module is capable of generating two interrupts to MPU in OMAP2420, compared to one in OMAP2430. The second interrupt is to handle interrupts from the additional IVA processor present only on OMAP2420. Move the current common mailbox DT node into the SoC specific files to allow the above differentiation. Also, added back the interrupt-names on OMAP2420, that were previously defined in hwmod data. This fixes regression caused by the recent dropping of hwmod data in favor for defining it in the .dts files. Signed-off-by: Suman Anna <s-anna@ti.com> [tony@atomide.com: updated description] Signed-off-by: Tony Lindgren <tony@atomide.com> commit 84d89c3123bf4c3145f7b19fca36dba612a69807 Author: Suman Anna <s-anna@ti.com> Date: Tue Apr 22 17:23:35 2014 -0500 ARM: dts: OMAP5: Add mailbox dt node to fix boot warning Add the mailbox device DT node for OMAP5 SoC. The OMAP5 mailbox IP is identical to that used in OMAP4. The OMAP5 hwmod data no longer publishes the module address space, so this patch fixes the WARN_ON backtrace associated with the following trace during the kernel boot: "omap_hwmod: mailbox: doesn't have mpu register target base". Otherwise we get a warning like this: WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2538 _init+0x1c0/0x3dc() omap_hwmod: mailbox: doesn't have mpu register target base Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.15.0-rc2-00001-gb5e85a0 #45 [<c0015724>] (unwind_backtrace) from [<c00120f4>] (show_stack+0x10/0x14) [<c00120f4>] (show_stack) from [<c05a1ccc>] (dump_stack+0x78/0x94) [<c05a1ccc>] (dump_stack) from [<c0042a74>] (warn_slowpath_common+0x6c/0x8c) [<c0042a74>] (warn_slowpath_common) from [<c0042b28>] (warn_slowpath_fmt+0x30/0x40) [<c0042b28>] (warn_slowpath_fmt) from [<c0803b40>] (_init+0x1c0/0x3dc) [<c0803b40>] (_init) from [<c0029c8c>] (omap_hwmod_for_each+0x34/0x5c) [<c0029c8c>] (omap_hwmod_for_each) from [<c08042b0>] (__omap_hwmod_setup_all+0x24/0x40) [<c08042b0>] (__omap_hwmod_setup_all) from [<c00088b8>] (do_one_initcall+0x34/0x160) [<c00088b8>] (do_one_initcall) from [<c07f7bf4>] (kernel_init_freeable+0xfc/0x1c8) [<c07f7bf4>] (kernel_init_freeable) from [<c059c4f4>] (kernel_init+0x8/0xe4) [<c059c4f4>] (kernel_init) from [<c000eaa8>] (ret_from_fork+0x14/0x2c) Signed-off-by: Suman Anna <s-anna@ti.com> [tony@atomide.com: updated description to for the warning] Signed-off-by: Tony Lindgren <tony@atomide.com> commit da0159fdb57d6fab54ce3179659a1f9e5b593752 Author: Joel Fernandes <joelf@ti.com> Date: Tue Apr 22 14:40:39 2014 -0500 ARM: OMAP5: Switch to THUMB mode if needed on secondary CPU On my DRA7 system, when the kernel is built in Thumb-2 mode, the secondary CPU (Cortex A15) fails to come up causing SMP boot on second CPU to timeout. This seems to be because the CPU is in ARM mode once the ROM hands over control to the kernel. Switch to Thumb-2 mode if required once the kernel is control of secondary CPU. On OMAP4 on the other hand, it appears to be in Thumb-2 mode on entry so this is not required and SMP boot works as is. Also corrected a spurious '+' and updated copyright information. Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Nishanth Menon <nm@ti.com> Tested-by: Nishanth Menon <nm@ti.com> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Joel Fernandes <joelf@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 1ff3859e7ea134c09512498aa2251fd3a57d250d Author: Dave Gerlach <d-gerlach@ti.com> Date: Fri Mar 21 10:50:13 2014 +0530 ARM: dts: am437x-gp-evm: Do not reset gpio5 Do not reset GPIO5 at boot-up because GPIO5_7 is used on AM437x GP-EVM to control VTT regulators on DDR3. Without this some GP-EVM boards will fail to boot because of DDR3 corruption. Reported-by: Nishanth Menon <nm@ti.com> Tested-by: Nishanth Menon <nm@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> commit ef139e130c8a18cc6cdaa2d98899f74e14389bd4 Author: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Date: Thu Apr 24 18:53:50 2014 +0200 ARM: dts: omap3-igep0020: use SMSC9221 timings The IGEPv2 board has a SMSC LAN9221i ethernet chip and not a SMSC LAN911x connected to the GPMC. Each chip needs different timings in order to operate correctly so is wrong to include omap-gpmc-smsc911x.dtsi instead of omap-gpmc-smsc9221.dtsi. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> [tony@atomide.com: this is needed to avoid potential memory corruption] Signed-off-by: Tony Lindgren <tony@atomide.com> commit 2a1c23e3396d5a77d6c8e379d18cc657b6225779 Author: Joe Perches <joe@perches.com> Date: Thu Apr 24 18:51:03 2014 -0700 ASoC: tlv320aic31xx: Convert /n to \n Use a newline character appropriately. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit a87c9ad956676d84d459739fc14ec5a3c3565717 Author: Jeff Layton <jlayton@redhat.com> Date: Wed Mar 26 07:24:23 2014 -0700 cifs: fix actimeo=0 corner case when cifs_i->time == jiffies actimeo=0 is supposed to be a special case that ensures that inode attributes are always refetched from the server instead of trusting the cache. The cifs code however uses time_in_range() to determine whether the attributes have timed out. In the case where cifs_i->time equals jiffies, this leads to the cifs code not refetching the inode attributes when it should. Fix this by explicitly testing for actimeo=0, and handling it as a special case. Reported-and-tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <smfrench@gmail.com> commit 0cf4a7d6cf23715276fcd0f1cd1cabc6a9b46942 Author: Jacob Pan <jacob.jun.pan@linux.intel.com> Date: Tue Apr 15 22:27:11 2014 -0700 ahci: disable DEVSLP for Intel Valleyview On Intel Valleyview SoC, SATA device sleep is not reliable. When DEVSLP is attempted on certain SSDs, port_devslp write would fail and result in malfunction of AHCI controller. AHCI controller may be not shown in PCI enumeration after reset. Complete power source removal may be required to recover from this failure. So we blacklist this device and override host device reported capabilities such that device LPM will only attempt slumber but not DEVSLP. Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit de30a2ccb20d9baf5dac8a9c8ba8f0d9d5f4361e Author: Jarkko Nikula <jarkko.nikula@linux.intel.com> Date: Thu Apr 24 10:34:36 2014 +0300 ASoC: Intel: Cancel hsw_notification_work before freeing the stream I suppose there is a possibility that hsw_notification_work() may run after sst_hsw_stream_free() which can lead to a kernel crash since struct sst_hsw_stream is freed at that point and stream = container_of(work, struct sst_hsw_stream, notify_work) is not valid when hsw_notification_work() is run. Reported-by: Derek Basehore <dbasehore@chromium.org> Reported-by: Wenkai Du <wenkai.du@intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit b8909783a22b4f169ade830e0aa6dafe313426f1 Author: Lars-Peter Clausen <lars@metafoo.de> Date: Thu Apr 24 08:25:56 2014 +0200 ASoC: imx-audmux: Fix section mismatch audmux_debugfs_init() is marked as __init, but is called from imx_audmux_probe() which is not marked as __init. This creates a section mismatch and a potential runtime crash (if imx_audmux_probe() is called after the .init section was dropped). This patch removes the __init annotation from audmux_debugfs_init(), which fixes the following warning: WARNING: sound/soc/built-in.o(.text+0x86960): Section mismatch in reference from the function imx_audmux_probe() to the function .init.text:audmux_debugfs_init() Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org> commit db66d756c74acb886c51f11b501c2fe622018a0a Author: Masanari Iida <standby24x7@gmail.com> Date: Fri Apr 18 01:59:15 2014 +0900 sched/docbook: Fix 'make htmldocs' warnings caused by missing description When 'flags' argument to sched_{set,get}attr() syscalls were added in: 6d35ab48090b ("sched: Add 'flags' argument to sched_{set,get}attr() syscalls") no description for 'flags' was added. It causes the following warnings on "make htmldocs": Warning(/kernel/sched/core.c:3645): No description found for parameter 'flags' Warning(/kernel/sched/core.c:3789): No description found for parameter 'flags' Signed-off-by: Masanari Iida <standby24x7@gmail.com> Cc: peterz@infradead.org Link: http://lkml.kernel.org/r/1397753955-2914-1-git-send-email-standby24x7@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> commit 398f5d5e10b6b917cd9d35ef21d545b0afbada22 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Fri Apr 18 14:19:53 2014 +0200 PCI: mvebu: split PCIe BARs into multiple MBus windows when needed MBus windows are used on Marvell platforms to map certain peripherals in the physical address space. In the PCIe context, MBus windows are needed to map PCIe I/O and memory regions in the physical address. However, those MBus windows can only have power of two sizes, while PCIe BAR do not necessarily guarantee this. For this reason, the current pci-mvebu breaks on platforms where PCIe devices have BARs that don't sum up to a power of two size at the emulated bridge level. This commit fixes this by allowing the pci-mvebu driver to create multiple contiguous MBus windows (each having a power of two size) to cover a given PCIe BAR. To achieve this, two functions are added: mvebu_pcie_add_windows() and mvebu_pcie_del_windows() to respectively add and remove all the MBus windows that are needed to map the provided PCIe region base and size. The emulated PCI bridge code now calls those functions, instead of directly calling the mvebu-mbus driver functions. Fixes: 45361a4fe446 ('pci: PCIe driver for Marvell Armada 370/XP systems') Cc: <stable@vger.kernel.org> # v3.11+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397823593-1932-8-git-send-email-thomas.petazzoni@free-electrons.com Tested-by: Neil Greatorex <neil@fatboyfat.co.uk> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit b566e782be32145664d96ada3e389f17d32742e5 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Fri Apr 18 14:19:52 2014 +0200 bus: mvebu-mbus: allow several windows with the same target/attribute Having multiple windows with the same target and attribute is actually legal, and can be useful for PCIe windows, when PCIe BARs have a size that isn't a power of two, and we therefore need to create several MBus windows to cover the PCIe BAR for a given PCIe interface. Fixes: fddddb52a6c4 ('bus: introduce an Marvell EBU MBus driver') Cc: <stable@vger.kernel.org> # v3.10+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397823593-1932-7-git-send-email-thomas.petazzoni@free-electrons.com Tested-by: Neil Greatorex <neil@fatboyfat.co.uk> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 09752a12f430f58523fb6f435f5e30e4048fcfb2 Author: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Date: Fri Apr 18 14:19:51 2014 +0200 bus: mvebu-mbus: Avoid setting an undefined window size The mbus hardware requires a power of two size, and size aligned base. Currently, if a non-power of two is passed in to the low level routines they configure the register in a way that results in undefined behaviour. Call WARN and return EINVAL instead. Also, update the debugfs routines to show a message if there is an invalid register setting. All together this makes the recent problems with silent failure of PCI very obvious, noisy and debuggable. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397823593-1932-6-git-send-email-thomas.petazzoni@free-electrons.com Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit b6d07e0273d3296cfbdc88145b8a00ddbefb310a Author: Willy Tarreau <w@1wt.eu> Date: Fri Apr 18 14:19:50 2014 +0200 PCI: mvebu: fix off-by-one in the computed size of the mbus windows mvebu_pcie_handle_membase_change() and mvebu_pcie_handle_iobase_change() do not correctly compute the window size. PCI uses an inclusive start/end address pair, which requires a +1 when converting to size. This only worked because a bug in the mbus driver allowed it to silently accept and round up bogus sizes. Fix this by adding one to the computed size. Fixes: 45361a4fe446 ('PCIe driver for Marvell Armada 370/XP systems') Cc: <stable@vger.kernel.org> # v3.11+ Signed-off-by: Willy Tarreau <w@1wt.eu> Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397823593-1932-5-git-send-email-thomas.petazzoni@free-electrons.com Tested-by: Neil Greatorex <neil@fatboyfat.co.uk> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit dcf2191933c4d3b3d1fcd8b6f5818cc913baa8b2 Author: Tony Lindgren <tony@atomide.com> Date: Wed Apr 23 11:04:42 2014 -0700 ARM: dts: Fix GPMC timings for LAN9220 I've noticed occasional random oopsing on my gateway machine since I upgraded it to use device tree based booting. As this machine has worked reliably before that for a few years, pretty much the only difference was narrowed down to the GPMC timings. Turns out that for legacy based booting we are using bootloader timings for GPMC for smsc911x. With device tree we are passing the timings in the .dts file, and the device tree timings are not quite suitable for LAN9920. Enabling DEBUG in gpmc.c I noticed that the device tree configured timings are different from the the known working bootloader timings. So let's fix the timings to match the bootloader timings when looked at the gpmc dmesg output with DEBUG enabled. The changes were done by multiplying the bootloader tick values by six to get the nanosecond value for device tree. This is not generic from the device point of view as the calculations should be based on the device timings. Anyways, further improvments can be done based on the timings documentation for LAN9220. But let's first get things to a known good working state. Note that we still need to change the timings also for sb-t35 also as it has two LAN9220 instances on GPMC and we can currently include the generic timings only once. Also note that any boards that have LAN9221 instead of LAN9220 should be updated to use omap-gpmc-smsc9221.dtsi instead of omap-gpmc-smsc911x.dtsi. The LAN9221 timings are different from LAN9220 timings. Cc: Christoph Fritz <chf.fritz@googlemail.com> Cc: Dmitry Lifshitz <lifshitz@compulab.co.il> Cc: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: Tony Lindgren <tony@atomide.com> commit de9949a45ec05a9cd5b98eb0a5b5a65db252f1f3 Author: Tony Lindgren <tony@atomide.com> Date: Wed Apr 23 11:04:30 2014 -0700 ARM: dts: Fix GPMC Ethernet timings for omap cm-t sbc-t boards for device tree Looks like we have wrong GPMC timings we have for the cm-t and sbc-t boards. This can cause occasional strange errors with at least doing an rsync of large files or doing apt-get dist-upgrade. Let's fix the issue in two phases. First let's simplify cm-t and sbc-t to use the shared omap-gpmc-smsc911x.dtsi to avoid fixing the issue in multiple places. Then we can fix the timings in a single place with a follow-up patch. Cc: Dmitry Lifshitz <lifshitz@compulab.co.il> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 20f670dcc08682e478770b48bd5fe09f19351674 Author: Tony Lindgren <tony@atomide.com> Date: Wed Apr 23 11:04:29 2014 -0700 ARM: dts: Fix bad OTG muxing for cm-t boards Looks like the OTG pins are off by 2 and we get this: pinctrl-single 48002030.pinmux: pin 480021a0.0 already requested by 49020000.serial; cannot claim for 480ab000.usb_otg_hs pinctrl-single 48002030.pinmux: pin-184 (480ab000.usb_otg_hs) status -22 pinctrl-single 48002030.pinmux: could not request pin 184 (480021a0.0) from group pinmux_hsusb0_pins on device pinctrl-single musb-omap2430 480ab000.usb_otg_hs: Error applying setting, reverse things back That's probably because the TRM lists the values as 32-bit registers so every second needs 2 added to the address. The OTG pin start range must start from 0x21a2, not 0x21a0. Cc: Dmitry Lifshitz <lifshitz@compulab.co.il> Signed-off-by: Tony Lindgren <tony@atomide.com> commit 836b31fe1a9791d84ed95783ed42ebd5719f7918 Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Date: Wed Apr 23 14:59:12 2014 +0900 ASoC: rsnd: call rsnd_dai_pointer_update() from outside of lock rsnd_soc_dai_trigger() will be called after rsnd_dai_pointer_update() function which is using rsnd_lock(). Thus, it should be called from outside of rsnd_lock(). Kernel will be hangup without this patch. Special thanks to Kataoka-san Reported-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit d132cb0a162fa55c82e06b771fcaa871d30c9398 Author: Wenkai Du <wenkai.du@intel.com> Date: Wed Apr 23 13:29:30 2014 +0300 ASoC: Intel: Fix audio crash due to race condition in stream deletion There is a race between sst_byt_stream_free() and sst_byt_get_stream() if sst_byt_get_stream() called from sst_byt_irq_thread() context is accessing the byt->stream_list while a stream is deleted from the list. A stream is added to byt->stream_list in sst_byt_stream_new() and deleted in sst_byt_stream_free(). sst_byt_get_stream() is always protected by sst->spinlock, but the stream addition and deletion are not protected. The patch adds spinlock to both stream addition and deletion. [Jarkko: Same fix added to sst-haswell-ipc.c too] Signed-off-by: Wenkai Du <wenkai.du@intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> commit 311ab8e1c28659e16a6fe14a68929c3ced4a5757 Author: Bob Copeland <me@bobcopeland.com> Date: Wed Apr 16 08:32:41 2014 -0400 mac80211: fixup radiotap tx flags for RTS/CTS When using RTS/CTS, the CTS-to-Self bit in radiotap TX flags is getting set instead of the RTS bit. Set the correct one. Reported-by: Larry Maxwell <larrymaxwell@agilemesh.com> Signed-off-by: Bob Copeland <bob@cozybit.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 062f1d6de01df545ca0df366c6133f0fa164bff6 Author: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Date: Tue Apr 22 18:19:25 2014 +0800 mac80211: avoid handling of SMPS for mesh The patch "mac80211: implement SMPS for AP" has caused kernel oops at mesh STA if the peer mesh STA operates in sleep mode and then becomes active mode. It can be easily reproduced by setting the following commands at peer mesh STA: iw mesh0 station set aa:bb:cc:dd:ee:ff mesh_power_mode deep iw mesh0 station set aa:bb:cc:dd:ee:ff mesh_power_mode active Kernel oops will happen at mesh STA aa:bb:cc:dd:ee:ff. Fix this by avoiding SMPS for mesh mode. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> commit 79d719749d23234e9b725098aa49133f3ef7299d Author: Aristeu Rozanski <aris@redhat.com> Date: Mon Apr 21 12:13:03 2014 -0400 device_cgroup: rework device access check and exception checking Whenever a device file is opened and checked against current device cgroup rules, it uses the same function (may_access()) as when a new exception rule is added by writing devices.{allow,deny}. And in both cases, the algorithm is the same, doesn't matter the behavior. First problem is having device access to be considered the same as rule checking. Consider the following structure: A (default behavior: allow, exceptions disallow access) \ B (default behavior: allow, exceptions disallow access) A new exception is added to B by writing devices.deny: c 12:34 rw When checking if that exception is allowed in may_access(): if (dev_cgroup->behavior == DEVCG_DEFAULT_ALLOW) { if (behavior == DEVCG_DEFAULT_ALLOW) { /* the exception will deny access to certain devices */ return true; Which is ok, since B is not getting more privileges than A, it doesn't matter and the rule is accepted Now, consider it's a device file open check and the process belongs to cgroup B. The access will be generated as: behavior: allow exception: c 12:34 rw The very same chunk of code will allow it, even if there's an explicit exception telling to do otherwise. A simple test case: # mkdir new_group # cd new_group # echo $$ >tasks # echo "c 1:3 w" >devices.deny # echo >/dev/null # echo $? 0 This is a serious bug and was introduced on c39a2a3018f8 devcg: prepare may_access() for hierarchy support To solve this problem, the device file open function was split from the new exception check. Second problem is how exceptions are processed by may_access(). The first part of the said function tries to match fully with an existing exception: list_for_each_entry_rcu(ex, &dev_cgroup->exceptions, list) { if ((refex->type & DEV_BLOCK) && !(ex->type & DEV_BLOCK)) continue; if ((refex->type & DEV_CHAR) && !(ex->type & DEV_CHAR)) continue; if (ex->major != ~0 && ex->major != refex->major) continue; if (ex->minor != ~0 && ex->minor != refex->minor) continue; if (refex->access & (~ex->access)) continue; match = true; break; } That means the new exception should be contained into an existing one to be considered a match: New exception Existing match? notes b 12:34 rwm b 12:34 rwm yes b 12:34 r b *:34 rw yes b 12:34 rw b 12:34 w no extra "r" b *:34 rw b 12:34 rw no too broad "*" b *:34 rw b *:34 rwm yes Which is fine in some cases. Consider: A (default behavior: deny, exceptions allow access) \ B (default behavior: deny, exceptions allow access) In this case the full match makes sense, the new exception cannot add more access than the parent allows But this doesn't always work, consider: A (default behavior: allow, exceptions disallow access) \ B (default behavior: deny, exceptions allow access) In this case, a new exception in B shouldn't match any of the exceptions in A, after all you can't allow something that was forbidden by A. But consider this scenario: New exception Existing in A match? outcome b 12:34 rw b 12:34 r no exception is accepted Because the new exception has "w" as extra, it doesn't match, so it'll be added to B's exception list. The same problem can happen during a file access check. Consider a cgroup with allow as default behavior: Access Exception match? b 12:34 rw b 12:34 r no In this case, the access didn't match any of the exceptions in the cgroup, which is required since exceptions will disallow access. To solve this problem, two new functions were created to match an exception either fully or partially. In the example above, a partial check will be performed and it'll produce a match since at least "b 12:34 r" from "b 12:34 rw" access matches. Cc: cgroups@vger.kernel.org Cc: Tejun Heo <tj@kernel.org> Cc: Serge Hallyn <serge.hallyn@canonical.com> Cc: Li Zefan <lizefan@huawei.com> Cc: stable@vger.kernel.org Signed-off-by: Aristeu Rozanski <arozansk@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit 1c2366298b105824e68e790bff1106e2d4ee2a30 Author: Shawn Guo <shawn.guo@freescale.com> Date: Mon Apr 14 10:02:26 2014 +0800 imx-drm: imx-drm-core: skip components whose parent device is disabled In a board setup which disables LDB device node completely by changing status to 'disabled', and only enables HDMI device, we're running into the problem that imx-drm master never succeeds in binding, and hence HDMI does not come up either. &ldb { status = "disabled"; lvds-channel@1 { ... status = "okay"; }; }; The imx-drm-core should really skip the LVDS channels no matter what lvds-channel's status is, if LDB device is disabled. Let's consider such setup a misconfiguration, give a warning in there and not add the component. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit c509bdc20dd255842d4e9302aad12baa7d166911 Author: Philipp Zabel <p.zabel@pengutronix.de> Date: Mon Apr 7 10:22:36 2014 +0200 imx-drm: imx-drm-core: fix imx_drm_encoder_get_mux_id The decoder mux id is equal to the port id of the encoder's input port that is connected to the given crtc, not to the endpoint id (which is arbitrary and usually zero). Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Tested-by: Shawn Guo <shawn.guo@freescale.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> commit 35d35aae817706800a4913711d563a99e1dc380a Author: Tushar Behera <tushar.behera@linaro.org> Date: Thu Mar 6 11:34:43 2014 +0530 dt-bindings: clock: Move at91.h to dt-bindigs/clock Most of the clock related dt-binding header files are located in dt-bindings/clock folder. It would be good to keep all the similar header files at a single location. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> CC: Rob Landley <rob@landley.net> CC: Andrew Victor <linux@maxim.org.za> CC: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Acked-by: Boris BREZILLON <b.brezillon.dev@gmail.com> [nicolas.ferre@atmel.com: add new at91sam9261 & at91sam9rl] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> commit d44db494a8d5aa2060240e7a770bbb8fefa2d2b1 Author: Bo Shen <voice.shen@atmel.com> Date: Tue Apr 1 15:12:43 2014 +0800 ARM: at91: fix spi cs on sama5d3 Xplained board The PD16 is the CS3 for SPI0 while not SPI1. Signed-off-by: Bo Shen <voice.shen@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> commit 83596fbeb5d28e8cb8878786133945d4dc7c0090 Author: Geert Uytterhoeven <geert+renesas@glider.be> Date: Mon Apr 14 19:39:53 2014 +0200 spi: core: Ignore unsupported Dual/Quad Transfer Mode bits The availability of SPI Dual or Quad Transfer Mode as indicated by the "spi-tx-bus-width" and "spi-rx-bus-width" properties in the device tree is a hardware property of the SPI master, SPI slave, and board wiring. Hence the SPI core should not reject an SPI slave because an SPI master driver doesn't (yet) support Dual or Quad Transfer Mode. Change the lack of Dual or Quad Transfer Mode support in the SPI master driver from an error condition to a warning condition, and ignore the unsupported mode bits, falling back to Single Transfer Mode, to avoid breakages when running old kernels with new device trees. Fixes: f477b7fb13df (spi: DUAL and QUAD support) Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org commit 77668c8b559e4fe2acf2a0749c7c83cde49a5025 Author: Lai Jiangshan <laijs@cn.fujitsu.com> Date: Fri Apr 18 11:04:16 2014 -0400 workqueue: fix a possible race condition between rescuer and pwq-release There is a race condition between rescuer_thread() and pwq_unbound_release_workfn(). Even after a pwq is scheduled for rescue, the associated work items may be consumed by any worker. If all of them are consumed before the rescuer gets to them and the pwq's base ref was put due to attribute change, the pwq may be released while still being linked on @wq->maydays list making the rescuer dereference already freed pwq later. Make send_mayday() pin the target pwq until the rescuer is done with it. tj: Updated comment and patch description. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: stable@vger.kernel.org # v3.10+ commit 4d595b866d2c653dc90a492b9973a834eabfa354 Author: Lai Jiangshan <laijs@cn.fujitsu.com> Date: Fri Apr 18 11:04:16 2014 -0400 workqueue: make rescuer_thread() empty wq->maydays list before exiting After a @pwq is scheduled for emergency execution, other workers may consume the affectd work items before the rescuer gets to them. This means that a workqueue many have pwqs queued on @wq->maydays list while not having any work item pending or in-flight. If destroy_workqueue() executes in such condition, the rescuer may exit without emptying @wq->maydays. This currently doesn't cause any actual harm. destroy_workqueue() can safely destroy all the involved data structures whether @wq->maydays is populated or not as nobody access the list once the rescuer exits. However, this is nasty and makes future development difficult. Let's update rescuer_thread() so that it empties @wq->maydays after seeing should_stop to guarantee that the list is empty on rescuer exit. tj: Updated comment and patch description. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: stable@vger.kernel.org # v3.10+ commit e37a06f10994c2ba86f54d8f96734f2483a869b8 Author: Li Zefan <lizefan@huawei.com> Date: Thu Apr 17 13:53:08 2014 +0800 cgroup: fix the retry path of cgroup_mount() If we hit the retry path, we'll call parse_cgroupfs_options() again, but the string we pass to it has been modified by the previous call to this function. This bug can be observed by: # mount -t cgroup -o name=foo,cpuset xxx /mnt && umount /mnt && \ mount -t cgroup -o name=foo,cpuset xxx /mnt mount: wrong fs type, bad option, bad superblock on xxx, missing codepage or helper program, or other error ... The second mount passed "name=foo,cpuset" to the parser, and then it hit the retry path and call the parser again, but this time the string passed to the parser is "name=foo". To fix this, we avoid calling parse_cgroupfs_options() again in this case. Signed-off-by: Li Zefan <lizefan@huawei.com> Signed-off-by: Tejun Heo <tj@kernel.org> commit 4ccc402ece35695dd2884ec0b652d52ae0230f13 Author: Thierry Reding <treding@nvidia.com> Date: Fri Apr 4 15:55:15 2014 +0200 clk: tegra: Fix enabling of PLLE When enabling the PLLE as its final step, clk_plle_enable() would accidentally OR in the value previously written to the PLLE_SS_CTRL register. Signed-off-by: Thierry Reding <treding@nvidia.com> commit c61e4e75b95bda4c6fec134aa9f08b5629b532e6 Author: Thierry Reding <treding@nvidia.com> Date: Fri Apr 4 15:55:14 2014 +0200 clk: tegra: Introduce divider mask and shift helpers Add div{m,n,p}_shift() and div{m,n,p}_mask_shifted() helpers to make the code that modifies the m-, n- and p-divider fields of PLLs shorter and easier to read. Signed-off-by: Thierry Reding <treding@nvidia.com> commit d0f02ce3b1685ef6ffe43692034599790f83e7ab Author: Thierry Reding <treding@nvidia.com> Date: Fri Apr 4 15:55:13 2014 +0200 clk: tegra: Fix PLLE programming PLLE has M, N and P divider shift and width parameters that differ from the defaults. Furthermore, when clearing the M, N and P divider fields the corresponding masks were never shifted, thereby clearing only the lowest bits of the register. This lead to a situation where the PLLE programming would only work if the register hadn't been touched before. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> commit 1cc9d48145b81e307fab94a5cf6ee66ec2f0de60 Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Sun Apr 13 16:39:38 2014 +0200 ARM: orion5x: fix target ID for crypto SRAM window In commit 4ca2c04085a1caa903e92a5fc0da25362150aac2 ('ARM: orion5x: Move to ID based window creation'), the mach-orion5x code was changed to use the new mvebu-mbus API. However, in the process, a mistake was made on the crypto SRAM window target ID: it should have been 0x9 (verified in the datasheet) and not 0x0. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Link: https://lkml.kernel.org/r/1397400006-4315-2-git-send-email-thomas.petazzoni@free-electrons.com Fixes: 4ca2c04085a1 ('ARM: orion5x: Move to ID based window creation') Cc: stable@vger.kernel.org # v3.12+ Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit ce965c3d2e68c5325dd5624eb101d70423022fef Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Mon Apr 14 17:29:18 2014 +0200 memory: mvebu-devbus: fix the conversion of the bus width According to the Armada 370 and Armada XP datasheets, the part of the Device Bus register that configure the bus width should contain 0 for a 8 bits bus width, and 1 for a 16 bits bus width (other values are unsupported/reserved). However, the current conversion done in the driver to convert from a bus width in bits to the value expected by the register leads to setting the register to 1 for a 8 bits bus, and 2 for a 16 bits bus. This mistake was compensated by a mistake in the existing Device Tree files for Armada 370/XP platforms: they were declaring a 8 bits bus width, while the hardware in fact uses a 16 bits bus width. This commit fixes that by adjusting the conversion logic. This patch fixes a bug that was introduced in 3edad321b1bd2e6c8b5f38146c115c8982438f06 ('drivers: memory: Introduce Marvell EBU Device Bus driver'), which was merged in v3.11. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: https://lkml.kernel.org/r/1397489361-5833-2-git-send-email-thomas.petazzoni@free-electrons.com Fixes: 3edad321b1bd ('drivers: memory: Introduce Marvell EBU Device Bus driver') Cc: stable@vger.kernel.org # v3.11+ Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net> commit 8845cc6415ec28ef8d57b3fb81c75ef9bce69c5f Author: Antti Palosaari <crope@iki.fi> Date: Thu Apr 10 21:18:16 2014 -0300 [media] fc2580: fix tuning failure on 32-bit arch There was some frequency calculation overflows which caused tuning failure on 32-bit architecture. Use 64-bit numbers where needed in order to avoid calculation overflows. Thanks for the Finnish person, who asked remain anonymous, reporting, testing and suggesting the fix. Cc: <stable@vger.kernel.org> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 77f300b198f93328c26191b52655ce1b62e202cf Author: Daeseok Youn <daeseok.youn@gmail.com> Date: Wed Apr 16 14:32:29 2014 +0900 workqueue: fix bugs in wq_update_unbound_numa() failure path wq_update_unbound_numa() failure path has the following two bugs. - alloc_unbound_pwq() is called without holding wq->mutex; however, if the allocation fails, it jumps to out_unlock which tries to unlock wq->mutex. - The function should switch to dfl_pwq on failure but didn't do so after alloc_unbound_pwq() failure. Fix it by regrabbing wq->mutex and jumping to use_dfl_pwq on alloc_unbound_pwq() failure. Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Acked-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: stable@vger.kernel.org Fixes: 4c16bd327c74 ("workqueue: implement NUMA affinity for unbound workqueues") commit a32452366b7250c42e96a18ffc3ad8db9e0ca3c2 Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Wed Apr 16 09:01:03 2014 +0200 vti4: Don't count header length twice. We currently count the size of LL_MAX_HEADER and struct iphdr twice for vti4 devices, this leads to a wrong device mtu. The size of LL_MAX_HEADER and struct iphdr is already counted in ip_tunnel_bind_dev(), so don't do it again in vti_tunnel_init(). Fixes: b9959fd3 ("vti: switch to new ip tunnel code") Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> commit 877ed143065c3b823cfe54b5a695c6be3659e445 Author: Jean Delvare <jdelvare@suse.de> Date: Fri Apr 11 04:15:32 2014 -0300 [media] Prefer gspca_sonixb over sn9c102 for all devices The sn9c102 driver is deprecated. It was moved to staging in anticipation of its removal in a future kernel version. However, USB devices 0C45:6024 and 0C45:6025 are still handled by sn9c102 when both sn9c102 and gspca_sonixb are enabled. We must migrate all the users of these devices to the gspca_sonixb driver now, so that it gets sufficient testing before the sn9c102 driver is finally phased out. Signed-off-by: Jean Delvare <jdelvare@suse.de> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit c1d1e40b8bbd712d6a8c74d8278178c8448b7abc Author: Lad, Prabhakar <prabhakar.csengg@gmail.com> Date: Sun Mar 23 02:44:11 2014 -0300 [media] media: davinci: vpfe: make sure all the buffers unmapped and released this patch makes sure that it terminates if any IO in progress and also makes sure that all the buffers are unmapped. It was observed that with several runs of application the application sometimes failed to allocate memory, This patch makes sure it all the buffers are released. Using kmemleak it was found that buffer were not released, this patch fixes following issue, echo scan > /sys/kernel/debug/kmemleak Kernel message reads: memleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak) Then, cat /sys/kernel/debug/kmemleak unreferenced object 0xc564a480 (size 192): comm "mttest", pid 764, jiffies 4294945878 (age 487.160s) hex dump (first 32 bytes): 00 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........ 00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d.......... backtrace: [<c00a98dc>] create_object+0x10c/0x28c [<c03ba8ec>] kmemleak_alloc+0x3c/0x70 [<c00a67c0>] __kmalloc+0x11c/0x1d4 [<c02b6f48>] __videobuf_alloc+0x1c/0x3c [<c02b6194>] videobuf_alloc_vb+0x38/0x80 [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108 [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c [<c02be2c4>] vpfe_reqbufs+0xcc/0x130 [<c02aae90>] v4l_reqbufs+0x50/0x54 [<c02aab54>] __video_do_ioctl+0x260/0x2c4 [<c02a9dd4>] video_usercopy+0xf0/0x310 [<c02aa008>] video_ioctl2+0x14/0x1c [<c02a562c>] v4l2_ioctl+0x104/0x14c [<c00bd320>] do_vfs_ioctl+0x80/0x2d0 [<c00bd5b4>] SyS_ioctl+0x44/0x64 unreferenced object 0xc564ac00 (size 192): comm "mttest", pid 764, jiffies 4294945878 (age 487.160s) hex dump (first 32 bytes): 01 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........ 00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d.......... backtrace: [<c00a98dc>] create_object+0x10c/0x28c [<c03ba8ec>] kmemleak_alloc+0x3c/0x70 [<c00a67c0>] __kmalloc+0x11c/0x1d4 [<c02b6f48>] __videobuf_alloc+0x1c/0x3c [<c02b6194>] videobuf_alloc_vb+0x38/0x80 [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108 [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c [<c02be2c4>] vpfe_reqbufs+0xcc/0x130 [<c02aae90>] v4l_reqbufs+0x50/0x54 [<c02aab54>] __video_do_ioctl+0x260/0x2c4 [<c02a9dd4>] video_usercopy+0xf0/0x310 [<c02aa008>] video_ioctl2+0x14/0x1c [<c02a562c>] v4l2_ioctl+0x104/0x14c [<c00bd320>] do_vfs_ioctl+0x80/0x2d0 [<c00bd5b4>] SyS_ioctl+0x44/0x64 unreferenced object 0xc564a180 (size 192): comm "mttest", pid 764, jiffies 4294945880 (age 487.140s) hex dump (first 32 bytes): 02 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........ 00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d.......... backtrace: [<c00a98dc>] create_object+0x10c/0x28c [<c03ba8ec>] kmemleak_alloc+0x3c/0x70 [<c00a67c0>] __kmalloc+0x11c/0x1d4 [<c02b6f48>] __videobuf_alloc+0x1c/0x3c [<c02b6194>] videobuf_alloc_vb+0x38/0x80 [<c02b6638>] __videobuf_mmap_setup+0x9c/0x108 [<c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc [<c02b6e9c>] videobuf_reqbufs+0x6c/0x8c [<c02be2c4>] vpfe_reqbufs+0xcc/0x130 [<c02aae90>] v4l_reqbufs+0x50/0x54 [<c02aab54>] __video_do_ioctl+0x260/0x2c4 [<c02a9dd4>] video_usercopy+0xf0/0x310 [<c02aa008>] video_ioctl2+0x14/0x1c [<c02a562c>] v4l2_ioctl+0x104/0x14c [<c00bd320>] do_vfs_ioctl+0x80/0x2d0 [<c00bd5b4>] SyS_ioctl+0x44/0x64 Reported-by: Jimmy Ho <jimmygge@gmail.com> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit d891ae5ef1efda590569b4483664c64b4aca4a4d Author: Lad, Prabhakar <prabhakar.csengg@gmail.com> Date: Sun Mar 23 02:16:46 2014 -0300 [media] staging: media: davinci: vpfe: make sure all the buffers are released from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4 "vb2: only call start_streaming if sufficient buffers are queued" the vb2 framework warns on (WARN_ON()) if all the active buffers are not released when streaming is stopped, initially the vb2 silently released the buffer internally if the buffer was not released by the driver. This patch fixes following issue: WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218() Modules linked in: CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218) [<c0252e0c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpfe_release+0x60/0x230) [<c025a65c>] (vpfe_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a1 ]--- ------------[ cut here ]------------ WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224() Modules linked in: CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252c28>] (vb2_buffer_done+0x1e0/0x224) [<c0252c28>] (vb2_buffer_done) from [<c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218) [<c0252e3c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpfe_release+0x60/0x230) [<c025a65c>] (vpfe_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a2 ]--- Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit b699f09d0d003cc1622aec30d81f3158da6790aa Author: Lad, Prabhakar <prabhakar.csengg@gmail.com> Date: Sat Mar 22 08:03:09 2014 -0300 [media] media: davinci: vpbe_display: fix releasing of active buffers from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4 "vb2: only call start_streaming if sufficient buffers are queued" the vb2 framework warns on (WARN_ON()) if all the active buffers are not released when streaming is stopped, initially the vb2 silently released the buffer internally if the buffer was not released by the driver. This patch fixes following issue: WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218() Modules linked in: CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218) [<c0252e0c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpbe_display_release+0x60/0x230) [<c025a65c>] (vpbe_display_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a1 ]--- ------------[ cut here ]------------ WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224() Modules linked in: CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252c28>] (vb2_buffer_done+0x1e0/0x224) [<c0252c28>] (vb2_buffer_done) from [<c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218) [<c0252e3c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpbe_display_release+0x60/0x230) [<c025a65c>] (vpbe_display_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a2 ]--- Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 18c7adcf2c1abf7f554a52f57bee126995791748 Author: Lad, Prabhakar <prabhakar.csengg@gmail.com> Date: Sat Mar 22 08:03:08 2014 -0300 [media] media: davinci: vpif_display: fix releasing of active buffers from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4 "vb2: only call start_streaming if sufficient buffers are queued" the vb2 framework warns on (WARN_ON()) if all the active buffers are not released when streaming is stopped, initially the vb2 silently released the buffer internally if the buffer was not released by the driver. Also this patch moves the disabling of interrupts from relase() callback to stop_streaming() callback as which needs to be done ideally. This patch fixes following issue: WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218() Modules linked in: CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218) [<c0252e0c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230) [<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a1 ]--- ------------[ cut here ]------------ WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224() Modules linked in: CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252c28>] (vb2_buffer_done+0x1e0/0x224) [<c0252c28>] (vb2_buffer_done) from [<c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218) [<c0252e3c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230) [<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a2 ]--- Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit e6ba3db1049548df10f90234328441b2873a4bd3 Author: Lad, Prabhakar <prabhakar.csengg@gmail.com> Date: Sat Mar 22 08:03:07 2014 -0300 [media] media: davinci: vpif_capture: fix releasing of active buffers from commit-id: b3379c6201bb3555298cdbf0aa004af260f2a6a4 "vb2: only call start_streaming if sufficient buffers are queued" the vb2 framework warns on (WARN_ON()) if all the active buffers are not released when streaming is stopped, initially the vb2 silently released the buffer internally if the buffer was not released by the driver. Also this patch moves the disabling of interrupts from relase() callback to stop_streaming() callback as which needs to be done ideally. This patch fixes following issue: WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218() Modules linked in: CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218) [<c0252e0c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230) [<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a1 ]--- ------------[ cut here ]------------ WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224() Modules linked in: CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W 3.14.0-rc5-00414-ged97a6f #89 [<c000e3f0>] (unwind_backtrace) from [<c000c618>] (show_stack+0x10/0x14) [<c000c618>] (show_stack) from [<c001adb0>] (warn_slowpath_common+0x68/0x88) [<c001adb0>] (warn_slowpath_common) from [<c001adec>] (warn_slowpath_null+0x1c/0x24) [<c001adec>] (warn_slowpath_null) from [<c0252c28>] (vb2_buffer_done+0x1e0/0x224) [<c0252c28>] (vb2_buffer_done) from [<c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218) [<c0252e3c>] (__vb2_queue_cancel) from [<c02533a4>] (vb2_queue_release+0x14/0x24) [<c02533a4>] (vb2_queue_release) from [<c025a65c>] (vpif_release+0x60/0x230) [<c025a65c>] (vpif_release) from [<c023fe5c>] (v4l2_release+0x34/0x74) [<c023fe5c>] (v4l2_release) from [<c00b4a00>] (__fput+0x80/0x224) [<c00b4a00>] (__fput) from [<c00341e8>] (task_work_run+0xa0/0xd0) [<c00341e8>] (task_work_run) from [<c001cc28>] (do_exit+0x244/0x918) [<c001cc28>] (do_exit) from [<c001d344>] (do_group_exit+0x48/0xdc) [<c001d344>] (do_group_exit) from [<c0029894>] (get_signal_to_deliver+0x2a0/0x5bc) [<c0029894>] (get_signal_to_deliver) from [<c000b888>] (do_signal+0x78/0x3a0) [<c000b888>] (do_signal) from [<c000bc54>] (do_work_pending+0xa4/0xb4) [<c000bc54>] (do_work_pending) from [<c00096dc>] (work_pending+0xc/0x20) ---[ end trace 5faa75e8c2f8a6a2 ]--- Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit e3fadbdf1cbac7164aaefae5fb331cba86255c46 Author: Nicolas Dufresne <nicolas.dufresne@collabora.com> Date: Tue Mar 25 17:50:11 2014 -0300 [media] s5p-fimc: Fix YUV422P depth All YUV 422 has 16bit per pixels. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 41f484d12c0105ce01ea79acdc094fff9124491b Author: Sylwester Nawrocki <s.nawrocki@samsung.com> Date: Tue Apr 8 10:05:03 2014 -0300 [media] s5c73m3: Add missing rename of v4l2_of_get_next_endpoint() function This fixes following build error: CC drivers/media/i2c/s5c73m3/s5c73m3-core.o CC drivers/md/dm-ioctl.o CC net/ipv4/inet_lro.o drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function ‘s5c73m3_get_platform_data’: drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:2: error: implicit declaration of function ‘v4l2_of_get_next_endpoint’ [-Werror=implicit-function-declaration] drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:10: warning: assignment makes pointer from integer without a cast [enabled by default] Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit beab1b530efa46164fbec3dc9b779cc7739b4f2c Author: Antti Palosaari <crope@iki.fi> Date: Wed Apr 9 18:08:37 2014 -0300 [media] rtl28xxu: silence error log about disabled rtl2832_sdr module It printed a little bit too heavy looking error log "DVB: Unable to find symbol rtl2832_sdr_attach()" when staging module was disabled. Silence that error by introducing own version of dvb_attach() macro without the error logging. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 1fd10f98d9abcde090b77cfa82c3f32f159e2d94 Author: Antti Palosaari <crope@iki.fi> Date: Wed Apr 9 12:42:35 2014 -0300 [media] rtl28xxu: do not hard depend on staging SDR module RTL2832 SDR extension module is currently on staging. SDR module headers were included from staging causing direct dependency staging directory. As a solution, add needed headers to main driver. Motivation of that change comes from Luis / driver backports project. Reported-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Cc: backports@vger.kernel.org Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> commit 5a838c3b60e3a36ade764cf7751b8f17d7c9c2da Author: Jianyu Zhan <nasa4836@gmail.com> Date: Mon Apr 14 13:47:40 2014 +0800 percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() pcpu_chunk_struct_size = sizeof(struct pcpu_chunk) + BITS_TO_LONGS(pcpu_unit_pages) * sizeof(unsigned long) It hardly could be ever bigger than PAGE_SIZE even for large-scale machine, but for consistency with its couterpart pcpu_mem_zalloc(), use pcpu_mem_free() instead. Commit b4916cb17c26 ("percpu: make pcpu_free_chunk() use pcpu_mem_free() instead of kfree()") addressed this problem, but missed this one. tj: commit message updated Signed-off-by: Jianyu Zhan <nasa4836@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org> Fixes: 099a19d91ca4 ("percpu: allow limited allocation before slab is online) Cc: stable@vger.kernel.org commit 277a163c83d7ba93fba1e8980d29a9f8bfcfba6c Merge: a83b93a c9eaa44 Author: Mauro Carvalho Chehab <m.chehab@samsung.com> Date: Mon Apr 14 12:00:36 2014 -0300 Merge tag 'v3.15-rc1' into patchwork Linux 3.15-rc1 * tag 'v3.15-rc1': (12180 commits) Linux 3.15-rc1 mm: Initialize error in shmem_file_aio_read() cifs: Use min_t() when comparing "size_t" and "unsigned long" sym53c8xx_2: Set DID_REQUEUE return code when aborting squeue powerpc: Don't try to set LPCR unless we're in hypervisor mode futex: update documentation for ordering guarantees ceph: fix pr_fmt() redefinition vti: don't allow to add the same tunnel twice gre: don't allow to add the same tunnel twice drivers: net: xen-netfront: fix array initialization bug missing bits of "splice: fix racy pipe->buffers uses" cifs: fix the race in cifs_writev() ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure pktgen: be friendly to LLTX devices r8152: check RTL8152_UNPLUG net: sun4i-emac: add promiscuous support net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO blackfin: cleanup board files bf609: clock: drop unused clock bit set/clear functions Blackfin: bf537: rename "CONFIG_ADT75" ... commit 04ebcb5405105d9b9bd9633d74e87e0979bddc55 Author: Emilio López <emilio@elopez.com.ar> Date: Wed Mar 19 15:19:31 2014 -0300 ARM: sun7i: fix PLL4 clock and add PLL8 Allwinner reworked the PLL4 clock in sun7i; so we need to change the compatible. Additionally, PLL8 is compatible with this new PLL4 implementation, so let's add a node for it as well. Signed-off-by: Emilio López <emilio@elopez.com.ar> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> commit ef67f18dece707eb2fb1ef25ccca47062842dc4a Author: Alexander Bondar <alexander.bondar@intel.com> Date: Sun Mar 30 10:47:08 2014 +0300 iwlwifi: mvm: several fixes in scan The firmware doesn't handle properly the fragmented scan. Stop using it. While at it change max_out_time and suspend_time units from usec to TUs as expected by firmware API. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> commit 5596732fa8c14139018ecda8356eabbfb599d830 Author: Steffen Klassert <steffen.klassert@secunet.com> Date: Mon Apr 7 08:08:52 2014 +0200 xfrm: Fix crash with ipv6 IPsec tunnel and NAT. The ipv6 xfrm output path is not aware that packets can be rerouted by NAT to not use IPsec. We crash in this case because we expect to have a xfrm state at the dst_entry. This crash happens if the ipv6 layer does IPsec and NAT or if we have an interfamily IPsec tunnel with ipv4 NAT. We fix this by checking for a NAT rerouted packet in each address family and dst_output() to the new destination in this case. Reported-by: Martin Pelikan <martin.pelikan@gmail.com> Tested-by: Martin Pelikan <martin.pelikan@gmail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree From xfs-bounces@oss.sgi.com Tue Jun 10 01:07:08 2014 Return-Path: <xfs-bounces@oss.sgi.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from oss.sgi.com (localhost [IPv6:::1]) by oss.sgi.com (Postfix) with ESMTP id 7689F7F6C for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 01:07:08 -0500 (CDT) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: Your message to xfs awaits moderator approval From: xfs-bounces@oss.sgi.com To: xfs@oss.sgi.com Message-ID: <mailman.5910.1402380427.4413.xfs@oss.sgi.com> Date: Tue, 10 Jun 2014 01:07:07 -0500 Precedence: bulk X-BeenThere: xfs@oss.sgi.com X-Mailman-Version: 2.1.14 List-Id: XFS Filesystem from SGI <xfs.oss.sgi.com> X-List-Administrivia: yes Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com Your mail to 'xfs' with the subject [XFS updates] XFS development tree branch, xfs-libxfs-restructure, created. xfs-for-linus-3.15-rc6-858-gd12984e Is being held until the list moderator can review it for approval. The reason it is being held: Message body is too big: 754534 bytes with a limit of 500 KB Either the message will get posted to the list, or you will receive notification of the moderator's decision. If you would like to cancel this posting, please visit the following URL: http://oss.sgi.com/mailman/confirm/xfs/f7ca041bc8e43e1617d20a0db397bad1ed6e4126 From david@fromorbit.com Tue Jun 10 01:09:54 2014 Return-Path: <david@fromorbit.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id ED45C7F6C for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 01:09:54 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D66408F8068 for <xfs@oss.sgi.com>; Mon, 9 Jun 2014 23:09:51 -0700 (PDT) X-ASG-Debug-ID: 1402380589-04cbb0752714cc90001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id rGgsRnzHmeOxSWN3 for <xfs@oss.sgi.com>; Mon, 09 Jun 2014 23:09:49 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiV0ANagllN5LGMPPGdsb2JhbABZgw1SgnSFCKNCAQEBAQEBBpkQAYEMFwQBAQEBODWEAwEBBTocMwgDGAklDwUlAwctiEHKfBaFR4gsahaEKwSaIJcUKw Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl2.internode.on.net with ESMTP; 10 Jun 2014 15:39:46 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from <david@fromorbit.com>) id 1WuFFg-0005zY-H6 for xfs@oss.sgi.com; Tue, 10 Jun 2014 16:09:44 +1000 Date: Tue, 10 Jun 2014 16:09:44 +1000 From: Dave Chinner <david@fromorbit.com> To: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140610060944.GG9508@dastard> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140609223320.GE9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1402380589 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6524 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote: > Hi everyone, > > Now that the 3.16 dev cycle has drawn to a close (one more > linux-next build and I'll tag for-next and send a pull request), > it's time to look ahead for the next couple of months. I think the > current major pieces of work that are currently outstanding are > these: > > - Jeff's bulkstat rework > - Brian's EOF prealloc scanning > - Namjae's FALLOC_FL_INSERT_RANGE work > - Eric's XFS_ERROR() macro removal and return () cleanup. > > There's also two major pieces of infrastructure work I'd like to get > done: > > - convert XFS to negative error returns > - restructure code to have a fs/xfs/libxfs structure similar > to userspace > > Because Eric's XFS_ERROR removal touches the entire codebase, as > does the negative error return and the libxfs restructuring, I'd > like to get these done first and base the rest of the dev cycle work > on top of that. Eric's patches just need a minor rebase and the > libxfs restructure needs some makefile rework and review and they > should be good to go. There is a new version of this work (Eric's patches and the base libxfs restructure) here: git://oss.sgi.com/xfs/xfs.git xfs-libxfs-restructure It's based on 3.15 with the current for-next branch merged into it and then the changes done over the top, so it's about as up-to-date as it can be. Comments welcome... Cheers, Dave. -- Dave Chinner david@fromorbit.com From arnd@arndb.de Tue Jun 10 04:57:16 2014 Return-Path: <arnd@arndb.de> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EF2987F6F for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:57:16 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id CBF5F8F8068 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 02:57:16 -0700 (PDT) X-ASG-Debug-ID: 1402394233-04cb6c78c414b2b0001-NocioJ Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.187]) by cuda.sgi.com with ESMTP id ZAVnBqhxmhYqWsHq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 02:57:14 -0700 (PDT) X-Barracuda-Envelope-From: arnd@arndb.de X-Barracuda-Apparent-Source-IP: 212.227.126.187 Received: from wuerfel.localnet (HSI-KBW-134-3-133-35.hsi14.kabel-badenwuerttemberg.de [134.3.133.35]) by mrelayeu.kundenserver.de (node=mreue003) with ESMTP (Nemesis) id 0Mgrgq-1X7PlP1ee8-00M0N8; Tue, 10 Jun 2014 11:54:16 +0200 From: Arnd Bergmann <arnd@arndb.de> To: "H. Peter Anvin" <hpa@zytor.com> Cc: Nicolas Pitre <nicolas.pitre@linaro.org>, Dave Chinner <david@fromorbit.com>, hch@infradead.org, linux-mtd@lists.infradead.org, logfs@logfs.org, linux-afs@lists.infradead.org, "Joseph S. Myers" <joseph@codesourcery.com>, linux-arch@vger.kernel.org, linux-cifs@vger.kernel.org, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org, cluster-devel@redhat.com, coda@cs.cmu.edu, geert@linux-m68k.org, linux-ext4@vger.kernel.org, codalist@telemann.coda.cs.cmu.edu, fuse-devel@lists.sourceforge.net, reiserfs-devel@vger.kernel.org, xfs@oss.sgi.com, john.stultz@linaro.org, tglx@linutronix.de, linux-nfs@vger.kernel.org, linux-ntfs-dev@lists.sourceforge.net, samba-technical@lists.samba.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, lftan@altera.com, linux-btrfs@vger.kernel.org Subject: Re: [RFC 00/32] making inode time stamps y2038 ready Date: Tue, 10 Jun 2014 11:54:14 +0200 X-ASG-Orig-Subj: Re: [RFC 00/32] making inode time stamps y2038 ready Message-ID: <10173877.4plnjUiyX8@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <538FB570.8000502@zytor.com> References: <1401480116-1973111-1-git-send-email-arnd@arndb.de> <8770583.6XeZxCxOY8@wuerfel> <538FB570.8000502@zytor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V02:K0:TrYIbdjEBc1IREw22dB8Te0hek5UG90XvAYj1rCy7zm jjm1gOT0qyrVVNI1MCw3TR63lC4JryhopUhNRxd8LRssJGnio3 ZV0jkp4ZSvAJKcItG0SdRDQDBAhhfYl7jfVMWuUXXF3CyOMh+9 BvWlB2OwVg77yWi2HCKpG8z5hqKygK6l34yjvk2u2ZrRXKVLTS sl1VAYzIa1W9ybfH2E1EX33MMeCGojjaMZtudG+wj45M81wVuY kz3vJnKDYJPBEgqWuEkjhr4w5HaGAIpCn93Km8jXs3OY3OLtYg j2KuSB/qhcGp1rbmd+4WtLVTD8+uc6t7e4rq1KMTbtbHYk3YHL cx6duBcIXFHKFIHDwizY= X-Barracuda-Connect: mout.kundenserver.de[212.227.126.187] X-Barracuda-Start-Time: 1402394234 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6524 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Wednesday 04 June 2014 17:10:24 H. Peter Anvin wrote: > On 06/04/2014 12:24 PM, Arnd Bergmann wrote: > > > > For other timekeeping stuff in the kernel, I agree that using some > > 64-bit representation (nanoseconds, 32/32 unsigned seconds/nanoseconds, > > ...) has advantages, that's exactly the point I was making earlier > > against simply extending the internal time_t/timespec to 64-bit > > seconds for everything. > > > > How much of a performance issue is it to make time_t 64 bits, and for > the bits there are, how hard are they to fix? Probably very little overhead for most uses, it's more the regression potential in the less common parts of the kernel I'm worried about. There is a significant but not overwhelming number of uses of the main problematic types in the kernel: arnd@wuerfel:~/arm-soc$ git grep -wl time_t | wc 188 188 5566 arnd@wuerfel:~/arm-soc$ git grep -wl timeval | wc 320 320 10353 arnd@wuerfel:~/arm-soc$ git grep -wl timespec | wc 406 406 10886 I believe we have to audit all of them anyway if we want to change the kernel to less problematic types and introduce new user interfaces. IMHO this work is helped if we change the uses to a new type as we find the problems. This lets us do the work one subsystem at a time and avoid accidental ABI changes. I don't care much what type that will be, and having a 96-bit type will certainly work well in a lot of cases, but I don't see a strong reason to use that over other types, especially when they can be more efficient. Arnd From alerts@google.co.uk Tue Jun 10 05:49:16 2014 Return-Path: <alerts@google.co.uk> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E13797F6F for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 05:49:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8B6D1AC002 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 03:49:12 -0700 (PDT) X-ASG-Debug-ID: 1402397350-04bdf05668151cb0001-NocioJ Received: from eros.elinuxservers.com (mail1.eros.elinuxservers.com [72.34.55.100]) by cuda.sgi.com with ESMTP id MxR1CDF9hCs5JlQh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 03:49:10 -0700 (PDT) X-Barracuda-Envelope-From: alerts@google.co.uk X-Barracuda-Apparent-Source-IP: 72.34.55.100 Received: from localhost ([127.0.0.1]:48971 helo=www.nngallery.com.my) by eros.elinuxservers.com with esmtpa (Exim 4.80) (envelope-from <alerts@google.co.uk>) id 1WuJW2-0005Sh-SQ; Tue, 10 Jun 2014 03:42:55 -0700 Received: from 41.216.50.102 ([41.216.50.102]) (SquirrelMail authenticated user nora@nngallery.com.my) by www.nngallery.com.my with HTTP; Tue, 10 Jun 2014 03:42:54 -0700 Message-ID: <a7edc7d16fbe103a5723f0677fc6445e.squirrel@www.nngallery.com.my> Date: Tue, 10 Jun 2014 03:42:54 -0700 Subject: Google Award Notification Letter........ From: =?iso-8859-1?Q?=22Google_InCorporation=AE=22?= <alerts@google.co.uk> X-ASG-Orig-Subj: Google Award Notification Letter........ Reply-To: david.drummond.guk007@googlemail.com User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20140610034254_69790" X-Priority: 3 (Normal) Importance: Normal X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - eros.elinuxservers.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - google.co.uk X-Barracuda-Connect: mail1.eros.elinuxservers.com[72.34.55.100] X-Barracuda-Start-Time: 1402397350 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.21 X-Barracuda-Spam-Status: No, SCORE=1.21 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MISSING_HEADERS, TO_CC_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6524 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.21 MISSING_HEADERS Missing To: header 0.00 TO_CC_NONE No To: or Cc: header To: undisclosed-recipients:; ------=_20140610034254_69790 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Google UK Ltd Dear Google User, Attached to this e-mail is your official Google+ Awareness Award Promotion notification for being an active user of Google Services. Best Regards, Matt Brittin. CEO Google UK. ©2014 Google Corporation® ------=_20140610034254_69790 Content-Type: application/pdf; name="Google 2014.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Google 2014.pdf" JVBERi0xLjUNJeLjz9MNCjg2IDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDE2MDIwOS9PIDg4L0Ug MTU0Nzk1L04gMS9UIDE1OTg5OS9IIFsgNTA0IDE4Nl0+Pg1lbmRvYmoNICAgICAgICAgICAgICAg DQoxMDUgMCBvYmoNPDwvRGVjb2RlUGFybXM8PC9Db2x1bW5zIDUvUHJlZGljdG9yIDEyPj4vRmls dGVyL0ZsYXRlRGVjb2RlL0lEWzw2QUJDMzQ5NDEwMzgxQzQwQTFBNjBGNjY2RkI3MjRGNj48QjFB OUJENTAxQjVGNUU0Nzk4MUE5RDFCQjJEQTc3NEQ+XS9JbmRleFs4NiA0MF0vSW5mbyA4NSAwIFIv TGVuZ3RoIDk3L1ByZXYgMTU5OTAwL1Jvb3QgODcgMCBSL1NpemUgMTI2L1R5cGUvWFJlZi9XWzEg MyAxXT4+c3RyZWFtDQpo3mJiZGAQYGBiYGBaBCIZK8DkKhDJwgwm+8GkHZh8ByZngkjmbDC7HMyu B5O/QOSCWrAJ6kCSUbcKRIpJgUQ0wLL8PEDy34ENDExAe5+CRIBq6UT+Z2Cc/w4gwADDUhBLDQpl bmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMA0KJSVFT0YNCiAgICAgICAgIA0KMTI1IDAgb2Jq DTw8L0MgMTAyL0ZpbHRlci9GbGF0ZURlY29kZS9JIDEyNS9MZW5ndGggOTkvUyAzOD4+c3RyZWFt DQpo3mJgYBBkYGAqYAASkY0MqIARiFkYOBqQxQShmIFRHUg7Nmxn8GUwLBCz4DzB0sEUwKjDUHL5 1AEGzqQZwWd8l/E+5U2Am8WyYwLETJaZYJqxAWw8y+kVUKtuAgQYABorEt8NCmVuZHN0cmVhbQ1l bmRvYmoNODcgMCBvYmoNPDwvTGFuZyhlbi1VUykvTWFya0luZm88PC9NYXJrZWQgdHJ1ZT4+L01l dGFkYXRhIDIgMCBSL1BhZ2VzIDg0IDAgUi9TdHJ1Y3RUcmVlUm9vdCA2IDAgUi9UeXBlL0NhdGFs b2c+Pg1lbmRvYmoNODggMCBvYmoNPDwvQW5ub3RzWzEwNiAwIFJdL0NvbnRlbnRzWzkwIDAgUiA5 MSAwIFIgOTIgMCBSIDkzIDAgUiA5NCAwIFIgOTUgMCBSIDk2IDAgUiA5NyAwIFJdL0Nyb3BCb3hb MCAwIDYxMiA3OTJdL0dyb3VwPDwvQ1MvRGV2aWNlUkdCL1MvVHJhbnNwYXJlbmN5L1R5cGUvR3Jv dXA+Pi9NZWRpYUJveFswIDAgNjEyIDc5Ml0vUGFyZW50IDg0IDAgUi9SZXNvdXJjZXM8PC9Gb250 PDwvRjEgMTA5IDAgUi9GMiAxMTIgMCBSL0YzIDExOCAwIFIvRjQgMTIxIDAgUi9GNSAxMjQgMCBS Pj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldL1hPYmplY3Q8PC9JbWFn ZTUgMTAyIDAgUi9JbWFnZTcgMTAzIDAgUi9JbWFnZTggMTA0IDAgUj4+Pj4vUm90YXRlIDAvU3Ry dWN0UGFyZW50cyAwL1RhYnMvUy9UeXBlL1BhZ2U+Pg1lbmRvYmoNODkgMCBvYmoNPDwvRmlsdGVy L0ZsYXRlRGVjb2RlL0ZpcnN0IDE2NC9MZW5ndGggOTMwL04gMTkvVHlwZS9PYmpTdG0+PnN0cmVh bQ0KaN7EVmtvm0gU/SsjrSol2sbzAgaqKlo/4q2l9KE4rStZ+UAM64xqgwW4bf59zx2MjfOo2Gqr FRpmmPuYy7nnXpAiYIJJYZj0A8wh04GHOWKh8JmUgkW+xiwxDBSlogVJsKs1bUNdh6SD3QAOpISj QDlFJk1AOtg1zjxiMjS4KcGUCKGjJC2gCAOlFIk0U54HC+VhgdNfv+Z9jCn/eDXh1/eblPcXlc0z ej5Zx3ZV5a9eKJHEX23SS4rtep1nSW+5/SKE+WuZ58tVSlq9RX56fs4HU/iaMYHlmHn8Kl1U89D0 lB8xLaKeh3iM6AEWrWi64dOq2C6qD3GRZhWTfLq9rSiGS5t9OT+n2MoFSSLh8/7X5cwm1R3zTMSH 8eZNapd3FTMq5KO0VjtTUvDxKl6WOICP86waDPLv87NAhU4GNIQgixsnfBev8bqFjVcvB/kqcXuz nVch+KSKV3bRz/CKTPDLNE5stmRa87fx9zoSBcd4hXT9CUHV6JEPCqewmyov+OddlMoHJnNlQAGt QQq6wjBCLAor2mv2Gx2aafigTpdx8CtYAEpFIBJ5b48gME5m4Jeeyb+oJdgN4cFpYpc0G6291W4d eR6dgZU4uigK0mvPFBWtabTfiGZ6/0bWDI29th2tTRsF5I90mvt/dZHvw5PRpr2+AREHcZlSbtt8 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 uO9FWyzxafc97sHu21Ob7Mi+DX7fIrrwu6/HXm+Nt4d7gTvNXZu60z3TPc5d6T7TPSUR+X73ZPcm 000qZz6+5ml3CRo8DWeR6HePTWwSLha5r3J73f3dI7VN5vhSVlu7mambzBGg9LbeB2F8kxObzDl+ VmYTC/cm2762LbGda8uzjbZ5bH1tfWzxtp72CLvLHmoPtjvtdrvVrtq5new9m4wWb4r52lhPq8uM rKqpqki7uKnmy2jYMHJm5zSO9B5KMS8uzWPFevM0Kp6q6ftLPU3Mia2UxZPH9IhiKi7L07NSipts xpl6Zkqxbis519fA2O3lyNX5zdiolPmamGFmLYwzX7NoYLTwtrj1xFjMwtvKyyk6cnZOdE7EmPCR RQVHkYp2TfmZ6F8m4/VlxaU+fXV8uZ5uJoz48mL9OvMVjfU8jIcUFqznoWZU7luv1vCwwjPNfLWm oBzVdopqmM2hqEb9zQjV7HmkmdWwnuSZ1XCN2uolwRz1EswI9ZwhlCTqJTlDRD2VmfUatmuFBQ2a JuokEm0XdbYn0i/qYMbAtqAhKUnU8mjMZ9ZiPo8mHBsoGnK7USXVLaowPK8TDbmZ6Ewf8nOVxPYq w49UGS76UtjPddxtdXoOOFyn5wDUSTlBqvNSWOPQWfOeN18kqvAUViNU6ItnT4/WF0zVtIZ5s9pf PUqqmDptuhlXVuuzPNUF+jxPgdYw9PmjFD9vFg/1FDTQ84VlvobnvdUF/qHeoYWeyoLyxpxsX26H vm450pcv+yiNZZuN+cy+cnKPUpxrFueYfeWafeWafeV4c0RfhTPMeV/ia7BTXnn+5La4kQc5MYcr 4hLK8yJdNWPMCb1+dEL0vLgNKrFHKSilXA/25OkhCGZRam5qrlmE+8wsCjVfCWwvip43OiFuA3u0 vciF7HBPHh0eWjIrFevDJxbrCaWTfOZU0b2VR79mM01EcTQVzijAPxzXioC/X9akmUel9mjMmjVr pimzUmYSFevJpcX6iInwxGZDVxUF5cgbfDhPUUReg8NR2GQ0ozAFTrBaszszlcJSMIJeJ3ZdNl5v rbdxc6tQ2xgbn37ZZjyCz0fAPo7P8Q8R22c+p7Fvorl/qW0cMrwtxnbVjP2xCenooTETpmac2BZ7 w1ORWJK4JHVJZn1ifWp9phW5T69CpnuV+VDqH7JKodqUmYcHAsnacgw23DL7e9DfO150XG8mUlLK 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 Nc7LGudlffOyvnlZ17yMlTBrm5e1rQ9jJcz65iX/i8j/IvK/iPwvIv8ryP8K8l8j/zXWv2TWv2Ty P0zOF5HzGjkfZg30sv55Wf+8rH9eI99lA1o3sD97Sj6EAzcwn1cwny/BiRtw4o/cfYJsv1Y5yE6q SP6gBMVs070QT5fxVCkr5lNyFWezqXuQul9xdTx1n6LuF9SdRN0i6v1a2OPj6Fc8GeTJIp6cZO6v jJx5y2zpDu6P4/5+7hdzfzQtPcrd92jpaloqoKVLzOe/NveJh81PXSRazhM9LbPgXrgPfg/zYQEs hMXwGCt9B0uu8PArD9J6Ju3sNvdGr4uuysfiMuVT/K8UvVm1b2aXmMzK3Y1dYm+lmpnhOD2Icu0b cRnr+UL5KTW6sKfsZazp1L9XTGQFm0XO3yImKreau6+JIomedadn3elZd3rWnZ51p2fd6Vl3etad nnWnZ92p2Yma86jZiZrzzJoeanqo6aGmh5oeanqo6aGmh5oeanqo2Y+al1KzHzUvNWu6qemmppua bmq6qemmppuabmq6qemO1xwRrzmCSG4RA/k20NTYb+4RmlArZPybbbgJpsHN8EuRyN4tkb1bInu3 RPZuiQnGf6e1oXBH6qTHdxp5pkcVosjSX1ZaBsBAGASD4WIYAkPhErgUhsFwGAGXweUwEq6AX8Ao GA1XwhgYC+NgPFwFV8M1MAGuhevgergBJsIkmAxT4EZIg6nwErwMr8Cr8Bq8Dm/AJngTNsMfYQu8 BVvhT7AN3oZ34M+wHd6F9+AvsAP88Fd4n91aLsdPZZllJ3wGefA57OL6FzJoyYfdUAB7YK88ZtkH ++FLdhCzeFu5VRbaPmcnsQu+gHzYDQWwB/bCPhm07YcvZbBdB1nZrhN0hi7QFVIgVVba18GLgAb2 V+Ux+xZ5wv4WbIU/wTb4K9c/48hu0/453wtl0P4Vz5fyXZeVjvPhAugJF4JXnnD0gt7QB/pCPxl0 XAT9ZZljAJALDnLBge+OYZwP595oecxxJcdp8oTTKiudCtigHdjBAU5IgERwgRs8kATnQXsgXmcy dATidhK3k7idxO0kbidxO7tBd+gB9N9J/53030n/nV7oBb2hD/SFfvRpmDzmHA6/kEHnKBjNtfFw HVwPt/HcbI53cu8unrsbfDAXlnAvC1bBasiGdVx/k+ff4vmtssz5J863QQPXNFmZYAFiTegogwnE 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 bYzFLDRdRXavEUmoXYXalah9QsxH4wAaB8j0ap7MR+sqtK6yruA8Sx6nVgOZr5L5KpmvkvkqPnyP DwF8COBDvfUp+QUjoIQRUMIIKGEElDCW9jI37MKjIB4F8SiARwE8CuBRAI8CeBTAowAeBfAogEcB PArgUQCPAngUwKMAHgXwKIBHATwK4FEAjwJ4FMCjAB4F8CiARwE8CuBRAI8CeBTAowAeVeFRFR5V 4VEVHlXhURUeVeFRFSNEZYSojBCVEaIyQlRGiMoIURkhKiNEZYSojBCVEaIyQlRGiMoIURkhKh4H 8DiAxwE8DuBxAI8DeBzA4wAeB/E4iMdBPA7icRCPg3gcxOMgHgfxOIjHQTwO4nEQj4N4HMTjIB4H 8TiIx0E8DuJxEI+DeBwUPhwM42AYB0/i905cPIFzZTj3Dc7V4lwtztXiXC3+u/F/B+6puKdaH+fa kzi9Tv4ZB6txsBoHq3GwGgdrcLCePPkHLpbjYjkuqrio4qKKiyouqrio4mIYF8O4GMbFMC6GcTGM i2FcDONiGBfDuBjGxTAuhnExjIthXAzjYhgXw7gYxsUwLoZxMYyLYVwM42IYl2pxqRaXanGpFpdq cakWl2pxqRaXanGpFpdqcakWl2pxqRaXanGpFpdUXFJxScUlFZdUXFJxScUlFZfKcakcl8pxqRyX ynGpHJfKcakcl8pxqRyXynGpHJfKcakcl8pxqRyXynGpHJfKcakcl8pxqRyXysUluKTjkm6OxhYX GnGhHhfqcUDHAeO9qR5161G3HnXrUbcedetRV0ddHXV11NVRV0ddHXV11NVRV0ddHXV11NVRV0dd HXV11NVRV0ddHXV11NVRV0ddHXV11NVRV0edetSpR5161KlHnXrUqUedetSpFwOZGU4xM5xi9Kus 54nWx4niCaIwe8/3DbCR9f5F1u3u7Op6wPlwAfSEC8ELvWAOz9wBd8JdcDewg0TrJrRuQusmtG5C 6ya0bkLrJrRuQusmtG5C6ya0bkLrJrRuQusmtG5C6yZxN1pXo3U1PVbpscooiDIKooyCKKMgaup/ egSg+48ynx281fjLxr/P9mr8qMaPavyoxo9q/KjGj2r8qMaPavyoxo9q/KjGj2r8qMaPavyoxo9q /KjGj2r8qMaPavyoxo9q/KjGj2oUVFFQRUEVBVUUVFFQRUEVBVVGQ5TREGU0RBkNUUZDlNEQZTRE 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 iqiXiqbDRdPhoulw0XS4aDpcNM2IphnRNCOaZkTTjGiaEU0zomlGNM2Iphl5t0nebZJ3m+TdJnm3 Sd5tknebouL3HXPwKB7D81E/kbef/BvLv7H8G8u/sfwby7+x/BvLv7H8G8u/sfwby7+x/BuL1mNF 67Gi9dhoo1p2E1rQis1owxbEaMdWdOC9cLfIPltkny2yzxbZZ4vss0X1CaL6BFF9gqg+QVSfQNPn afo8TZ+n6fM0fZ6mz9P0eZo+T9Pnafo8TZ+n6fM0fZ6mz9P0eZo+T9Pnafo8TZ+n6fM0fZ6mz9P0 eZo+T9Pnafo8TZ+n6fM0fZ6mz9P0eZo+T9Pnafo8TZ+n6fM0fZ6mz9P0eZo+X/b1qE/Z2fgGvolv 4d6Qk4lyMlFOJsrJRDmZKCcT5WSinEyUk4lyMlFOJsrJRDmZKCcT5WSinEyUk4lyMlFOJsrJRDmZ KCcT5WSinEyUk4lyaon5aomFaomFaomFaomFaomFaon5aon5aon5aon5aon5ZX+JMmW1WIwlUUYW y8piWVksWz60+H9UHb/oeHqYIpudJZudVcpm54e28osxUnb7UFYrHxPaZLZTZbZRMtupMtsotfjN icvDE4kF4dXEi1GPxCuy3xL1fL06vSHqK8u1ynKJxAr1/QeZrkKmG1T6jclW1zfLPOOirCyXleWy slxWlsvKcllZLivLZWW5rCyXleWyslyWkm6lpFsp6VZKupWSbqWkWynpVkq6lZJupaRbKelWSrqV km5N3h3i5HTcg3sxA/dhJn6L+8NwmXO4zDlc3TVf3TVf3TVfFs3IohlZNCOLZmTRjCyakUUzsmhG Fs3IohlZNCOLZujMmM6M6cyYzozpzJjOjOnMmM6M6cyYzozpzJjOjOnMOLk9tCV3YCd2YTf2YC/2 wZ6QmSfIzBNk5ktk5pzMPFb9l1f/5dV/efVfXv2XV//lVQkFVUJBldCqSijI4MMr1oVYpVBQKRRk 8ktk8ksqjKnCmGT04TJ6VtVQqOhyHkKcilCGciSirEyfVVEUVBQFFUVBRVGQ+bMyf1ZlUVBZFFKH ePYjGOjaYOdDINaqMgqUwXDKIJs6zn0+SB0coOooUAjDKYSsyqOg8iioPAoqj4LKo6DyKFAOl1AO l1AOl1AOl6TE0ZQ4mhJHU5djHMaHkdTESGriUmriUipiuHo2T0nkKIlc6relX2Tqk5qHP5Z+lalP 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 L+YtaCHvyB+gxbwLf5iW8EF8KC3jE/gEWsVf4VNoNZ/Kp9Em/gH/gH7nH/KZtIV/zmfTH3wOn0M7 +Hf8e9rJ5/IfaTefx+fRXr6AL6B9QouQ9otkkUIHrYc5Ms7DHDkPc76oLCoz5TzMBc6rXIKoL+qz 0HmVS3Re5ZKdV7kU508uVbQSrVmauFG0ZaXst3Is3Xp9Y5nW6xs7zZvmzWStrNc3drP19MZus57e 2O1+sl+CtffT/Ax2p/X3xu7zl/grWWfr7411s/7eWHfr7431sP7e2KPW3xt70t/lH2BPWR9v7Bnr 440Ntz7e2Bjr442NtT7e2ATr441Ntj7e2Ezr443Nsj7e2FzZRj7JFlrvbpxZ727cs97duG+9u3Fl vbvxQI6V43mi9evGU6xfN55q/brxstavGz/J+nXjVeUcuYhXtx7d+FnWoxtvKNfJTbyx9ejGm1mP bvwy69GNX249uvG7rEc3/rD9Po73CHjAec9ABoo/GiQECbx3kBQk88eCtCCNPxGkBxn8ySAryOJ9 gopBJd7Xelzj/a3HNT7AelzjA4PaQW0+2Ppd40Os3zU+1Ppd488FTYNmfLj1u8aft37X+Cjrd42/ aP2u8THW7xp/Kbg9aM/HW79rfGLQKejEX7Xe1/gk632Nv2a9r/HJQd+gL58SDAgG8DeCgcEg/qb1 vsbftt7X+DvW+xr/wHpf4zOCd4KZ/MPg42Ae/ypYECzkS4Jfgl/5smBpsI6vDDYEO/hm65WN77Fe 2fjewEQY32e9svGD1isbP2S9sgkWyYiUE6H1xyZSI5Ui1URapEbkNFEmUidSR5SPnBE5Q1SINIg0 EhUjTSLniiqR5pHmombkgshF4tTIJZEWolbkskhLUSdybeQ6cUbk3khH0SBaIVpZNLbe3UQz691N XGy9tYlLrLc2cb/11iYett7aRC/rrU30Tbgq4RYx2X61J2ZYb23iM610kvjW+mkT83VrfYfYZv20 icPWT5vnWT9tnrJ+2ryo9dPmJVg/bV5J66fNK2v9tHlZ1k+bV8H6afNq6Al6slfT+mnz6lk/bV5D 66fNO8f6afOaWj9tXjPrp8272Ppp8y63ftq8K6yfNu8qvVKv8lpZL2veDdbLmtfGelnzbrZe1rw7 rJc1727rZc3rkMgTA+/eRJ2Y6D2YmJKY5nWxntW8RxL3JO7xeiRREvN6EmergHqJsPiSKJkYlcAu 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 ORuFvpPWDucNohaxB+T6n6jNLloDXJ0FsT2sMxTbrm7C7y7ag7pSRZy50oUfeR5dGfLeIGljmKjl Ltojumh/6OLaQ/sxF+3DXLSvctF+yqUJ/7qCso7R+F0ReY2LeHDRXshFeyAXrRGupXfih2s37wdc tBdy0V7ItU7KZc110X7AtUnY5zxxkY9ctAdw7W4Tq4lzQGKNIt61T+i4aoWM/2uMrnu77v/nf43x j/StTM1U9/FfVI21yq8VpVMaUX+iLKJsohyiUW2uuUQ2oglEk4kKiYqI/ERhoijRXKL5RIuIlhAt J1pFtJZoA1GVpC1E24lqiPYSHSKqIzpOdJqonuiCfGfj51yvEN2QxPotipKkCnlSZ6Jusm+N8kpj SOpBlEqULuSt1wyiQaKvScPujDlpBNEYojwih7CTNFG8L2kK0TQiTcqDRBGiuLCbNI9oIVE50VKi FUSridYRbSTaJK9b21wT+juIdsvrOvnc7jb39xHVEh0hOkF0hujcnSv7J6mBqOnvuCZ8cU348e8l zEFbmiCI7WO+6qVuQzu6Kf6384lr4vmE3fssRF3kfJP8vu53rvf1Iuqr/Nqeb3fZJ9mn2t12L2iG fZZ9jr3UXmZfbK+wr7Svsa+3V9o327fZq+177Afsh+3HqJ2yn7Wft1+0X7Y32285jI4kh9WR7EgB pTn6499Z1LIdOUSjHLkOm2OCY7K9wlFor3QUOfyOMCjqmOuY71jkWOJY7ljlWOvY4KhybKF/b3fU OPY6DjnqHMcdpx31jguORscVxw1Hi1N1dnZ2c/ZwpjrTnRnOQc5hzhHOMc48p4Pvk3yic4pzmlNz Bp0RZ9w5z7kQVO5c6lzRIa12rnNutM9wbpJtK7WO+B3Udjv3OWuJPyLbCecZ0DlqDdSanNecN12K ywLq4upOa0LvDn9xQZG/uJCEX1zojF9c6IJfXLDiFxe64RcXuuMXF5Lxiws98IsLPfFbC72tadYh ykPWodZcZaDVY/Uro60zrDOVp61R64uK3VpqfUl5xlpmfVn5jnWZ9V3lWesu625lvvWQ9ZKyEL++ sPH/454ZDN0NEfz3KtX8f5NPz5ZElSV9lKRcSbY2PBNlTfpkybNeoeSLJPklUdVNp6qbTlU3napu +iKpu0Tqs2x5m3+vkte1kja0eWeV/PcWZYCtltoR2wnbGds5ag3Ac7YmatdsN+2K3WLvIpqt1t7d 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 0BnrOdAF67kQgHUBq08Y1NcA682sOPPxQY6GQU3Rq1FPKdZlcuQbqKNMXM0k18C6Ri7HulauSRjU DdmPvBWxw1EVjvE2CePsCDKWTCTTyVyyiJSSDWQHxrGj5Cy5ipn/Exzbn+/noScZoa/boi8J4AFe 6E0dIAARMgz1jkMtlmNvzcEeWkFlHyilMgJWUtkXVlHZD1ZTGQVrqIyGtVRGwjoqY2A9lbGwgco4 ubkoUUcLUaKW9aksk1tSuVNuRWW13JrKGrkNlbVyW1Gixg2obAXzqf0WUMsVUssVUcsVU8stpDZb RG1WQq24mFpuCbXcUmq5ZaI95Pq0xw1ojxvSHq9He9yI9rgx7XET2uOmtMfNaI8DkWoTuqpbQrGC 0JEO2uJPNMQn+QbQNfWNiQvG4s8zUWBIfa0e9REj8dziUcD4a6u/6Eki9iKezKS+QmvxDhnoIEIR MMCcBigSMRRfxJhmRCZADwiFXtATQqA/1xOjT9ineWFmCPMjM56ZIZkjWSZZx3/kq/kavhbxdR43 n1vAFXJFXDG3kFuEWLuH28vt4/ZzB7hfud+4g3wlz/ASXsqzvIzX4OXce66K+8B95Kq5Gq5WgbCn +EUxVTFNMV0xQzFTMUuRr5it2KTYrNii2KrYptiu2KEoU+xUXFZcVVxT3FDcUtxR3FM8UDxSPFFU KJ4rXio1lHKlppJTKpRKpZaSV2ormygdlI5KJ6WzUlCqlS5KV6Wb0l3poWyq9FQ2UzZXtlB6Kb2V LZWtlK2VbZQ+Sl9lW6Ufr+S1eJ7X41W8Pv+Of89X8aa8GS/eg2xIsz5CMz0WmYM/xrREJgmjdjpm dEomCzM6Lbr6maf5mzbNynTo3KuuZK1kLdGTrZatISrZZtlmYiCrlFUib8NchdQTcxXkN9e4u8RO zFiQzYzH2N0cc/aNxBez7UukM2bcV0gXGrsDaOwOpLG7K43d3Wjs7k5jdxCN3cE0dvegsTuExu5Q Grt7KmowavdS6mCkjqKROotG6lG8AUbqMajnNhL2Vyz6r1nw32KnLxbiaG8S2puatB/1aD+a0n60 pZo7Us09qObdqObBlKOEfsr8WPqmP2x3IuK8rg+xqOv/f/TiP/fHT76DR9ClnkKop0iohWXUnjy1 pza1pw61py61px61p4raU5/a04Da05Dasx61pxG1pzG1pwnarR4x/Xz1Cpavc/U88s3PI1Yc89RP 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 cCOHW17zIW7L6mEv5D0Lx7fJzbN22Ra0UXFw/arTkw/677BJnV++UNJhzTkL3xGW9y4bzNzWUV6e GWdvGnTvTqf4wePyjy/eFdVv/eWWdzWvrqpJnyvRWjrthwz2nf+dVW8vvbkxs3bIo1czNxSW2faF 26sODz+ReWz1r/m1tnnHbJYRwV/If3IofZdfu9OhJhohTUwfd/fO+knRbOHgksCOy/IGXvTJyRIc P071fZLIRxlvezOxR8NDl5qlXalwVU/R1oiJuDD4CCH/A8O3W4oNCmVuZHN0cmVhbQ1lbmRvYmoN MTAxIDAgb2JqDTw8L0JpdHNQZXJDb21wb25lbnQgOC9Db2xvclNwYWNlL0RldmljZUdyYXkvRmls dGVyL0ZsYXRlRGVjb2RlL0hlaWdodCAxMzMvSW50ZXJwb2xhdGUgZmFsc2UvTGVuZ3RoIDU0NjYv TWF0dGVbMCAwIDBdL1N1YnR5cGUvSW1hZ2UvVHlwZS9YT2JqZWN0L1dpZHRoIDM0Mj4+c3RyZWFt DQp4nO1dCXgUxbYuSAIEyCpZZpAk7BAEAsPy0ACRRCIyAwZIwIhsQquoKAaDXsUMCLKIGlCBVgQf ovcG2ZzIFRVEUS9qGgREEK5cQE0wciVRUISn9puepedUdVVND0yH8Dm/3+eXqapz6vRPTy3nnKpB KIQQQgghhBBCCCGEEEIIIYQQgoTuJQBpddFjQhT+eWVeXfRad4hMkaRjMsBh6W3je310+Kherj96 jUSojyBEoURB6KoU5BjfufEYvFLW4KTRnZocjrEDOyKU6nAc+cnh+Lcsb3N8KMsHHI4FyGJ054Yj 0/HgRi2pxrNaWn7QeielYzcKrVZrhNEmGAeLpTftqY6VdTG65yH/ZXLqxupMo00wDDkz/0N5oJ8f fe5aI3tNslh2/uyHVFmuqXzIYmlopB2GIfJNyvMceqDTFAP7nPyOX0ZVzO2OUMeShugxw788QUWB 3W7/iniULAP7a9ZNOqufVOdgJEldMzc7bogz0CZj0NbSDz7Iuij/IheLZuto1J0SRZE2aXqwsiH6 rI1xNhmGJvAhnjeun2Hvkoy9anNigLMqVvnjDTqtbzqGmY0zyjDUEavXvgD7OVMOepqQ6PljTflv FF6HlzYwzCrD4DCe1SlohngSdrOlgNHyth1aVncvuAJZtRrP6qBZu0Efv0lvsEfvmPd+IFk9N84Q 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 BPADwOoX/tqGWNWLQFhd+qen5ZX4Q8d1CsBqJTfAkI3Q9V7/JuIknYWA8KTIr1pyGpb5RoAFKDQE 8IGlmj5SwHZGWV5Wo4T6YwB/VWCs7hteeHNCHj3bJifrfIhVfUhqhrF64Uzu3VdHU39x7+mB+71z 1dIr9XcO6wozehPJ5ifpl/gjtKrH5942lz/SVs+RtDQZv2FZ/q7reGoGZnfvhUjn7q9jG69ACChB xDOaTwjULZaaq7aBVhuCBmRmzwqivhj1uOEf6om7vlQdIZAwaw5YHbZarcpJrS6OJ1Cu1bp1j3qM +mTgdyj8VdGDlsT0vegGHge86XLbeqUguQvKq6TQSsFycwMUW4+j1vUImfZB+QPIQwA0HLYrWeOd 7cwLXUIAaOzc/qc/6e8nsU4WB/XXu/4iKOGmm38jsnM0Q+CgIyvRX5b32ELrqYuC51yAWE4e2dxa Xp6bYOVf7xsCA5Z8ZHdllY8hctKVfNCrhWWhHKCLRCInGpgccMp5CCGEEEIIlxn/D6SexgINCmVu ZHN0cmVhbQ1lbmRvYmoNMTAyIDAgb2JqDTw8L0JpdHNQZXJDb21wb25lbnQgOC9Db2xvclNwYWNl L0RldmljZVJHQi9GaWx0ZXIvRENURGVjb2RlL0hlaWdodCAxMzMvSW50ZXJwb2xhdGUgdHJ1ZS9M ZW5ndGggMTAwNDQvU01hc2sgMTAxIDAgUi9TdWJ0eXBlL0ltYWdlL1R5cGUvWE9iamVjdC9XaWR0 aCAzNDI+PnN0cmVhbQ0K/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQN DAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjL/wAARCACFAVYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QA tRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJ ipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx 8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcF BAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygp KjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJma oqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oA DAMBAAIRAxEAPwD5/ooooAKKKKACiuk8MeDr3xRBey2bqzWyg+RGN8z5IGQg52jPJ/8Ar42IPhNr 32h49RudN02NWxunu0csOeQsZb9cdaqMZS+FXE5Jbs4Oiu+T4Zulozza3pr3DfKsSSSAJ/tFvLIY f7PHXrxSXfwr1FJMWGraXfJlR8k3lOc9cCTaOPrVuhVSu4v7iFVg9mcFRW3qXg/xDpFtJc32kXMd tG+xpwu+PP8AvLkEcdc4rErJq25pcKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAorvPDfw6XUIo77WtTSxsD/BGpaZznlQCABx/Fyv1IIrtLfwF4IECqLO8uSP+Wr32 0t7kBcCsp1oQ0kznq4qlS0m7Hh9FeyXHgvwhczGxs9LvEnYZMov8+Wo5LHKEYx615TrVkmm65f2U TM0UE7xxsxyWUMQCeB1GOwqoVIzV4l0q0Kq5obFGiiirNQooooAKKKKACiiigAoooAyQKALNjp93 qdyttZQNPO2MInU5IH8yP516RoHgLTtGg+2+KI2nvAcpp6uBGn/XRlOT2+UY6cntWxonha08DRfa ZJzNrEkOJWxhbbJztX/axtyT0PAqtc6jZwWsusauxNpGSsNspw1zJ/dHoB3Pb8hXrYXAwVL6xiNI 9u5x1a8pS9nT3NN7+5lsJpLcWulaSnMjqghh7AcKPmPQdzXK3Hi/w3buF3anqLA/MyBYY8Y/hJyx 9OQK4zXPEV74hufOvipCfLBGg2pAmSdqgfzPPFZNZVMxn8NFcsfI0jho7y1Z358b6G1wT/Ytwlsv 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 igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACu28Eato1lbXmn3jyRTalF5IlONkciu rRsT2U8qfTGeh44mpIJRDOkjRJKFOSkmdrfXBBqoTcJKUd0JpNWZ6K/mQztDMrRyoxVlI5BrV13T bfxjpqXFq0EWuRg+ckoGLr5TyhY4DnjIPXqOevMaL4hh1KNbTVbSXZCFSK7tFLyoCQqqyk/OOw78 +mANe3to7meWPStXsrzyiQwLm3fjGfllCnvX01TFYTMaSjVfLNdTz1SqUJXgro88u9L1Cwd0vLG5 tmTG5ZoWQrnpnI460iaZfSeQVtJts+TEzIQrgHBIJ4wD1PQV6vFqHiC3i+zrdjys8xm8jKn8N2Ks /b9ciQSzazY6dG52GX7ZHGeecfIc9v0ry55dGP8Ay9jY6VXk/ss5jwRpcnh69fVtasfJMJBhinYq 8p2t8mzrgkoSWxwCOckVpS3b6bb3HizUcGZpGazjfrPcHkNjuqk5P4DvVLVdc07SUS7VJ9ZnlY7J 5VZLYkdTk/M5z249emM8XqfiC/1m+a71FxcNsaOON87IVOcBFB+UDOR+uan6xTw9N06Du3u/8gUJ TkpT6GbLI00ryucu7FmOOpNNoorzToCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAAHByOtFFFABRRRQAZOMZ49KKKK ACiiigAooooAKKKKACiiigAooooAKKKKAP/ZDQplbmRzdHJlYW0NZW5kb2JqDTEwMyAwIG9iag08 PC9CaXRzUGVyQ29tcG9uZW50IDgvQ29sb3JTcGFjZS9EZXZpY2VSR0IvRmlsdGVyL0RDVERlY29k ZS9IZWlnaHQgNjQvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggMzY3OC9TdWJ0eXBlL0ltYWdlL1R5 cGUvWE9iamVjdC9XaWR0aCAyNTY+PnN0cmVhbQ0K/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgG BgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgy PC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAQADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAA AAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEI I0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlq c3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL /8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLR ChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn 6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+imySLFGzuwVVGSScAVxMvi7UfEVy9t4Ot4ZY4JT Fc6hdqfJUjH+rwfnPOfTH1ppNgdXqGrafpMXm6he29qhBIM0gTOOuM9a5VvHd5qkhj8NeHry/Vgf Lu5v3NuTg/xEc/h19atWngKwNwt5rdxPrd4pBSS9IZYj1wijAAz/AEq94k1tND05YrVFk1G5Pk2V uvV5D04/ujqT6CqXL01AwNB8TeJ7jxsNB1e20zatp9onNmrkwscYViWIzz+RFd9WD4X0OfSNOL30 5udTum828uGwS74AwOB8oAAA9q3qUmm9ACiiipAKKKKACiiigAooooAKKKKACiua1vx74d8PyeTe 6gpuOnkQgySA+6rnH41QufFHia+jkOheE5wAQFl1KQQfX5Cc4981Sg2B2lFef3E/xScAw2fh2LHX 95I2an8P+LNabxU3hvxHY2sN4bfz4pbRyyMB1znkU3Tdr3A7mikHIzS1ABRRRQAUUUUAFFFFABRR RQAUUUUAYHiLw8PEv2Wyu5caYrGS4iUkNKwxsXP93qT7ge9bcEEdvCsMUapGgwqqMACpKztZ1qx0 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 IHRydWUvTGVuZ3RoIDY5NjgvU3VidHlwZS9JbWFnZS9UeXBlL1hPYmplY3QvV2lkdGggMjU1Pj5z dHJlYW0NCv/Y/+AAEEpGSUYAAQEBAGAAYAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA uQD/AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A7ylpopakoWoLiLeNw6ips0hpAc5fWpZxNGMODzXRaNOrg3GcALub2PeqN1Fg7wOD1ql5txFF JFBKEST72VyfwrzcXhXN80Ny4sj1nUBPcO2fpWBcTgsmxSwDfMV7d+avS6eZDy+fUmopLBxbiNVA jU/eXqTXKsPKnurl3GFzbMJNpAJDLnuDmtuGRLoRbem0k+3T/wCvWFJaSiCR+WxGn14JFX/Dm52l ifIOAQD6V0YO8avyCpaSb7HSWwYOqsvA7irwtVbleDUUCjrV+PivaS0OW5YgQqgWrSrUUZ4qdaAJ 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 fA0KZW5kc3RyZWFtDWVuZG9iag0yIDAgb2JqDTw8L0xlbmd0aCAzNDkyL1N1YnR5cGUvWE1ML1R5 cGUvTWV0YWRhdGE+PnN0cmVhbQ0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhp SHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4 bXB0az0iQWRvYmUgWE1QIENvcmUgNS4yLWMwMDEgNjMuMTM5NDM5LCAyMDEwLzA5LzI3LTEzOjM3 OjI2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5 OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91 dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEu MS8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0PgogICAg ICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxy ZGY6bGk+aHA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2RjOmNy ZWF0b3I+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFw LzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNC0wNi0wOFQxNzo1OTo0My0wNzow MDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+TWljcm9zb2Z0wq4g T2ZmaWNlIFdvcmQgMjAwNzwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURh dGU+MjAxNC0wNi0wOVQxODoyMTowNS0wNzowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4 bXA6TWV0YWRhdGFEYXRlPjIwMTQtMDYtMDlUMTg6MjE6MDUtMDc6MDA8L3htcDpNZXRhZGF0YURh dGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjph Ym91dD0iIgogICAgICAgICAgICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEu My8iPgogICAgICAgICA8cGRmOlByb2R1Y2VyPk1pY3Jvc29mdMKuIE9mZmljZSBXb3JkIDIwMDc8 L3BkZjpQcm9kdWNlcj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3Jp cHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvbW0vIj4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+dXVpZDo0N2Vl MzE5OS00MWNiLTRhMGUtYmQ0Ny1hNTA3MzFhMDhiM2E8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAg ICAgIDx4bXBNTTpJbnN0YW5jZUlEPnV1aWQ6ZmU3Mjc1MzgtZjdhZS00OGE2LTkyYzEtMWY1ZmNm YTZmMGM5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9y ZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+DQplbmRzdHJlYW0NZW5kb2JqDTMg MCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDUvTGVuZ3RoIDUwL04gMS9UeXBlL09i alN0bT4+c3RyZWFtDQpo3rIwUTBQsLHRd84vzStRMNT3zkwpjrawAAoGxeqHVBak6gckpqcW29kB BBgA6VEL7g0KZW5kc3RyZWFtDWVuZG9iag00IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9G aXJzdCA1L0xlbmd0aCAxMjQvTiAxL1R5cGUvT2JqU3RtPj5zdHJlYW0NCmjesjBVMFCwsdF3LC3J yC/SyCjQ1HcuSk0syczPc0ksSdVwsTIyMDQxMDOwMDQ3tTQx1jUwVzcwUIeqAurwzUwuyi/OTytZ p+CflpaZnKoQnl+UomBkYGCuqe+bn4JqiqWhhZGhgSnclICi/JTS5FT8xtjZAQQYAMvbMQUNCmVu ZHN0cmVhbQ1lbmRvYmoNNSAwIG9iag08PC9EZWNvZGVQYXJtczw8L0NvbHVtbnMgNS9QcmVkaWN0 b3IgMTI+Pi9GaWx0ZXIvRmxhdGVEZWNvZGUvSURbPDZBQkMzNDk0MTAzODFDNDBBMUE2MEY2NjZG QjcyNEY2PjxCMUE5QkQ1MDFCNUY1RTQ3OTgxQTlEMUJCMkRBNzc0RD5dL0luZm8gODUgMCBSL0xl bmd0aCA1NS9Sb290IDg3IDAgUi9TaXplIDg2L1R5cGUvWFJlZi9XWzEgMyAxXT4+c3RyZWFtDQpo 3mJiAAEmRqaY1QxMDAysM0Ek30cQydAHIhlvAmX/TUgFizAwjpLDh2TaDCIZGQACDAB70AezDQpl bmRzdHJlYW0NZW5kb2JqDXN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K ------=_20140610034254_69790-- From bfoster@redhat.com Tue Jun 10 06:18:04 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id B493C7F47 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 06:18:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9F27E30407E for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:18:01 -0700 (PDT) X-ASG-Debug-ID: 1402399080-04cbb075251579f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CVjhwSwmdiH40XNI for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:18:00 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ABHqZQ018872 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 10 Jun 2014 07:17:52 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s5ABHpsT001099; Tue, 10 Jun 2014 07:17:51 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id D846D12138E; Tue, 10 Jun 2014 07:17:50 -0400 (EDT) Date: Tue, 10 Jun 2014 07:17:50 -0400 From: Brian Foster <bfoster@redhat.com> To: Dave Chinner <david@fromorbit.com> Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection Message-ID: <20140610111750.GA46344@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection References: <1402060483-22195-1-git-send-email-bfoster@redhat.com> <20140610012149.GH4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610012149.GH4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402399080 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Tue, Jun 10, 2014 at 11:21:49AM +1000, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 09:14:43AM -0400, Brian Foster wrote: > > Changes in the XFS logging code have lead to small leaks in the log > > grant heads that consume log space slowly over time. Such problems have > > gone undetected for an unnecessarily long time due to code complexity > > and potential for very subtle problems. Losing only a few bytes per > > logged item on a reasonably large enough fs (10s of GB) means only the > > most continuously stressful workloads will cause a severe enough failure > > (deadlock due to log reservation exhaustion) quickly enough to indicate > > something is seriously wrong. > > > > Recent changes in XFS export the state of the various log heads through > > sysfs to aid in userspace/runtime analysis of the log. This test runs a > > workload against an XFS filesystem, quiesces the fs and verifies that > > the log reserve and write grant heads have not leaked any space with > > respect to the current head of the physical log. > > > > Signed-off-by: Brian Foster <bfoster@redhat.com> > > --- > .... > > > > +# Determine the system device name for a particular block device. The device > > +# name is how the block dev is referenced under sysfs. > > +_get_device_name() > > +{ > > + devpath=$1 > > + > > + # check for a symlink (i.e., device mapper) > > + if [ -L $devpath ] > > + then > > + devpath=`readlink -f $devpath` > > + fi > > + > > + # grab the major minor and convert from hex to decimal > > + major=$((0x`stat -c %t $devpath`)) > > + minor=$((0x`stat -c %T $devpath`)) > > + > > + # refer to sysfs by major minor > > + basename `readlink /sys/dev/block/$major:$minor` > > +} > > $ basename `readlink -f /dev/mapper/vg0-home` > dm-2 > $ basename `readlink /sys/dev/block/253:2` > dm-2 > > Why is _short_dev() not sufficient? > That should work... I guess I missed it. > > +# Use the information exported by XFS to sysfs to determine whether the log has > > +# active reservations after a filesystem freeze. > > +_check_scratch_log_state() > > +{ > > + devname=`_get_device_name $SCRATCH_DEV` > > + attrpath="/sys/fs/xfs/$devname/log" > > + > > + # freeze the fs to ensure data is synced and the log is flushed. this > > + # means no outstanding transactions, and thus no outstanding log > > + # reservations, should exist > > + xfs_freeze -f $SCRATCH_MNT > > + > > + # the log head is exported in basic blocks and the log grant heads in > > + # bytes. convert the log head to bytes for precise comparison > > + log_head_cycle=`cat $attrpath/log_head_lsn | awk -F : '{ print $1 }'` > > + log_head_bytes=`cat $attrpath/log_head_lsn | awk -F : '{ print $2 }'` > > awk can read files directly: > > log_head_cycle=`awk -F : '{ print $1 }' $attrpath/log_head_lsn` > > > + log_head_bytes=$((log_head_bytes * 512)) > > + > > + for attr in "reserve_grant_head" "write_grant_head" > > + do > > + cycle=`cat $attrpath/$attr | awk -F : '{ print $1 }'` > > + bytes=`cat $attrpath/$attr | awk -F : '{ print $2 }'` > > + > > + if [ $cycle != $log_head_cycle ] || > > + [ $bytes != $log_head_bytes ] > > + then > > + echo "$attr ($cycle:$bytes) does not match" \ > > + "log_head_lsn ($log_head_cycle:$log_head_bytes)," \ > > + "possible leak detected." > > + else > > + echo "$attr matches log_head_lsn" > > + fi > > + done > > + > > + xfs_freeze -u $SCRATCH_MNT > > +} > > + > > +# real QA test starts here > > +_supported_fs xfs > > +_supported_os Linux > > + > > +_require_scratch > > +_require_freeze > > + > > +if [ ! -e /sys/fs/xfs ] > > +then > > + _notrun "no kernel support for XFS sysfs attributes" > > +fi > > _requires_xfs_sysfs > I was mulling this over as I think we'll probably end up in a situation where a test that depends on sysfs bits will need to check for a specific attribute file. E.g., some new test comes along using a new attribute file. Checking for /sys/fs/xfs is not sufficient for that test once we release a version that so far only exports the log bits. I think we could handle that by supporting a parameter to _requires_xfs_sysfs that specifies the sub-attribute that must exist (similar to what we have for xfs_io commands). We don't need that at the moment, but that's good enough for me to create the requires func. > > + > > +rm -f $seqres.full > > + > > +_scratch_mkfs_xfs | _filter_mkfs 2>> $seqres.full > > +_scratch_mount > > + > > +_check_scratch_log_state > > + > > +$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -n 1000 -p 2 -S t \ > > + >> $seqres.full 2>&1 > > + > > +_check_scratch_log_state > > wouldn't it be better to run fsstress as a background process and do > several freeze/check/thaw cycles on a running workload? > Good idea, that might be a more effective test for catching future issues. As it is, this test runs in a few seconds so I think we could beef it up a little without losing the 'quick' categorization. I'll play around with it. > > + > > +umount $SCRATCH_MNT > > +_check_scratch_fs > > + > > +status=0 > > +exit > > diff --git a/tests/xfs/011.out b/tests/xfs/011.out > > new file mode 100644 > > index 0000000..a3f3805 > > --- /dev/null > > +++ b/tests/xfs/011.out > > @@ -0,0 +1,11 @@ > > +QA output created by 011 > > +meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks > > +data = bsize=XXX blocks=XXX, imaxpct=PCT > > + = sunit=XXX swidth=XXX, unwritten=X > > +naming =VERN bsize=XXX > > +log =LDEV bsize=XXX blocks=XXX > > +realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX > > Any particular reason for dumping the filtered mkfs information > here? It won't ever cause a test failure unless we break > _filter_mkfs... > Not really, I'll clean that up. > > +reserve_grant_head matches log_head_lsn > > +write_grant_head matches log_head_lsn > > +reserve_grant_head matches log_head_lsn > > +write_grant_head matches log_head_lsn > > diff --git a/tests/xfs/group b/tests/xfs/group > > index 19fd968..99bf0e1 100644 > > --- a/tests/xfs/group > > +++ b/tests/xfs/group > > @@ -8,6 +8,7 @@ > > 008 rw ioctl auto quick > > 009 rw ioctl auto prealloc quick > > 010 auto quick repair > > +011 auto quick freeze > > log and metadata, too. > Ok. Thanks for the review. Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Tue Jun 10 06:22:47 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 147EB7F54 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 06:22:47 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E33238F807A for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:22:46 -0700 (PDT) X-ASG-Debug-ID: 1402399365-04cb6c78c314e640001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id DrhweuxQEonrF4py for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:22:45 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ABMiDP002214 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 10 Jun 2014 07:22:44 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5ABMiWN001517; Tue, 10 Jun 2014 07:22:44 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 6BC1D12138E; Tue, 10 Jun 2014 07:22:43 -0400 (EDT) Date: Tue, 10 Jun 2014 07:22:43 -0400 From: Brian Foster <bfoster@redhat.com> To: Dave Chinner <david@fromorbit.com> Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-ID: <20140610112243.GB46344@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v2] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT References: <1401807238-59437-1-git-send-email-bfoster@redhat.com> <20140610020626.GK4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610020626.GK4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402399365 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Tue, Jun 10, 2014 at 12:06:26PM +1000, Dave Chinner wrote: > On Tue, Jun 03, 2014 at 10:53:58AM -0400, Brian Foster wrote: > > XFS can allocate significant amounts of space to files via speculative > > preallocation. Such preallocation may not be reclaimed automatically on > > file close() if a file is repeatedly opened and extended. For smaller > > filesystems with relatively large and slow growing files, this > > preallocation can linger for some time, including contributing to out of > > space conditions. > > > > Create a situation where an fs is near out of space while several files > > still have lingering, significant preallocations. Verify that new > > writers reclaim the preallocated space rather than return ENOSPC. Repeat > > a similar test for quota limits and EDQUOT. > > > > Signed-off-by: Brian Foster <bfoster@redhat.com> > > Couple of minor things. > > > +# Create a file using a repeated open, extending write and close pattern. This > > +# causes the preallocation to persist after the file is closed. Preallocation > > +# will not be reclaimed unless the inode is evicted or we hit an allocation > > +# failure. > > +_spec_prealloc_file() > > +{ > > + file=$1 > > + > > + rm -f $file > > + > > + # a few file extending open-write-close cycles should be enough to > > + # trigger the fs to retain preallocation. write 256k in 32k intervals to > > + # be sure > > + for i in $(seq 0 32768 262144) > > + do > > for .... ; do > > > + $XFS_IO_PROG -fc "pwrite $i 32k" $file | \ > > + _filter_xfs_io >> $seqres.full > > + done > > If you are dumping the output into $seqres.full, then it doesn't > need to be filtered. Filtering is only necessary for golden image > matching; $seqres.full is for debug output and so should be > pristine... > Err... right. I think I was changing the output redirection around as I was writing these tests and just lost track of the filtering. I'll fix that. > Also, I prefer $XFS_IO_PROG -f -c "..." (separate -c "...") because > the -c arg must be followed by the command and so order is > important... > Ok. > > + # write a 4k aligned amount of data to keep the calculations simple > > + $XFS_IO_PROG -c "pwrite 0 128m" $file | _filter_xfs_io >> $seqres.full > > + > > + size=`stat -c "%s" $file` > > + blocks=`stat -c "%b" $file` > > + blocksize=`stat -c "%B" $file` > > + > > + prealloc_size=$((blocks * blocksize - size)) > > + if [ $prealloc_size -eq 0 ] > > + then > > if [ ... ]; then > > > + echo "Warning: No speculative preallocation for $file." \ > > + "Check use of the allocsize= mount option." > > + fi > > + > > + # keep a running total of how much preallocation we've created > > + TOTAL_PREALLOC=$((TOTAL_PREALLOC + prealloc_size)) > > +} > > + > > +_consume_free_space() > > +{ > > + dir=$1 > > + > > + # calculate the rough amount of free space in MB > > + fsblocksize=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bsize | \ > > + awk '{ print $3 }'` > > + blocksavail=`$XFS_IO_PROG -x -c "statfs" $dir | grep f_bavail | \ > > + awk '{ print $3 }'` > > + freesp=$((fsblocksize * blocksavail / 1024 / 1024)) > > + > > + # allocate all but 10MB > > + freesp=$((freesp - 10)) > > freesp=`$DF_PROG -m $dir | awk '/^\// { print $4 - 10 }'` > Thanks. ;) The rest of the fixes look good to me so I'll get those in. Thanks again for the review. Brian > > + $XFS_IO_PROG -fc "falloc 0 ${freesp}M" $dir/spc > > +} > > + > > +# Create several files with preallocation and consume the remaining free space > > +# via fallocate to the put the fs at ENOSPC. Create a set of background writers > > +# to write into ENOSPC and cause the preallocation to be reclaimed and > > +# reallocated to the new writers. > > +_test_enospc() > > +{ > > + dir=$1 > > + > > + rm -rf $dir/* > > + > > + TOTAL_PREALLOC=0 > > + for i in $(seq 0 3) > > + do > > for (); do > > > + _spec_prealloc_file $dir/pre$i > > + done > > + > > + _consume_free_space $dir > > + > > + # consume 1/2 of the current preallocation across the set of 4 writers > > + write_size=$((TOTAL_PREALLOC / 2 / 4)) > > + for i in $(seq 0 3) > > + do > > + $XFS_IO_PROG -fc "pwrite 0 $write_size" $dir/file.$i | \ > > + _filter_xfs_io >> $seqres.full & > > no filter, for (); do > > > + done > > + > > + wait > > +} > > + > > +# Create preallocations accounted by both user and group quotas. Set the > > +# associated quota hard limits to put them at EDQUOT. Verify that a new writer > > +# reclaims the preallocated space and proceeds without error. > > +_test_edquot() > > +{ > > + dir=$1 > > + > > + rm -rf $dir/* > > + > > + TOTAL_PREALLOC=0 > > + _spec_prealloc_file $dir/user > > + chown $qa_user $dir/user > > + > > + _spec_prealloc_file $dir/group > > + chgrp $qa_group $dir/group > > + > > + # writing to a file under both quotas means both will be reclaimed on > > + # allocation failure > > + touch $dir/file > > + chown $qa_user $dir/file > > + chgrp $qa_group $dir/file > > + > > + # put both quotas at EDQUOT > > + blks=`$XFS_QUOTA_PROG -xc "quota -u $qa_user" $dir | \ > > + tail -n 1 | awk '{ print $2 }'` > > + $XFS_QUOTA_PROG -xc "limit -u bhard=${blks}k $qa_user" $dir > > + blks=`$XFS_QUOTA_PROG -xc "quota -g $qa_grup" $dir | \ > > + tail -n 1 | awk '{ print $2 }'` > > + $XFS_QUOTA_PROG -xc "limit -g bhard=${blks}k $qa_group" $dir > > + > > + # each quota has a single file worth of preallocation to reclaim. leave > > + # some wiggle room and write to 1/3 the total. > > + write_size=$((TOTAL_PREALLOC / 3)) > > + $XFS_IO_PROG -c "pwrite 0 $write_size" $dir/file | \ > > + _filter_xfs_io >> $seqres.full > > no filter. > > > +} > > + > > +# real QA test starts here > > +_supported_fs xfs > > +_supported_os Linux > > + > > +_require_scratch > > +_require_xfs_io_command "falloc" > > +_require_loop > > +_require_quota > > +_require_user > > +_require_group > > + > > +rm -f $seqres.full > > + > > +_scratch_mkfs_xfs | _filter_mkfs >> $seqres.full 2>&1 > > +_scratch_mount > > + > > +# make sure the background eofblocks scanner doesn't interfere > > +orig_sp_time=`cat /proc/sys/fs/xfs/speculative_prealloc_lifetime` > > +echo 9999 > /proc/sys/fs/xfs/speculative_prealloc_lifetime > > + > > +LOOP_FILE=$SCRATCH_MNT/$seq.fs > > +LOOP_MNT=$SCRATCH_MNT/$seq.mnt > > + > > +$MKFS_XFS_PROG -d "file=1,name=$LOOP_FILE,size=$((1024*1024*1024 * 10))" | \ > > + _filter_mkfs >> $seqres.full 2>&1 > > mkfs takes "size=10g" as a valid size. > > > +mkdir -p $LOOP_MNT > > +mount -t xfs -o loop,uquota,gquota $LOOP_FILE $LOOP_MNT || \ > > + _fail "Failed to mount loop fs." > > + > > +_test_enospc $LOOP_MNT > > +_test_edquot $LOOP_MNT > > + > > +umount $LOOP_MNT > > + > > +echo $orig_sp_time > /proc/sys/fs/xfs/speculative_prealloc_lifetime > > + > > +umount $SCRATCH_MNT > > +_check_scratch_fs > > + > > +status=0 > > +exit > > diff --git a/tests/xfs/014.out b/tests/xfs/014.out > > new file mode 100644 > > index 0000000..a825535 > > --- /dev/null > > +++ b/tests/xfs/014.out > > @@ -0,0 +1 @@ > > +QA output created by 014 > > The test writes nothing to the output file? Perhaps it should > indicate that (silence is golden....).... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Tue Jun 10 06:59:01 2014 Return-Path: <bfoster@redhat.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id AF7017F4E for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 06:59:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 96B3F304062 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:59:01 -0700 (PDT) X-ASG-Debug-ID: 1402401539-04cb6c78c414fba0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id h7LiL55e1jurJhCA for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 04:59:00 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ABwwhT001774 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 10 Jun 2014 07:58:58 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s5ABwwsi017520; Tue, 10 Jun 2014 07:58:58 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7B5F712138E; Tue, 10 Jun 2014 07:58:57 -0400 (EDT) Date: Tue, 10 Jun 2014 07:58:57 -0400 From: Brian Foster <bfoster@redhat.com> To: Dave Chinner <david@fromorbit.com> Cc: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140610115857.GC46344@bfoster.bfoster> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140609223320.GE9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402401540 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote: > Hi everyone, > > Now that the 3.16 dev cycle has drawn to a close (one more > linux-next build and I'll tag for-next and send a pull request), > it's time to look ahead for the next couple of months. I think the > current major pieces of work that are currently outstanding are > these: > > - Jeff's bulkstat rework > - Brian's EOF prealloc scanning > - Namjae's FALLOC_FL_INSERT_RANGE work > - Eric's XFS_ERROR() macro removal and return () cleanup. > I'm not tied to a particular kernel release by any means if there's already a lot in the pipeline, but I'd like to include the basic sysfs bits somewhere in the tail end of this. > There's also two major pieces of infrastructure work I'd like to get > done: > > - convert XFS to negative error returns > - restructure code to have a fs/xfs/libxfs structure similar > to userspace > > Because Eric's XFS_ERROR removal touches the entire codebase, as > does the negative error return and the libxfs restructuring, I'd > like to get these done first and base the rest of the dev cycle work > on top of that. Eric's patches just need a minor rebase and the > libxfs restructure needs some makefile rework and review and they > should be good to go. > Sounds reasonable to me. > The issue is the negative error number patchset, and how to handle > review and testing. The patchset is already 62 patches long and it > converts roughly half the code base. It'll take me another couple of > days to convert the rest of the code, and that will probably take > another 60 patches. > > I understand that reviewing 100+ patches is going to be a pain, but > each patch currently averages about +/- 10 lines. The current > diffstat is: > > 37 files changed, 723 insertions(+), 722 deletions(-) > > And that will probably double, so it's still going to be a fair > amount of change. > Is there any sort of more coarse logical breakdown of this series, or do we want/need to convert the entire codebase all at once? The individual patches sound relatively small... is there a particular method at play there? E.g., a patch per function? file? call chain? > So the big question is how do we handle the review side of things. > I think testing won't be a huge issue because of the time we have in > the cycle (a couple of months to the 3.17 merge, and then a couple > more months in the 3.17-rcX cycle) to find and catch regressions, > but I'd like to know what people think about the best way to review > this change will be. > > I'm happy for people to say "no, we need to review it patch by > patch, so delay it for a cycle while we work through it", but I'm > also happy for a "apply it all and look at error sources and > inversion points for problems". The second is probably easier, as > there will be very few remaining inversion points (only embedded > errors in ioctl structures, I think) and all error sources should be > negated at their definition and hence any error value (E* values) > that are not defined as "-E*" is likely to be an mistake.... > Personally, I generally prefer going through individual patches. Even if we don't post the entire series and do a patch-by-patch reviewed-by (which sounds like overkill in this case), that helps me do bits a time, keep track of where I am, etc. I say that before I've seen any of these patches of course ;), so I could certainly see running through some kind of approach of doing it batches (i.e., "look at this sequence of patches, identify the affected segments of code, make a direct pass through that code, repeat"). I guess it's hard to say without just digging in and finding the most effective approach to get through it. Perhaps if we just make a branch available with the patches, put a notification on the list, and we can use that as a review thread..? Brian > I'll be spending the next couple of days finishing this all off, so > once it is done I can focus on review and bug fixes for the rest of > the 3.17 dev cycle. That allows me to concentrate on a xfsprogs > 3.2.1 release, subsequent userspace libxfs resync with the new > kernel structure, and starting to work on some of the smart block > device concepts I've been talking about recently.... > > These are not concrete plans - just what I'd *like* to do in the > next couple of months. Reality is bound to mess up any plans I have, > so I figure I mays as well mess them up straight away.... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Tue Jun 10 09:09:14 2014 Return-Path: <sandeen@sandeen.net> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 465997F50 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 09:09:14 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 230F48F8054 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 07:09:13 -0700 (PDT) X-ASG-Debug-ID: 1402409347-04bdf0566715a370001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id TR5l5tQth9VzR5rE for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 07:09:08 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7E6B365753F0; Tue, 10 Jun 2014 09:09:07 -0500 (CDT) Message-ID: <53971184.50008@sandeen.net> Date: Tue, 10 Jun 2014 09:09:08 -0500 From: Eric Sandeen <sandeen@sandeen.net> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner <david@fromorbit.com>, xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610060944.GG9508@dastard> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) In-Reply-To: <20140610060944.GG9508@dastard> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402409348 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6528 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/10/14, 1:09 AM, Dave Chinner wrote: > There is a new version of this work (Eric's patches and the base > libxfs restructure) here: > > git://oss.sgi.com/xfs/xfs.git xfs-libxfs-restructure > > It's based on 3.15 with the current for-next branch merged into it > and then the changes done over the top, so it's about as up-to-date > as it can be. Comments welcome... Comment 1: doesn't build ;) make[1]: *** No rule to make target `fs/xfs/xfs_dir2_readdir.o', needed by `fs/xfs/xfs.o'. Stop. make[1]: *** Waiting for unfinished jobs.... CC [M] fs/xfs/xfs_buf.o make: *** [_module_fs/xfs] Error 2 problems w/ xfs_rtbitmap.o as well, patch follows. Comment 2: Coverity thinks this adds about 25 defects, I'll have to go look at why... -Eric diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index a22a6b8..0b7b3b3 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -43,6 +43,7 @@ xfs-y += $(addprefix libxfs/, \ xfs_dir2_data.o \ xfs_dir2_leaf.o \ xfs_dir2_node.o \ + xfs_dir2_readdir.o \ xfs_dir2_sf.o \ xfs_dquot_buf.o \ xfs_ialloc.o \ @@ -55,6 +56,9 @@ xfs-y += $(addprefix libxfs/, \ xfs_trans_resv.o \ ) +xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \ + xfs_rtbitmap.o \ + ) # highlevel code xfs-y += xfs_aops.o \ xfs_attr_inactive.o \ @@ -62,7 +66,6 @@ xfs-y += xfs_aops.o \ xfs_bit.o \ xfs_bmap_util.o \ xfs_buf.o \ - xfs_dir2_readdir.o \ xfs_discard.o \ xfs_error.o \ xfs_export.o \ @@ -110,8 +113,7 @@ xfs-$(CONFIG_XFS_QUOTA) += xfs_dquot.o \ xfs_quotaops.o # xfs_rtbitmap is shared with libxfs -xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o \ - xfs_rtbitmap.o +xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o xfs-$(CONFIG_PROC_FS) += xfs_stats.o From webmaster@getit11.subsprice.com Tue Jun 10 10:08:05 2014 Return-Path: <webmaster@getit11.subsprice.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=HTML_IMAGE_RATIO_04, HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B928A7F51 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 10:08:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5554EAC006 for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 08:08:00 -0700 (PDT) X-ASG-Debug-ID: 1402412873-04bdf0566815d7f0001-NocioJ Received: from server2.subsprice.com (dc1.nreseller.com [115.124.106.61]) by cuda.sgi.com with ESMTP id dCREklPPpYKDaYaE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Tue, 10 Jun 2014 08:07:56 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit11.subsprice.com X-Barracuda-Apparent-Source-IP: 115.124.106.61 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit11.subsprice.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=vwh9EiBKBeDTUj/IGzxZR7FfhnTwPdkRFLDN9PmnrIU=; b=vwBdYUpZN9sBU3LZ9oOIx8zEqCXeF9RupKZHUE/me3XLkA2LO7rOFkIY2OpZlQhXnApHVJBpuGPJhdMx3DccUXXKCElbpZwers8v99MA61QL8UCob1LhN/aqvXEsy5LwCw2vyPSWcemi8xfUNzgZoCXd5CE1e55dcU3sXQLmroI=; Received: from nobody by server2.subsprice.com with local (Exim 4.82) (envelope-from <webmaster@getit11.subsprice.com>) id 1WuNeQ-0003iu-UI for xfs@oss.sgi.com; Tue, 10 Jun 2014 15:07:51 +0000 To: xfs@oss.sgi.com Subject: Present it with Pride! 500 Premium Visiting Cards at Rs.375 & Free Delivery! Received: from ABTS-MH-dynamic-164.28.169.122.airtelbroadband.in [122.169.28.164] by getit11.subsprice.com with HTTP; Tue, 10 Jun 2014 14:17:15 +0000 X-ASG-Orig-Subj: Present it with Pride! 500 Premium Visiting Cards at Rs.375 & Free Delivery! Date: Tue, 10 Jun 2014 15:07:50 +0000 From: Vistaprint <ankita@getit11.subsprice.com> Reply-To: Vistaprint <ankita@getit11.subsprice.com> Message-ID: <577ff9e0c60e522969df206841629e2c@getit11.subsprice.com> X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 4 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit11.subsprice.com List-Help: <http://getit11.subsprice.com/mailz/?p=preferences&uid=0efd1f72a9287be622b376046fd15370> List-Unsubscribe: <http://getit11.subsprice.com/mailz/?p=unsubscribe&uid=0efd1f72a9287be622b376046fd15370&jo=1> List-Subscribe: <http://getit11.subsprice.com/mailz/?p=subscribe> List-Owner: <mailto:webmaster@getit11.subsprice.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_577ff9e0c60e522969df206841629e2c" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server2.subsprice.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [47 12] X-AntiAbuse: Sender Address Domain - getit11.subsprice.com X-Get-Message-Sender-Via: server2.subsprice.com: uid via acl_c_vhost_owner from authenticated_id: getit11s from //getit11.subsprice.com/mailz/admin/?page=pageaction&action=processqueue&ajaxed=tr /from_h X-Barracuda-Connect: dc1.nreseller.com[115.124.106.61] X-Barracuda-Start-Time: 1402412875 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.77 X-Barracuda-Spam-Status: No, SCORE=0.77 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_RATIO_04, HTML_MESSAGE, MARKETING_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6529 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.60 MARKETING_SUBJECT Subject contains popular marketing words -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.17 HTML_IMAGE_RATIO_04 BODY: HTML has a low ratio of text to image area 0.00 HTML_MESSAGE BODY: HTML included in message --b1_577ff9e0c60e522969df206841629e2c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Professionally Designed Visiting Cards that Convince Your Customers! <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VWTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VZTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VYTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VQAkUNSVQCXFhV> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VXTg1FAFUPXFU> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VQA0UNSVQCXFhV> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VQAEUNSVQCXFhV> <http://getit11.subsprice.com/mailz/lt.php?id=3DZ0VQAUUNSVQCXFhV> Please don't reply to this email as it's an unmonitored address. Discounts may vary by quantity and apply to select designs. Additional charges may apply for shipping/processing, upgrades and uploads, unless otherwise specified. Discounts valid only on lowest quantity of each product. Discounts not valid on previous purchases or in combination with any other offers. See website for details. The products and services in this e-mail are provided by Vistaprint. 10 million people per year trust Vistaprint for affordable online and print solutions.India customers may contact us in care of our India subsidiary: Vistaprint India Marketing Solutions Private Limited 2nd Floor, "Piramal Tower", Peninsula Corporate Park, Ganpatrao Kadam Marg, Off Senapati Bapat Marg, Lower Parel, Mumbai India - 400 013 -- This message was sent to xfs@oss.sgi.com by ankita@getit11.subsprice.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A<http://getit11.subsprice.com/mailz/lt= .php?id=3DZ0VQBkUNSVQCXFhV> in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A<http://getit11.subsprice.com/mailz/= lt.php?id=3DZ0VTTg1FAFUPXFU> Or you can opt-out completely=0A<http://getit11.subsprice.com/mailz/lt.php= ?id=3DZ0VSTg1FAFUPXFU> from all future mailings. =20 -- developed by, www.mailsmagic.com -- --b1_577ff9e0c60e522969df206841629e2c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html><head>=0A <meta content=3D"text/html;charset=3DUTF-8" http-equ= iv=3D"Content-Type">=0A <title>

 

Professionally Designed Visiting = Cards that Convince Your Customers!
3D""  
3D"Bu= 3D"Ma= 3D"Inv= 3D"E=
3D"500 3D"500
3D"500 3D"500
3D"500 3D"500
3D"Embroidered 3D"Embroidered
 
 
3D""

Please don't reply to this email as it's an unmo= nitored address.
Discounts may vary by quantity and apply to select = designs. Additional charges may apply for shipping/processing, = upgrades and uploads, unless otherwise specified. Discounts valid= only on lowest quantity of each product. Discounts not valid on previous = purchases or in combination with any other offers. See website f= or details.

The products and services in this e-mail are provid= ed by Vistaprint. 10 million people per year trust Vistaprint for affordab= le online and print solutions.India customers may contact us in care of = our India subsidiary:
Vistaprint India Marketing Solutions Private Limite= d
2nd Floor, "Piramal Tower", = Peninsula Corporate Park, Ganpatrao Kadam Marg, O= ff Senapati Bapat Marg,
Lower Parel, Mumbai India - 400 013

3D""


-- =20

This message was sent to xfs@oss.sgi.com by ankita@getit11.subspri= ce.com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can opt-out completely from all future mailings.

=0A=0A=0A-- developed by, www.mailsmagic.com --=0A=0A --b1_577ff9e0c60e522969df206841629e2c-- From duarte.franco@fccn.pt Tue Jun 10 14:23:24 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 562967F4E for ; Tue, 10 Jun 2014 14:23:24 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 16880304032 for ; Tue, 10 Jun 2014 12:23:20 -0700 (PDT) X-ASG-Debug-ID: 1402428196-04cbb0752516de10001-NocioJ Received: from app02.fccn.pt (app02.fccn.pt [193.137.198.37]) by cuda.sgi.com with ESMTP id YQiAqjYEIo00yf4M (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 10 Jun 2014 12:23:18 -0700 (PDT) X-Barracuda-Envelope-From: duarte.franco@fccn.pt X-Barracuda-Apparent-Source-IP: 193.137.198.37 Received: from mx.anubis.local (ste [10.1.2.2]) by outbound.anubis.local (Postfix) with ESMTP id A4621D2C21 for ; Tue, 10 Jun 2014 20:23:17 +0100 (WEST) Received: from zeno (argus.corp.fccn.pt [193.136.44.193]) (Authenticated sender: duarte.franco@fccn.pt) by mx.anubis.local (Postfix) with ESMTP id 6F2A0C2E26 for ; Tue, 10 Jun 2014 20:23:17 +0100 (WEST) From: "Duarte Franco" To: Subject: XFS data lost recover Date: Tue, 10 Jun 2014 20:23:20 +0100 X-ASG-Orig-Subj: XFS data lost recover Message-ID: <27c101cf84e1$7259a7a0$570cf6e0$@fccn.pt> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_27C2_01CF84E9.D41ED2F0" X-Mailer: Microsoft Outlook 15.0 Content-Language: pt Thread-Index: Ac+E4V+/3VIPn3GlQCWDT5GtxWndZw== X-Barracuda-Connect: app02.fccn.pt[193.137.198.37] X-Barracuda-Start-Time: 1402428197 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.01 X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6537 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.00 HTML_MESSAGE BODY: HTML included in message This is a multipart message in MIME format. ------=_NextPart_000_27C2_01CF84E9.D41ED2F0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi =20 I have a Linux RHEL 5.3 server with a XFS partition over lvm on an infortrend Fc storage.=20 Recently we have a system failure that corrupt the XFS partition. After = a xfs_restore the partition was recovered but the lost+found directory = contain about 5.5TB of inode files. (almost the total size 7TB) =20 After that the partitions were used to write a few more data, without = any problem.=20 =20 I would like to ask if there is any way to recover the files in = lost+found directory? Do you have any service to recover these files?=20 =20 If possible I would prefer to be contacted by email. =20 Best Regards =20 Duarte Franco AIA =96 Area Infra-estruturas Aplicacionais=20 _________________________________________________ FCT, FCCN Av. do Brasil, 101 Apartado 50435 1708-001 Lisboa Telf. 300 005 257 Fax 351 21 8472167 http://www.fccn.pt/ =20 Aviso de Confidencialidade Esta mensagem =E9 exclusivamente destinada ao seu destinat=E1rio, = podendo conter informa=E7=E3o CONFIDENCIAL, cuja divulga=E7=E3o est=E1 expressamente = vedada nos termos da lei. Caso tenha recepcionado indevidamente esta mensagem, solicitamos-lhe que nos comunique esse mesmo facto por esta via ou para = o telefone +351 218440100 devendo apagar o seu conte=FAdo de imediato.=20 This message is intended exclusively for its addressee. It may contain CONFIDENTIAL information protected by law. If this message has been = received by error, please notify us via e-mail or by telephone +351 218440100 and delete it immediately. =20 ------=_NextPart_000_27C2_01CF84E9.D41ED2F0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi

 

I have a Linux RHEL 5.3 server with a XFS partition over = lvm on an infortrend Fc storage.

Recently we have a system failure = that corrupt the XFS partition. After a =A0xfs_restore the partition was = recovered but the lost+found directory contain about 5.5TB of inode = files. (almost the total size 7TB)

 

After that the partitions were used = to write a few more data, without any problem.

 

I would like to ask if there is any = way to recover the files in lost+found directory? Do you have any = service to recover these files?

 

If possible I would prefer to be = contacted by email.

 

Best Regards

 

Duarte = Franco

AIA – Area = Infra-estruturas Aplicacionais

 ______________= ___________________________________

FCT, = FCCN

Av. do Brasil, = 101 Apartado 50435 1708-001 Lisboa

Telf. = 300 005 257  Fax 351 21 8472167

http://www.fccn.pt/

 

Aviso de = Confidencialidade

=

Esta = mensagem =E9 exclusivamente destinada ao seu destinat=E1rio, podendo = conter informa=E7=E3o CONFIDENCIAL, cuja divulga=E7=E3o est=E1 = expressamente vedada nos termos da lei. Caso tenha recepcionado = indevidamente esta mensagem, solicitamos-lhe que nos comunique esse = mesmo facto por esta via ou para o telefone +351 218440100 devendo = apagar o seu conte=FAdo de imediato.

This = message is intended exclusively for its addressee. It may = contain = CONFIDENTIAL= information protected by law. If this message has been received by = error, please notify us via e-mail or by telephone +351 218440100 and = delete it immediately.

 

------=_NextPart_000_27C2_01CF84E9.D41ED2F0-- From sandeen@sandeen.net Tue Jun 10 14:31:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 5107D7F50 for ; Tue, 10 Jun 2014 14:31:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id A9678AC008 for ; Tue, 10 Jun 2014 12:30:58 -0700 (PDT) X-ASG-Debug-ID: 1402428656-04cbb0752416e320001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id SOvY5D6VJXNsLI7h for ; Tue, 10 Jun 2014 12:30:56 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 0277C68655F9; Tue, 10 Jun 2014 14:30:55 -0500 (CDT) Message-ID: <53975CF1.3050807@sandeen.net> Date: Tue, 10 Jun 2014 14:30:57 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Duarte Franco , xfs@oss.sgi.com Subject: Re: XFS data lost recover References: <27c101cf84e1$7259a7a0$570cf6e0$@fccn.pt> X-ASG-Orig-Subj: Re: XFS data lost recover In-Reply-To: <27c101cf84e1$7259a7a0$570cf6e0$@fccn.pt> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402428656 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6537 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/10/14, 2:23 PM, Duarte Franco wrote: > Hi > > > > I have a Linux RHEL 5.3 server with a XFS partition over lvm on an > infortrend Fc storage. > Recently we have a system failure that corrupt the XFS partition. > After a xfs_restore the partition was recovered but the lost+found > directory contain about 5.5TB of inode files. (almost the total size > 7TB) > presumably you mean xfs_repair? lost+found/ is populated with files for which name data has been lost. There is no great way to recover the names; if there were, xfs_repair would do it. > > After that the partitions were used to write a few more data, without > any problem. > > > > I would like to ask if there is any way to recover the files in > lost+found directory? Do you have any service to recover these > files? The files themselves are not lost, but they have lost their names. Depending on the data you have in the files, perhaps they are still recognizable, and could be renamed back to their original locations via script? -Eric > > > If possible I would prefer to be contacted by email. > > > > Best Regards > > > > Duarte Franco > > *AIA*– Area Infra-estruturas Aplicacionais > > _________________________________________________ > > FCT, FCCN > > Av. do Brasil, 101 Apartado 50435 1708-001 Lisboa > > Telf. 300 005 257 Fax 351 21 8472167 > > http://www.fccn.pt/ > > > > *Aviso de Confidencialidade* > > Esta mensagem é exclusivamente destinada ao seu destinatário, podendo conter informação CONFIDENCIAL, cuja divulgação está expressamente vedada nos termos da lei. Caso tenha recepcionado indevidamente esta mensagem, solicitamos-lhe que nos comunique esse mesmo facto por esta via ou para o telefone +351 218440100 devendo apagar o seu conteúdo de imediato. > > This message is intended exclusively for its addressee. It may containCONFIDENTIAL information protected by law. If this message has been received by error, please notify us via e-mail or by telephone +351 218440100 and delete it immediately. > > > > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From david@fromorbit.com Tue Jun 10 16:49:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 373647F51 for ; Tue, 10 Jun 2014 16:49:09 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id CAA10AC006 for ; Tue, 10 Jun 2014 14:49:08 -0700 (PDT) X-ASG-Debug-ID: 1402436944-04bdf0566816dd30001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id UAe0p7kMSnSJXqry for ; Tue, 10 Jun 2014 14:49:05 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AssNAHN8l1N5LGMP/2dsb2JhbABPCoMNrBcBAQaZEgGBChd1hAMBAQQBOhwjEAgDDgoJJQ8FJQMhE4g6B803FxaFQIgQBw9NB4RBBJYahAmTRoNOK4ExAR4G Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail07.adl2.internode.on.net with ESMTP; 11 Jun 2014 07:19:04 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WuTuU-0008Ml-PY; Wed, 11 Jun 2014 07:48:50 +1000 Date: Wed, 11 Jun 2014 07:48:50 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140610214850.GH9508@dastard> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610115857.GC46344@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610115857.GC46344@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402436945 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6540 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 10, 2014 at 07:58:57AM -0400, Brian Foster wrote: > On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote: > > Hi everyone, > > > > Now that the 3.16 dev cycle has drawn to a close (one more > > linux-next build and I'll tag for-next and send a pull request), > > it's time to look ahead for the next couple of months. I think the > > current major pieces of work that are currently outstanding are > > these: > > > > - Jeff's bulkstat rework > > - Brian's EOF prealloc scanning > > - Namjae's FALLOC_FL_INSERT_RANGE work > > - Eric's XFS_ERROR() macro removal and return () cleanup. > > > > I'm not tied to a particular kernel release by any means if there's > already a lot in the pipeline, but I'd like to include the basic sysfs > bits somewhere in the tail end of this. Yes, I don't see a problem there - I simply forgot about that ;) > > There's also two major pieces of infrastructure work I'd like to get > > done: > > > > - convert XFS to negative error returns > > - restructure code to have a fs/xfs/libxfs structure similar > > to userspace > > > > Because Eric's XFS_ERROR removal touches the entire codebase, as > > does the negative error return and the libxfs restructuring, I'd > > like to get these done first and base the rest of the dev cycle work > > on top of that. Eric's patches just need a minor rebase and the > > libxfs restructure needs some makefile rework and review and they > > should be good to go. > > > > Sounds reasonable to me. > > > The issue is the negative error number patchset, and how to handle > > review and testing. The patchset is already 62 patches long and it > > converts roughly half the code base. It'll take me another couple of > > days to convert the rest of the code, and that will probably take > > another 60 patches. > > > > I understand that reviewing 100+ patches is going to be a pain, but > > each patch currently averages about +/- 10 lines. The current > > diffstat is: > > > > 37 files changed, 723 insertions(+), 722 deletions(-) > > > > And that will probably double, so it's still going to be a fair > > amount of change. > > Is there any sort of more coarse logical breakdown of this series, or do > we want/need to convert the entire codebase all at once? The individual > patches sound relatively small... is there a particular method at play > there? E.g., a patch per function? file? call chain? I'm doing it layer by layer, starting from the linux interface layers and working my way down. e.g. fs/xfs/xfs_file.c first, the fs/xfs/xfs_iops.c, and so on, and there are multiple patches per file for each (roughly) logical change. e.g. converting xfs_iops.c: [these are in reverse order because of git log listing] 1f80bd7 xfs: convert error sign for xfs_setattr 794c21d xfs: negate error from xfs_rename 032669b xfs: negate error for link/unlink/symlink a12b6b1 xfs: negate error from xfs_lookup a0f5650 xfs: push negative errno down through xfs_generic_create pushes the conversion layer to fs/xfs/xfs_inode.c. Then later the quota bits stuff like xfs_create() call are converted: 350747a xfs: negate error retursn from dquot attach/detach functions as the negative errors are driven inward in the dquot infrastructure, slowly removing all the conversions from the fs/xfs/xfs_inode.c layer, Similarly, the directory code is converted in a similarly layered approach .... f3086a1 xfs: convert shortform directories to negative errors bbda37c xfs: negate dir inode grow/shrink return values 7f73c2b xfs: convert remaining directory name operations to negative error bca2fa3 xfs: negate error values from directory create functions And so on. Basically once all the high layer functions are converted, I'll move onto the inner infrastructure such as the xfs_bmap code, then the btree code, then the xfs_trans code, then the xfs_buf, and so on until all the code is using negative errors and the only conversions are in the ioctl code for userspace presentation. IMO, the only way to guarantee that we've got it right is to convert everything - if we stop half way, then all we've done is move the interface layer and made it extremely hard to validate that the interface layer is correct. Hence I don't want to do that - I just want to change it all in one go to make it easier to validate the end result... > > So the big question is how do we handle the review side of > > things. I think testing won't be a huge issue because of the > > time we have in the cycle (a couple of months to the 3.17 merge, > > and then a couple more months in the 3.17-rcX cycle) to find and > > catch regressions, but I'd like to know what people think about > > the best way to review this change will be. > > > > I'm happy for people to say "no, we need to review it patch by > > patch, so delay it for a cycle while we work through it", but > > I'm also happy for a "apply it all and look at error sources and > > inversion points for problems". The second is probably easier, > > as there will be very few remaining inversion points (only > > embedded errors in ioctl structures, I think) and all error > > sources should be negated at their definition and hence any > > error value (E* values) that are not defined as "-E*" is likely > > to be an mistake.... > > > > Personally, I generally prefer going through individual patches. > Even if we don't post the entire series and do a patch-by-patch > reviewed-by (which sounds like overkill in this case), that helps > me do bits a time, keep track of where I am, etc. I say that > before I've seen any of these patches of course ;), so I could > certainly see running through some kind of approach of doing it > batches (i.e., "look at this sequence of patches, identify the > affected segments of code, make a direct pass through that code, > repeat"). I guess it's hard to say without just digging in and > finding the most effective approach to get through it. > > Perhaps if we just make a branch available with the patches, put a > notification on the list, and we can use that as a review > thread..? I'll push the series to the git tree at the end of the day - I'm hoping to have the conversion mostly done by then. I did most of the rebase of the existing patchset on top of the libxfs addition last night, so I should e able to knock off most of the rest of the changes today. I wanted to see what people thought about the concept without cluttering the issue with a huge code dump... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 10 16:54:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id F09CA7F55 for ; Tue, 10 Jun 2014 16:54:39 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id D2519304039 for ; Tue, 10 Jun 2014 14:54:36 -0700 (PDT) X-ASG-Debug-ID: 1402437274-04cbb00a0204ae0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id FdGymZzsPUXtenWV for ; Tue, 10 Jun 2014 14:54:34 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: As4NAJR9l1N5LGMP/2dsb2JhbABZgw1Sq0UBAQaZEgGBChd1hAMBAQQBOhwjBQsIAxgJJQ8FJQMhE4g6B803FxaFQIhzB4RBBJojk0aDTis Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail07.adl2.internode.on.net with ESMTP; 11 Jun 2014 07:24:33 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WuTzo-0008Nb-Tf; Wed, 11 Jun 2014 07:54:20 +1000 Date: Wed, 11 Jun 2014 07:54:20 +1000 From: Dave Chinner To: Eric Sandeen Cc: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140610215420.GI9508@dastard> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610060944.GG9508@dastard> <53971184.50008@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53971184.50008@sandeen.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402437274 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6541 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 10, 2014 at 09:09:08AM -0500, Eric Sandeen wrote: > On 6/10/14, 1:09 AM, Dave Chinner wrote: > > > There is a new version of this work (Eric's patches and the base > > libxfs restructure) here: > > > > git://oss.sgi.com/xfs/xfs.git xfs-libxfs-restructure > > > > It's based on 3.15 with the current for-next branch merged into it > > and then the changes done over the top, so it's about as up-to-date > > as it can be. Comments welcome... > > Comment 1: doesn't build ;) > > > make[1]: *** No rule to make target `fs/xfs/xfs_dir2_readdir.o', needed by `fs/xfs/xfs.o'. Stop. > make[1]: *** Waiting for unfinished jobs.... > CC [M] fs/xfs/xfs_buf.o > make: *** [_module_fs/xfs] Error 2 Ah, that's an issue.... > problems w/ xfs_rtbitmap.o as well, patch follows. > > Comment 2: Coverity thinks this adds about 25 defects, I'll have to go > look at why... Probably because it ignores issues based on path/filename, and the path changed... > > -Eric > > diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile > index a22a6b8..0b7b3b3 100644 > --- a/fs/xfs/Makefile > +++ b/fs/xfs/Makefile > @@ -43,6 +43,7 @@ xfs-y += $(addprefix libxfs/, \ > xfs_dir2_data.o \ > xfs_dir2_leaf.o \ > xfs_dir2_node.o \ > + xfs_dir2_readdir.o \ No, the xfs_dir2_readdir.c file should not have been moved - it's kernel only functionality. > xfs_dir2_sf.o \ > xfs_dquot_buf.o \ > xfs_ialloc.o \ > @@ -55,6 +56,9 @@ xfs-y += $(addprefix libxfs/, \ > xfs_trans_resv.o \ > ) > > +xfs-$(CONFIG_XFS_RT) += $(addprefix libxfs/, \ > + xfs_rtbitmap.o \ > + ) But that needs fixing, yes. Makes me wonder why it linked here - must have found stale .o files in the build area and linked them even though the files didn't get built. Anyway, I'll fix it, and restart the errno negation rebase.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Tue Jun 10 16:57:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 643547F51 for ; Tue, 10 Jun 2014 16:57:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id DABA4AC008 for ; Tue, 10 Jun 2014 14:57:36 -0700 (PDT) X-ASG-Debug-ID: 1402437454-04cbb00a0104cb0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id ZTc7zypnqcudgOIa for ; Tue, 10 Jun 2014 14:57:34 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 97E446B85DFA; Tue, 10 Jun 2014 16:57:34 -0500 (CDT) Message-ID: <53977F50.3050607@sandeen.net> Date: Tue, 10 Jun 2014 16:57:36 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner , xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610060944.GG9508@dastard> <53971184.50008@sandeen.net> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) In-Reply-To: <53971184.50008@sandeen.net> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402437454 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6541 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/10/14, 9:09 AM, Eric Sandeen wrote: > On 6/10/14, 1:09 AM, Dave Chinner wrote: > >> There is a new version of this work (Eric's patches and the base >> libxfs restructure) here: >> >> git://oss.sgi.com/xfs/xfs.git xfs-libxfs-restructure >> >> It's based on 3.15 with the current for-next branch merged into it >> and then the changes done over the top, so it's about as up-to-date >> as it can be. Comments welcome... > > Comment 1: doesn't build ;) > > > make[1]: *** No rule to make target `fs/xfs/xfs_dir2_readdir.o', needed by `fs/xfs/xfs.o'. Stop. > make[1]: *** Waiting for unfinished jobs.... > CC [M] fs/xfs/xfs_buf.o > make: *** [_module_fs/xfs] Error 2 > > problems w/ xfs_rtbitmap.o as well, patch follows. > > Comment 2: Coverity thinks this adds about 25 defects, I'll have to go > look at why... (whoops, I forgot to send this earlier) I take that back, somehow it was still counting defects in the files that got moved. At most it added one, but really this code is the same as upstream, so it's probably just a coverity foible; the issue it finds seems real though, I'll send a patch: Error: FORWARD_NULL: path:/mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2555: cond_false: Condition "error", taking false branch path:/mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2560: if_end: End of if statement path:/mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2564: cond_false: Condition "bp", taking false branch /mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2564: var_compare_op: Comparing "bp" to null implies that "bp" might be null. path:/mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2565: cond_true: Condition "error", taking true branch /mnt/test2/git/xfs/fs/xfs/libxfs/xfs_da_btree.c:2566: var_deref_model: Passing null pointer "bp" to function "xfs_trans_brelse(xfs_trans_t *, xfs_buf_t *)", which dereferences it. path:/mnt/test2/git/xfs/fs/xfs/xfs_trans_buf.c:443:2: cond_true: Condition "tp == NULL", taking true branch /mnt/test2/git/xfs/fs/xfs/xfs_trans_buf.c:444:3: deref_parm: Directly dereferencing parameter "bp". -Eric From sandeen@redhat.com Tue Jun 10 17:13:24 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 972AD7F59 for ; Tue, 10 Jun 2014 17:13:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8BD3F8F8049 for ; Tue, 10 Jun 2014 15:13:24 -0700 (PDT) X-ASG-Debug-ID: 1402438399-04cb6c78c61687a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id AZV8mWGjvmg45Imj for ; Tue, 10 Jun 2014 15:13:20 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5AMDJEP028606 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 10 Jun 2014 18:13:19 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5AMDILt000382 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Tue, 10 Jun 2014 18:13:19 -0400 Message-ID: <53978301.3050105@redhat.com> Date: Tue, 10 Jun 2014 17:13:21 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: xfs-oss Subject: [PATCH] xfs: don't send null bp to xfs_trans_brelse() X-Enigmail-Version: 1.6 X-ASG-Orig-Subj: [PATCH] xfs: don't send null bp to xfs_trans_brelse() Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402438400 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 In this case, if bp is null, error is set, and we send bp to xfs_trans_brelse, which will try to dereference it. Test whether we actualy have a buffer before we try to free it. Coverity spotted this. Signed-off-by: Eric Sandeen --- diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index 6cc5f67..41f7a42 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -2571,7 +2571,8 @@ xfs_da_get_buf( mapp, nmap, 0); error = bp ? bp->b_error : XFS_ERROR(EIO); if (error) { - xfs_trans_brelse(trans, bp); + if (bp) + xfs_trans_brelse(trans, bp); goto out_free; } From leventdunord98@gmail.com Tue Jun 10 18:15:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5A5AE7F5D for ; Tue, 10 Jun 2014 18:15:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 47DCB8F8040 for ; Tue, 10 Jun 2014 16:15:34 -0700 (PDT) X-ASG-Debug-ID: 1402442131-04cb6c78c616a3b0001-NocioJ Received: from [139.170.221.68] ([139.170.221.68]) by cuda.sgi.com with SMTP id qJkrTnCrV6GK7k3s for ; Tue, 10 Jun 2014 16:15:31 -0700 (PDT) X-Barracuda-Envelope-From: leventdunord98@gmail.com X-Barracuda-Apparent-Source-IP: 139.170.221.68 Reply-To: leventdunord98@gmail.com From: leventdunord98@gmail.com To: xfs@oss.sgi.com Subject: Laurentides Le vent du Nord Chalet et Studios Sender: leventdunord98@gmail.com X-ASG-Orig-Subj: Laurentides Le vent du Nord Chalet et Studios Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Date: Wed, 11 Jun 2014 07:04:05 +0800 X-Barracuda-Connect: UNKNOWN[139.170.221.68] X-Barracuda-Start-Time: 1402442131 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.74 X-Barracuda-Spam-Status: No, SCORE=0.74 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, MISSING_MID, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6542 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 NO_REAL_NAME From: does not include a real name 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Message-Id: <20140610231534.2400F12961A5@cuda.sgi.com> Chalets et Studios Le Vent Du Nord Offre pour un temps limité: Vos vacances dans les Laurentides. Venez profiter de nos studios, suites et chalets jusqu'à 5 chambres a coucher en famille et entre amis. Mentionnez la promo ENSOLEILLÉ obtenez jusqu'à $100 de rabais sur votre séjour Spa, BBQ, embarcation, feu de camp. 2 nuits minimum. For a limited time: Your vacation in the Laurentiens. Come with friends & family enjoy one of our studios, suites & chalets (up to 5 bedrooms). By mentionning SPRINGAIR get up to $100 off your stay Spa, BBQ, camp fire, boats 2 nights minimum. Jean et Géraldine Tel.: 819.688-6140 Site web: leventdunord From david@fromorbit.com Tue Jun 10 18:31:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 187207F5E for ; Tue, 10 Jun 2014 18:31:32 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id AB1CDAC00C for ; Tue, 10 Jun 2014 16:31:28 -0700 (PDT) X-ASG-Debug-ID: 1402443082-04cbb00a0207b40001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id rNuNTGutzkznnQF1 for ; Tue, 10 Jun 2014 16:31:23 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AssNABWUl1N5LGMP/2dsb2JhbABZgw2sIQEBBpkSAYEGF3WEAwEBBTocIxAIAw4KCSUPBSUDIROIQc0qFxaFQIhzB4RBBJojk0aDTis Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail07.adl2.internode.on.net with ESMTP; 11 Jun 2014 09:01:21 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WuVVS-00009T-Bc; Wed, 11 Jun 2014 09:31:06 +1000 Date: Wed, 11 Jun 2014 09:31:06 +1000 From: Dave Chinner To: Brian Foster Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection Message-ID: <20140610233106.GJ9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection References: <1402060483-22195-1-git-send-email-bfoster@redhat.com> <20140610012149.GH4453@dastard> <20140610111750.GA46344@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610111750.GA46344@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402443082 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6543 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 10, 2014 at 07:17:50AM -0400, Brian Foster wrote: > On Tue, Jun 10, 2014 at 11:21:49AM +1000, Dave Chinner wrote: > > On Fri, Jun 06, 2014 at 09:14:43AM -0400, Brian Foster wrote: > > > +# real QA test starts here > > > +_supported_fs xfs > > > +_supported_os Linux > > > + > > > +_require_scratch > > > +_require_freeze > > > + > > > +if [ ! -e /sys/fs/xfs ] > > > +then > > > + _notrun "no kernel support for XFS sysfs attributes" > > > +fi > > > > _requires_xfs_sysfs > > > > I was mulling this over as I think we'll probably end up in a situation > where a test that depends on sysfs bits will need to check for a > specific attribute file. E.g., some new test comes along using a new > attribute file. Checking for /sys/fs/xfs is not sufficient for that test > once we release a version that so far only exports the log bits. > > I think we could handle that by supporting a parameter to > _requires_xfs_sysfs that specifies the sub-attribute that must exist > (similar to what we have for xfs_io commands). We don't need that at the > moment, but that's good enough for me to create the requires func. Yup, passing the name and/or sub-path of the paramter set required sounds fine to me. it would become: _requires_xfs_sysfs log in this case, because the presence of the /sys/fs/xfs//log directory would be suficinet to indicate the test should run, yes? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 11 00:31:22 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A7B4A7F62 for ; Wed, 11 Jun 2014 00:31:22 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 633D98F8040 for ; Tue, 10 Jun 2014 22:31:22 -0700 (PDT) X-ASG-Debug-ID: 1402464675-04bdf0566717bec0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id 5GlXVn9DOWJypAew for ; Tue, 10 Jun 2014 22:31:15 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AulFAC3pl1N5LGMPPGdsb2JhbABZgw1SgnSFCKNbAQEBAQEBBgWZFIEMFwQBAQEBODWEMRMcIxgkNAUlAwctiEHNZRaFQognA0qESASFXJRQlxkrgTEBHg Received: from ppp121-44-99-15.lns20.syd6.internode.on.net (HELO dastard) ([121.44.99.15]) by ipmail06.adl6.internode.on.net with ESMTP; 11 Jun 2014 15:00:45 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wub7T-0000te-Kb; Wed, 11 Jun 2014 15:30:43 +1000 Date: Wed, 11 Jun 2014 15:30:43 +1000 From: Dave Chinner To: torvalds@linux-foundation.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com Subject: [GIT PULL] xfs: updates for 3.16-rc1 Message-ID: <20140611053043.GK9508@dastard> X-ASG-Orig-Subj: [GIT PULL] xfs: updates for 3.16-rc1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1402464675 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6549 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Hi Linus, Can you please pull the changes from the tree below. Lots of changes all over the place in XFS, the main addition is a new on-disk btree for tracking free inodes and the associated optimised allocator rework to make use of it. Most of the rest of the changes are cleanups or reworking of existing functionality, as well as various bug fixes. -Dave. The following changes since commit d6d211db37e75de2ddc3a4f979038c40df7cc79c: Linux 3.15-rc5 (2014-05-09 13:10:52 -0700) are available in the git repository at: git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-3.16-rc1 for you to fetch changes up to 7691283d0561a350b7517be94818669fb5e3d910: Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next (2014-06-10 07:32:56 +1000) ---------------------------------------------------------------- xfs: update for 3.16-rc1 This update contains: o cleanup removing unused function args o rework of the filestreams allocator to use dentry cache parent lookups o new on-disk free inode btree and optimised inode allocator o various bug fixes o rework of internal attribute API o cleanup of superblock feature bit support to remove historic cruft o more fixes and minor cleanups o added a new directory/attribute geometry abstraction o yet more fixes and minor cleanups. ---------------------------------------------------------------- Brian Foster (11): xfs: refactor xfs_ialloc_btree.c to support multiple inobt numbers xfs: reserve v5 superblock read-only compat. feature bit for finobt xfs: support the XFS_BTNUM_FINOBT free inode btree type xfs: update inode allocation/free transaction reservations for finobt xfs: insert newly allocated inode chunks into the finobt xfs: use and update the finobt on inode allocation xfs: refactor xfs_difree() inobt bits into xfs_difree_inobt() helper xfs: update the finobt on inode free xfs: add finobt support to growfs xfs: report finobt status in fs geometry xfs: enable the finobt feature on v5 superblocks Christoph Hellwig (15): xfs: don't try to use the filestream allocator for metadata allocations xfs: split xfs_bmap_btalloc_nullfb xfs: handle duplicate entries in xfs_mru_cache_insert xfs: embedd mru_elem into parent structure xfs: remove XFS_IFILESTREAM xfs: rewrite the filestream allocator using the dentry cache xfs: don't create a slab cache for filestream items xfs: remove xfs_filestream_associate xfs: add filestream allocator tracepoints xfs: fold xfs_attr_set_int into xfs_attr_set xfs: fold xfs_attr_get_int into xfs_attr_get xfs: fold xfs_attr_remove_int into xfs_attr_remove xfs: simplify attr name setup xfs: pass struct da_args to xfs_attr_calc_size xfs: tone down writepage/releasepage WARN_ONs Dan Carpenter (1): xfs: small cleanup in xfs_lowbit64() Dave Chinner (50): xfs: remove dquot hints xfs: truncate_setsize should be outside transactions xfs: don't sleep in xlog_cil_force_lsn on shutdown xfs: fix directory readahead offset off-by-one xfs: xfs_dir_fsync() returns positive errno xfs: fix incorrect error sign in xfs_file_aio_read xfs: xfs_commit_metadata returns wrong errno xfs: correct error sign on COLLAPSE_RANGE errors xfs: fix wrong errno from xfs_initxattrs xfs: fix wrong err sign on xfs_set_acl() xfs: negate mount workqueue init error value xfs: negate xfs_icsb_init_counters error value xfs: list_lru_init returns a negative error Merge branch 'xfs-unused-args-cleanup' into for-next Merge branch 'xfs-filestreams-lookup' into for-next Merge branch 'xfs-free-inode-btree' into for-next Merge branch 'xfs-misc-fixes-1-for-3.16' into for-next Merge branch 'xfs-attr-cleanup' into for-next xfs: make superblock version checks reflect reality xfs: keep sb_bad_features2 the same a sb_features2 xfs: turn NLINK feature on by default xfs: don't need dirv2 checks anymore xfs: remove shared supberlock feature checking xfs: log vector rounding leaks log space xfs: remove redundant checks from xfs_da_read_buf Merge branch 'xfs-misc-fixes-2-for-3.16' into for-next Merge branch 'xfs-feature-bit-cleanup' into for-next xfs: introduce directory geometry structure xfs: move directory block translatiosn to xfs_dir2_priv.h xfs: kill XFS_DIR2...FIRSTDB macros xfs: convert dir byte/off conversion to xfs_da_geometry xfs: convert directory dablk conversion to xfs_da_geometry xfs: convert directory db conversion to xfs_da_geometry xfs: convert directory segment limits to xfs_da_geometry xfs: convert m_dirblkfsbs to xfs_da_geometry xfs: convert m_dirblksize to xfs_da_geometry xfs: convert dir/attr btree threshold to xfs_da_geometry xfs: move node entry counts to xfs_da_geometry xfs: reduce direct usage of mp->m_dir_geo xfs: remove mp->m_dir_geo from directory logging xfs: use xfs_da_geometry for block size in attr code xfs: pass xfs_da_args to xfs_attr_leaf_newentsize xfs: replace attr LBSIZE with xfs_da_geometry xfs: remove redundant geometry information from xfs_da_state xfs: block allocation work needs to be kswapd aware xfs: xfs_readsb needs to check for magic numbers xfs: kill xfs_buf_geterror() xfs: fix xfs_da_args sparse warning in xfs_readdir Merge branch 'xfs-da-geom' into for-next Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next Eric Sandeen (22): xfs: remove unused tp arg from xfs_bmap_last_offset() and callers xfs: remove unused mp arg from xfs_attr3_rmt_hdr_ok() xfs: remove unused mp arg from xfs_bmdr_maxrecs() xfs: remove unused mp arg from xfs_bmap_forkoff_reset() xfs: remove unused level arg from xfs_btree_read_buf_block() xfs: remove unused blocksize arg from xfs_setsize_buftarg() xfs: remove unused args from xfs_alloc_buftarg() xfs: remove unused flags arg from _xfs_buf_get_pages() xfs: remove unused bip arg from xfs_buf_item_log_segment() xfs: remove unused tp arg from xfs_da_reada_buf & callers xfs: remove unused mp arg from xfs_dir2 dataptr/byte functions xfs: remove unused mp arg from xfs_calc_dquots_per_chunk() xfs: remove unused length arg from alloc_block ops xfs: remove unused pag ptr arg from iterator execute functions xfs: remove unused bp arg from xfs_iflush_fork() xfs: remove unused xfs_mount arg from xfs_symlink_hdr_ok() xfs: remove unused ail pointer arg from xfs_trans_ail_cursor_done() xfs: remove unused trans pointer arg from xlog_recover_unmount_trans() xfs: remove pointless pointer increment in xfs_dir2_block_compact() xfs: remove unused calculation in xfs_dir2_sf_addname() xfs: fix Q_XQUOTARM ioctl xfs: bulletfproof xfs_qm_scall_trunc_qfiles() Tuomas Tynkkynen (1): xfs: Fix wrong error codes being returned Jan Kara (1): xfs: Fix rounding in xfs_alloc_fix_len() Jie Liu (1): xfs: fix infinite loop at xfs_vm_writepage on 32bit system Namjae Jeon (1): xfs: remove XFS_TRANS_RESERVE in collapse range Roger Willcocks (1): xfs: fix compile error when libxfs header used in C++ code fs/quota/quota.c | 14 +- fs/xfs/xfs_ag.h | 36 ++- fs/xfs/xfs_alloc.c | 19 +- fs/xfs/xfs_alloc_btree.c | 1 - fs/xfs/xfs_aops.c | 55 +++- fs/xfs/xfs_attr.c | 343 ++++++++------------- fs/xfs/xfs_attr_leaf.c | 184 ++++++----- fs/xfs/xfs_attr_leaf.h | 3 +- fs/xfs/xfs_attr_list.c | 1 + fs/xfs/xfs_attr_remote.c | 58 ++-- fs/xfs/xfs_bit.h | 7 +- fs/xfs/xfs_bmap.c | 211 +++++++------ fs/xfs/xfs_bmap.h | 4 +- fs/xfs/xfs_bmap_btree.c | 9 +- fs/xfs/xfs_bmap_btree.h | 2 +- fs/xfs/xfs_bmap_util.c | 18 +- fs/xfs/xfs_bmap_util.h | 13 +- fs/xfs/xfs_btree.c | 56 ++-- fs/xfs/xfs_btree.h | 5 +- fs/xfs/xfs_buf.c | 17 +- fs/xfs/xfs_buf.h | 9 +- fs/xfs/xfs_buf_item.c | 5 +- fs/xfs/xfs_da_btree.c | 114 ++----- fs/xfs/xfs_da_btree.h | 26 +- fs/xfs/xfs_da_format.c | 36 ++- fs/xfs/xfs_da_format.h | 154 ---------- fs/xfs/xfs_dir2.c | 136 ++++++--- fs/xfs/xfs_dir2.h | 30 +- fs/xfs/xfs_dir2_block.c | 97 +++--- fs/xfs/xfs_dir2_data.c | 83 +++-- fs/xfs/xfs_dir2_leaf.c | 202 +++++++------ fs/xfs/xfs_dir2_node.c | 190 ++++++------ fs/xfs/xfs_dir2_priv.h | 142 ++++++++- fs/xfs/xfs_dir2_readdir.c | 155 +++++----- fs/xfs/xfs_dir2_sf.c | 39 ++- fs/xfs/xfs_dquot.c | 59 +--- fs/xfs/xfs_dquot.h | 2 - fs/xfs/xfs_dquot_buf.c | 5 +- fs/xfs/xfs_export.c | 2 +- fs/xfs/xfs_file.c | 10 +- fs/xfs/xfs_filestream.c | 684 +++++++++-------------------------------- fs/xfs/xfs_filestream.h | 34 +-- fs/xfs/xfs_format.h | 14 +- fs/xfs/xfs_fs.h | 1 + fs/xfs/xfs_fsops.c | 49 ++- fs/xfs/xfs_ialloc.c | 704 ++++++++++++++++++++++++++++++++++++------- fs/xfs/xfs_ialloc.h | 2 +- fs/xfs/xfs_ialloc_btree.c | 69 ++++- fs/xfs/xfs_ialloc_btree.h | 3 +- fs/xfs/xfs_icache.c | 12 +- fs/xfs/xfs_icache.h | 6 +- fs/xfs/xfs_inode.c | 178 +++-------- fs/xfs/xfs_inode.h | 5 +- fs/xfs/xfs_inode_buf.c | 17 +- fs/xfs/xfs_inode_fork.c | 3 +- fs/xfs/xfs_inode_fork.h | 3 +- fs/xfs/xfs_inode_item.c | 32 +- fs/xfs/xfs_ioctl.c | 14 +- fs/xfs/xfs_ioctl32.c | 5 +- fs/xfs/xfs_iomap.c | 2 +- fs/xfs/xfs_iops.c | 32 +- fs/xfs/xfs_itable.c | 6 +- fs/xfs/xfs_log.c | 11 +- fs/xfs/xfs_log.h | 19 +- fs/xfs/xfs_log_cil.c | 57 +++- fs/xfs/xfs_log_recover.c | 11 +- fs/xfs/xfs_log_rlimit.c | 2 +- fs/xfs/xfs_mount.c | 45 ++- fs/xfs/xfs_mount.h | 12 +- fs/xfs/xfs_mru_cache.c | 151 ++++------ fs/xfs/xfs_mru_cache.h | 31 +- fs/xfs/xfs_qm.c | 243 +++------------ fs/xfs/xfs_qm_syscalls.c | 6 +- fs/xfs/xfs_quota_defs.h | 2 +- fs/xfs/xfs_quotaops.c | 29 +- fs/xfs/xfs_rtbitmap.c | 1 - fs/xfs/xfs_sb.c | 12 +- fs/xfs/xfs_sb.h | 235 +++++---------- fs/xfs/xfs_shared.h | 2 +- fs/xfs/xfs_stats.c | 1 + fs/xfs/xfs_stats.h | 18 +- fs/xfs/xfs_super.c | 26 +- fs/xfs/xfs_symlink.c | 3 +- fs/xfs/xfs_symlink_remote.c | 1 - fs/xfs/xfs_trace.c | 1 + fs/xfs/xfs_trace.h | 58 ++++ fs/xfs/xfs_trans.c | 2 +- fs/xfs/xfs_trans_ail.c | 5 +- fs/xfs/xfs_trans_priv.h | 3 +- fs/xfs/xfs_trans_resv.c | 56 +++- fs/xfs/xfs_trans_space.h | 12 +- fs/xfs/xfs_types.h | 2 +- include/linux/quota.h | 1 + 93 files changed, 2675 insertions(+), 2810 deletions(-) -- Dave Chinner david@fromorbit.com From dgc@oss.sgi.com Wed Jun 11 04:05:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 5F28F7F69; Wed, 11 Jun 2014 04:05:15 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-764-gfcec2eb X-Git-Refname: refs/heads/xfs-libxfs-restructure X-Git-Reftype: branch X-Git-Oldrev: d12984ec02037de7af328580075ba1bb88272ffd X-Git-Newrev: fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 Message-Id: <20140611090515.5F28F7F69@oss.sgi.com> Date: Wed, 11 Jun 2014 04:05:14 -0500 (CDT) 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, xfs-libxfs-restructure has been updated discards d12984ec02037de7af328580075ba1bb88272ffd (commit) fcec2eb xfs: global error sign conversion e3584e3 libxfs: move source files from d12984ec02037de7af328580075ba1bb88272ffd (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 fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 Author: Dave Chinner Date: Wed Jun 11 19:00:50 2014 +1000 xfs: global error sign conversion Convert all the errors the core XFs code to negative error signs like the rest of the kernel and remove all the sign conversion we do in the interface layers. Errors for conversion (and comparison) found via searches like: $ git grep " E" fs/xfs $ git grep "return E" fs/xfs $ git grep " E[A-Z].*;$" fs/xfs Negation points found via searches like: $ git grep "= -[a-z,A-Z]" fs/xfs $ git grep "return -[a-z,A-D,F-Z]" fs/xfs $ git grep " -[a-z].*;" fs/xfs Signed-off-by: Dave Chinner commit e3584e38615389850684fcffd699d97e2e06f2d6 Author: Dave Chinner Date: Wed Jun 11 08:08:14 2014 +1000 libxfs: move source files Move all the source files that are shared with userspace into libxfs/. This is done as one big chunk simpy to get it done quickly Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/Makefile | 7 +- fs/xfs/libxfs/xfs_alloc.c | 20 ++-- fs/xfs/libxfs/xfs_alloc_btree.c | 6 +- fs/xfs/libxfs/xfs_attr.c | 50 ++++----- fs/xfs/libxfs/xfs_attr_leaf.c | 44 ++++---- fs/xfs/libxfs/xfs_attr_remote.c | 10 +- fs/xfs/libxfs/xfs_bmap.c | 52 +++++----- fs/xfs/libxfs/xfs_bmap_btree.c | 10 +- fs/xfs/libxfs/xfs_btree.c | 14 +-- fs/xfs/libxfs/xfs_da_btree.c | 42 ++++---- fs/xfs/libxfs/xfs_dir2.c | 24 ++--- fs/xfs/libxfs/xfs_dir2_block.c | 16 +-- fs/xfs/libxfs/xfs_dir2_data.c | 10 +- fs/xfs/libxfs/xfs_dir2_leaf.c | 22 ++-- fs/xfs/libxfs/xfs_dir2_node.c | 40 +++---- fs/xfs/libxfs/xfs_dir2_sf.c | 28 ++--- fs/xfs/libxfs/xfs_dquot_buf.c | 6 +- fs/xfs/libxfs/xfs_ialloc.c | 32 +++--- fs/xfs/libxfs/xfs_ialloc_btree.c | 6 +- fs/xfs/libxfs/xfs_inode_buf.c | 10 +- fs/xfs/libxfs/xfs_inode_fork.c | 30 +++--- fs/xfs/libxfs/xfs_sb.c | 32 +++--- fs/xfs/libxfs/xfs_symlink_remote.c | 6 +- fs/xfs/xfs_acl.c | 8 +- fs/xfs/xfs_aops.c | 12 +-- fs/xfs/xfs_attr_inactive.c | 8 +- fs/xfs/xfs_attr_list.c | 14 +-- fs/xfs/xfs_bmap_util.c | 78 +++++++------- fs/xfs/xfs_buf.c | 26 ++--- fs/xfs/xfs_buf.h | 2 +- fs/xfs/xfs_buf_item.c | 4 +- fs/xfs/{libxfs => }/xfs_dir2_readdir.c | 4 +- fs/xfs/xfs_discard.c | 8 +- fs/xfs/xfs_dquot.c | 28 ++--- fs/xfs/xfs_error.c | 2 +- fs/xfs/xfs_error.h | 4 +- fs/xfs/xfs_export.c | 10 +- fs/xfs/xfs_extfree_item.c | 2 +- fs/xfs/xfs_file.c | 34 +++--- fs/xfs/xfs_filestream.c | 4 +- fs/xfs/xfs_fsops.c | 42 ++++---- fs/xfs/xfs_icache.c | 46 ++++----- fs/xfs/xfs_icache.h | 10 +- fs/xfs/xfs_inode.c | 66 ++++++------ fs/xfs/xfs_inode_item.c | 2 +- fs/xfs/xfs_ioctl.c | 140 ++++++++++++------------- fs/xfs/xfs_ioctl32.c | 28 ++--- fs/xfs/xfs_iomap.c | 12 +-- fs/xfs/xfs_iops.c | 58 +++++------ fs/xfs/xfs_itable.c | 22 ++-- fs/xfs/xfs_log.c | 52 +++++----- fs/xfs/xfs_log_cil.c | 6 +- fs/xfs/xfs_log_recover.c | 183 +++++++++++++++++---------------- fs/xfs/xfs_mount.c | 70 ++++++------- fs/xfs/xfs_mru_cache.c | 14 +-- fs/xfs/xfs_qm.c | 24 ++--- fs/xfs/xfs_qm_bhv.c | 2 +- fs/xfs/xfs_qm_syscalls.c | 24 ++--- fs/xfs/xfs_quotaops.c | 18 ++-- fs/xfs/xfs_rtalloc.c | 20 ++-- fs/xfs/xfs_rtalloc.h | 2 +- fs/xfs/xfs_super.c | 88 ++++++++-------- fs/xfs/xfs_symlink.c | 30 +++--- fs/xfs/xfs_trans.c | 8 +- fs/xfs/xfs_trans_ail.c | 4 +- fs/xfs/xfs_trans_buf.c | 24 ++--- fs/xfs/xfs_trans_dquot.c | 4 +- fs/xfs/xfs_xattr.c | 6 +- 68 files changed, 884 insertions(+), 886 deletions(-) rename fs/xfs/{libxfs => }/xfs_dir2_readdir.c (99%) hooks/post-receive -- XFS development tree From david@fromorbit.com Wed Jun 11 04:11:06 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 511E87F69 for ; Wed, 11 Jun 2014 04:11:06 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C8460AC005 for ; Wed, 11 Jun 2014 02:11:02 -0700 (PDT) X-ASG-Debug-ID: 1402477859-04cb6c78c317df40001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id Otf6YVAgu6VYBBpY for ; Wed, 11 Jun 2014 02:11:00 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsBFALscmFN5LC2vPGdsb2JhbABPCoMNg0aFCKM6AQEBAQEBBpkZAYEIFwQBAQEBODWEAwEBBAE6HCMQCAMOCgklDwUlAwcaE4g6B81+FxaFQogYXAeEQQSaLJcZKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 11 Jun 2014 18:40:22 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WueY0-0001Oa-LY; Wed, 11 Jun 2014 19:10:20 +1000 Date: Wed, 11 Jun 2014 19:10:20 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140611091020.GO4453@dastard> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610115857.GC46344@bfoster.bfoster> <20140610214850.GH9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610214850.GH9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402477859 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6552 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 11, 2014 at 07:48:50AM +1000, Dave Chinner wrote: > On Tue, Jun 10, 2014 at 07:58:57AM -0400, Brian Foster wrote: > > On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote: > > > The issue is the negative error number patchset, and how to handle > > > review and testing. The patchset is already 62 patches long and it > > > converts roughly half the code base. It'll take me another couple of > > > days to convert the rest of the code, and that will probably take > > > another 60 patches. > > > > > > I understand that reviewing 100+ patches is going to be a pain, but > > > each patch currently averages about +/- 10 lines. The current > > > diffstat is: > > > > > > 37 files changed, 723 insertions(+), 722 deletions(-) > > > > > > And that will probably double, so it's still going to be a fair > > > amount of change. > > > > Is there any sort of more coarse logical breakdown of this series, or do > > we want/need to convert the entire codebase all at once? The individual > > patches sound relatively small... is there a particular method at play > > there? E.g., a patch per function? file? call chain? > > I'm doing it layer by layer, starting from the linux interface > layers and working my way down. e.g. fs/xfs/xfs_file.c first, > the fs/xfs/xfs_iops.c, and so on, and there are multiple patches per > file for each (roughly) logical change. e.g. converting xfs_iops.c: [...] I've decided that there really is too much unnecessary code churn from this approach. I end up converting all the call sites to negate the error sign, and then end up converting them back to the original code some time later, leaving only the source of the errors with a changed sign. So, I stopped doing that to see just what the brute force, change source and conversions only, and I found with a few simple searches I could identify all the locations that need changing. So, in a couple of hours I churned out the patch that converted everything. Still pretty large, even though it only changes error values and conversion points. 67 files changed, 879 insertions(+), 884 deletions(-) Not sure how I could break this up - it really is an all-or-nothing patch this Big Hammer approach.... > > Perhaps if we just make a branch available with the patches, put a > > notification on the list, and we can use that as a review > > thread..? > > I'll push the series to the git tree at the end of the day - I'm > hoping to have the conversion mostly done by then. I did most of the > rebase of the existing patchset on top of the libxfs addition last > night, so I should e able to knock off most of the rest of the > changes today. I wanted to see what people thought about the concept > without cluttering the issue with a huge code dump... Ok, so the version I pushed to the rebased xfs-libxfs-restructure branch is the big hammer patch from above (commit fcec2eb "xfs: global error sign conversion"). I also folded in the fix for the problem Eric pointed out (which is why it's a rebase). That branch is running xfstests right now on several machines and hasn't gone boom, so i can't have screwed it up too badly... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bounce@client5.aanyainfotech.com Wed Jun 11 05:23:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=HTML_MESSAGE,NORMAL_HTTP_TO_IP, PLING_QUERY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 94D237F47 for ; Wed, 11 Jun 2014 05:23:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1C2DCAC005 for ; Wed, 11 Jun 2014 03:23:33 -0700 (PDT) X-ASG-Debug-ID: 1402482207-04cb6c78c5180e90001-NocioJ Received: from server5.aanyainfotech.com (server5.aanyainfotech.com [65.181.118.124]) by cuda.sgi.com with ESMTP id m2K9t1gqw2jysNuE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 11 Jun 2014 03:23:28 -0700 (PDT) X-Barracuda-Envelope-From: bounce@client5.aanyainfotech.com X-Barracuda-Apparent-Source-IP: 65.181.118.124 Received: from client5a by server5.aanyainfotech.com with local (Exim 4.82) (envelope-from ) id 1Wufgl-0005ej-5h for xfs@oss.sgi.com; Wed, 11 Jun 2014 06:23:27 -0400 To: xfs@oss.sgi.com Subject: Not planned holidays yet? Plan now & get best travel deals !!! Message-ID: X-ASG-Orig-Subj: Not planned holidays yet? Plan now & get best travel deals !!! Date: Wed, 11 Jun 2014 07:29:12 +0000 From: "Sushmita Sen" Reply-To: noreply@client5.aanyainfotech.com MIME-Version: 1.0 X-Mailer-LID: 3,9 List-Unsubscribe: X-Mailer-SID: 7 X-Mailer-Sent-By: 1 Content-Type: multipart/alternative; charset="UTF-8"; boundary="b1_65193276b7f4cb63758c9ee7f9a53b91" Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server5.aanyainfotech.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [501 512] / [47 12] X-AntiAbuse: Sender Address Domain - client5.aanyainfotech.com X-Get-Message-Sender-Via: server5.aanyainfotech.com: authenticated_id: client5a/from_h X-Barracuda-Connect: server5.aanyainfotech.com[65.181.118.124] X-Barracuda-Start-Time: 1402482208 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.90 X-Barracuda-Spam-Status: No, SCORE=1.90 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA045, HTML_MESSAGE, NORMAL_HTTP_TO_IP, PLING_PLING, PLING_QUERY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6553 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA045 BODY: Custom Rule SA045 0.00 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL 0.00 HTML_MESSAGE BODY: HTML included in message 1.33 PLING_QUERY Subject has exclamation mark and question mark 0.46 PLING_PLING Subject has lots of exclamation marks --b1_65193276b7f4cb63758c9ee7f9a53b91 Content-Type: text/plain; format=flowed; charset="UTF-8" Content-Transfer-Encoding: 8bit Your email client cannot read this email. To view it online, please go here: http://65.181.118.124/~client5a/display.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&S=7&L=9&N=1 To stop receiving these emails:http://65.181.118.124/~client5a/unsubscribe.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&L=9&N=7 --b1_65193276b7f4cb63758c9ee7f9a53b91 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit
Hellotravel-Holiday
Helping travelers connect specialists...
Travel Planning has just
got better with Hellotravel
Get Best Packages from Top Travel Agents

Mauritius

Mauritius
This can be your beautiful home , if only for a week or so. Mauritius will enchant you, will uplift your soul, making you feel that you belong to the chosen few.

 

 

Hong Kong

Hong Kong
So intense, it's like packing 10 different trips into one. Just one reason to love this city. Hong Kong has a loud personality,kind of like its locals.

 

 

Dubai

Dubai
More than a billionaire’s playground in the desert -- Dubai's lavish business environment has made it a tourist fantasyland.

 

 

Europe

Europe
The rail adventure awaits you! Take to the rails for a whistle-stop tour of Europe. Meet other travellers, experience everything Europe has to offer and collect lifelong memories along the way.

 

 

Singapore

Singapore
Singapore and Food, the city-state dominates the 'net with food blogs where hungry netizens compare, dissect, argue and swap foodie fodder, scouring the island for new tastes.

 

 

Australia

Australia
Unspoilt beaches, breathtaking natural beauty, unique wildlife and some of the world's best cities, there's certainly nothing like Australia.

 

 
Click here for any other destination(S)
 
Hellotravel.com | E-14B Sector-8 Noida-201301

Click here to unsubscribe --b1_65193276b7f4cb63758c9ee7f9a53b91-- From bfoster@redhat.com Wed Jun 11 05:56:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D85417F58 for ; Wed, 11 Jun 2014 05:56:08 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7B61CAC008 for ; Wed, 11 Jun 2014 03:56:08 -0700 (PDT) X-ASG-Debug-ID: 1402484166-04cbb00a0121460001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id KxL6MqH7sLlDCVo3 for ; Wed, 11 Jun 2014 03:56:07 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5BAu4vF008014 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Jun 2014 06:56:05 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5BAu4MF030063; Wed, 11 Jun 2014 06:56:04 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id B90D812138E; Wed, 11 Jun 2014 06:56:03 -0400 (EDT) Date: Wed, 11 Jun 2014 06:56:03 -0400 From: Brian Foster To: Dave Chinner Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection Message-ID: <20140611105603.GB39345@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfstests: create a test for xfs log grant head leak detection References: <1402060483-22195-1-git-send-email-bfoster@redhat.com> <20140610012149.GH4453@dastard> <20140610111750.GA46344@bfoster.bfoster> <20140610233106.GJ9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140610233106.GJ9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402484167 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 11, 2014 at 09:31:06AM +1000, Dave Chinner wrote: > On Tue, Jun 10, 2014 at 07:17:50AM -0400, Brian Foster wrote: > > On Tue, Jun 10, 2014 at 11:21:49AM +1000, Dave Chinner wrote: > > > On Fri, Jun 06, 2014 at 09:14:43AM -0400, Brian Foster wrote: > > > > +# real QA test starts here > > > > +_supported_fs xfs > > > > +_supported_os Linux > > > > + > > > > +_require_scratch > > > > +_require_freeze > > > > + > > > > +if [ ! -e /sys/fs/xfs ] > > > > +then > > > > + _notrun "no kernel support for XFS sysfs attributes" > > > > +fi > > > > > > _requires_xfs_sysfs > > > > > > > I was mulling this over as I think we'll probably end up in a situation > > where a test that depends on sysfs bits will need to check for a > > specific attribute file. E.g., some new test comes along using a new > > attribute file. Checking for /sys/fs/xfs is not sufficient for that test > > once we release a version that so far only exports the log bits. > > > > I think we could handle that by supporting a parameter to > > _requires_xfs_sysfs that specifies the sub-attribute that must exist > > (similar to what we have for xfs_io commands). We don't need that at the > > moment, but that's good enough for me to create the requires func. > > Yup, passing the name and/or sub-path of the paramter set required > sounds fine to me. it would become: > > _requires_xfs_sysfs log > > in this case, because the presence of the /sys/fs/xfs//log > directory would be suficinet to indicate the test should run, yes? > Yep, that works. Should any new log attributes come along as a test dependency, something like the following would be required: _requires_xfs_sysfs log/logattr So _requires_xfs_sysfs can basically just test for the existence of the parameter under the xfs/ path for TEST_DEV. I'll go with that. Thanks. Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From duarte.franco@fccn.pt Wed Jun 11 09:20:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E037F7F3F for ; Wed, 11 Jun 2014 09:20:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id BF9A1304039 for ; Wed, 11 Jun 2014 07:20:41 -0700 (PDT) X-ASG-Debug-ID: 1402496434-04bdf05667190210001-NocioJ Received: from app02.fccn.pt (app02.fccn.pt [193.137.198.37]) by cuda.sgi.com with ESMTP id FCEhBqQiSHZbCm2i (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 11 Jun 2014 07:20:35 -0700 (PDT) X-Barracuda-Envelope-From: duarte.franco@fccn.pt X-Barracuda-Apparent-Source-IP: 193.137.198.37 Received: from mx.anubis.local (ste [10.1.2.2]) by outbound.anubis.local (Postfix) with ESMTP id 1FFC9D2C23 for ; Wed, 11 Jun 2014 15:20:35 +0100 (WEST) Received: from zeno (zeno.corp.fccn.pt [193.136.44.33]) (Authenticated sender: duarte.franco@fccn.pt) by mx.anubis.local (Postfix) with ESMTP id 1295DC2E26; Wed, 11 Jun 2014 15:20:35 +0100 (WEST) From: "Duarte Franco" To: "'Eric Sandeen'" , References: <27c101cf84e1$7259a7a0$570cf6e0$@fccn.pt> <53975CF1.3050807@sandeen.net> In-Reply-To: <53975CF1.3050807@sandeen.net> Subject: RE: XFS data lost recover Date: Wed, 11 Jun 2014 15:20:32 +0100 X-ASG-Orig-Subj: RE: XFS data lost recover Message-ID: <2ccc01cf8580$4e230620$ea691260$@fccn.pt> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Content-Language: pt Thread-Index: AQJbLHZmung58wSW5zhvGVxsbh4gTQKLkmfsmkBJdRA= X-Barracuda-Connect: app02.fccn.pt[193.137.198.37] X-Barracuda-Start-Time: 1402496435 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.01 X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=THREAD_INDEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6558 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== Thanks for you reply -----Original Message----- From: Eric Sandeen [mailto:sandeen@sandeen.net]=20 Sent: 10 de junho de 2014 20:31 To: Duarte Franco; xfs@oss.sgi.com Subject: Re: XFS data lost recover On 6/10/14, 2:23 PM, Duarte Franco wrote: > Hi >=20 > =20 >=20 > I have a Linux RHEL 5.3 server with a XFS partition over lvm on an=20 > infortrend Fc storage. > Recently we have a system failure that corrupt the XFS partition. > After a xfs_restore the partition was recovered but the lost+found=20 > directory contain about 5.5TB of inode files. (almost the total size > 7TB) >=20 presumably you mean xfs_repair? lost+found/ is populated with files for which name data has been lost. There is no great way to recover the names; if there were, xfs_repair = would do it. Yes it was a xfs_repair. >=20 > After that the partitions were used to write a few more data, without=20 > any problem. >=20 >=20 >=20 > I would like to ask if there is any way to recover the files in > lost+found directory? Do you have any service to recover these > files? The files themselves are not lost, but they have lost their names. Depending on the data you have in the files, perhaps they are still recognizable, and could be renamed back to their original locations via script? The files are essentially http pages but are thousands of them! Is there = any way to restore the name of the files or is only by their content? Regards Duarte -Eric >=20 >=20 > If possible I would prefer to be contacted by email. >=20 > =20 >=20 > Best Regards >=20 > =20 >=20 > Duarte Franco >=20 > *AIA*=96 Area Infra-estruturas Aplicacionais >=20 > _________________________________________________ >=20 > FCT, FCCN >=20 > Av. do Brasil, 101 Apartado 50435 1708-001 Lisboa >=20 > Telf. 300 005 257 Fax 351 21 8472167 >=20 > http://www.fccn.pt/ >=20 > =20 >=20 > *Aviso de Confidencialidade* >=20 > Esta mensagem =E9 exclusivamente destinada ao seu destinat=E1rio, = podendo conter informa=E7=E3o CONFIDENCIAL, cuja divulga=E7=E3o est=E1 = expressamente vedada nos termos da lei. Caso tenha recepcionado indevidamente esta mensagem, solicitamos-lhe que nos comunique esse mesmo facto por esta via ou para = o telefone +351 218440100 devendo apagar o seu conte=FAdo de imediato. >=20 > This message is intended exclusively for its addressee. It may containCONFIDENTIAL information protected by law. If this message has = been received by error, please notify us via e-mail or by telephone +351 218440100 and delete it immediately. >=20 > =20 >=20 >=20 >=20 > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs >=20 From eflorac@intellique.com Wed Jun 11 09:53:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 251097F3F for ; Wed, 11 Jun 2014 09:53:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0C5638F8035 for ; Wed, 11 Jun 2014 07:53:44 -0700 (PDT) X-ASG-Debug-ID: 1402498422-04bdf05666191a00001-NocioJ Received: from mail1.g1.pair.com (mail1.g1.pair.com [66.39.3.162]) by cuda.sgi.com with ESMTP id V5zGVcAJjczrVLpa (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 11 Jun 2014 07:53:42 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 66.39.3.162 Received: from localhost (localhost [127.0.0.1]) by mail1.g1.pair.com (Postfix) with SMTP id C22B72C6DD; Wed, 11 Jun 2014 10:53:41 -0400 (EDT) Received: from harpe.intellique.com (labo.djinux.com [82.225.196.72]) by mail1.g1.pair.com (Postfix) with ESMTPSA id C41FD2C573; Wed, 11 Jun 2014 10:53:40 -0400 (EDT) Date: Wed, 11 Jun 2014 16:53:42 +0200 From: Emmanuel Florac To: "Duarte Franco" Cc: Subject: Re: XFS data lost recover Message-ID: <20140611165342.0cdbd7b2@harpe.intellique.com> X-ASG-Orig-Subj: Re: XFS data lost recover In-Reply-To: <2ccc01cf8580$4e230620$ea691260$@fccn.pt> References: <27c101cf84e1$7259a7a0$570cf6e0$@fccn.pt> <53975CF1.3050807@sandeen.net> <2ccc01cf8580$4e230620$ea691260$@fccn.pt> Organization: Intellique X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.20; i486-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail1.g1.pair.com[66.39.3.162] X-Barracuda-Start-Time: 1402498422 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6558 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Le Wed, 11 Jun 2014 15:20:32 +0100 "Duarte Franco" =E9crivait: > The files are essentially http pages but are thousands of them! Is > there any way to restore the name of the files or is only by their > content? >=20 There is no way unfortunately. I've made a perl script that creates a database of file with their names and inodes to cover precisely this problem, but you would need to have run it once beforeend to index the filesystem... You should try to run the latest xfs_repair first however; you probably used a very old version. In a similar case a newer xfs_repair was able to find many files that the previous release couldn't reattach properly to the filesystem tree. --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From desantis@mail.usf.edu Wed Jun 11 10:43:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 59CC47F3F for ; Wed, 11 Jun 2014 10:43:15 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id DBA42AC006 for ; Wed, 11 Jun 2014 08:43:11 -0700 (PDT) X-ASG-Debug-ID: 1402501389-04cbb00a012df90001-NocioJ Received: from mail-yk0-f180.google.com (mail-yk0-f180.google.com [209.85.160.180]) by cuda.sgi.com with ESMTP id bXMINKVCvI67XUBg (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 11 Jun 2014 08:43:09 -0700 (PDT) X-Barracuda-Envelope-From: desantis@mail.usf.edu X-Barracuda-Apparent-Source-IP: 209.85.160.180 Received: by mail-yk0-f180.google.com with SMTP id 131so3406767ykp.11 for ; Wed, 11 Jun 2014 08:43:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.usf.edu; s=googleapps; h=mime-version:date:message-id:subject:from:to:content-type; bh=EbZlf6NjbwEtVEsEnJU+/ERW08vcQy17Q8jXnq//NWU=; b=TDW/QbNPblctJsxp2UyuJZD+hfJNRG1lH+ZeUXGeZCRahOna/gKWc21cEb5i636DtR zPKvzJC+TFkyXy32/qj777Jf7kkdaMykFzzRwODDm7hiwfHNxypP5VvSx2J9+QSlqsiR wwh4zFDeho1NVHupgEXQL6Lla6vuOXePRdP7k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=EbZlf6NjbwEtVEsEnJU+/ERW08vcQy17Q8jXnq//NWU=; b=GOE4fxiA1E7nlN+5M8J85qIFyqOextaHhsSACPtFFzS/aMvbFU/2vI78MRupLCpXRs udoo8Me3Giso4WtNuQgU95ZGhI4DuEUT/eFlSaayTwnkpKxawm6tTfJNHDdxpC4oBZmX Lvfjco1M5ROT4XGt5xXzWzG20eIXocrPiFCu6PVqlgUHXfs+1K9T98g+VVOLIT4CiipN +PNGuMQlH0/NJHLcGKD9I/amq4+f/ZSJzqkFY33t3nxQ+CJ5MHFtdquB8aRZ+3RrlW7I Mut62wQdbmLcMPQ4TRsndJjzcKaoay3Heu/LsPYWFK4/CqzYbLPiwllRycJqA50HB7bp Lp2A== X-Gm-Message-State: ALoCoQmUnKKlTv24C2/WHWK1K/mZIjqKhXpeN87AeKJZ57lnXAVvN6OjAGUHLcJ2hZsvRd1dmxZ5 MIME-Version: 1.0 X-Received: by 10.236.223.36 with SMTP id u34mr6794410yhp.79.1402501389133; Wed, 11 Jun 2014 08:43:09 -0700 (PDT) Received: by 10.170.156.3 with HTTP; Wed, 11 Jun 2014 08:43:09 -0700 (PDT) Date: Wed, 11 Jun 2014 11:43:09 -0400 Message-ID: Subject: (Un)known issue with XFS group quotas on LVM? From: John Desantis X-ASG-Orig-Subj: (Un)known issue with XFS group quotas on LVM? To: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-yk0-f180.google.com[209.85.160.180] X-Barracuda-Start-Time: 1402501389 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6559 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello list! A big "thanks!" to all XFS developers for a great product. Now, to the point! We're using an XFS file system created on an LVM with a standard kernel (2.6.32-431.3.1). We're using quotas without an issue, with the exception of the group quota. It seems that group quotas are ignored at times, at least from our configuration (we use remote user and group look-ups and authentication). I've only been able to get root running sudo -g dd.. to create a group file which reflects changes in the group quota limit. We've mounted the file system in question with both user and group quotas enabled; I didn't see anywhere in the man page that said this isn't possible, although I did see where group and project quotas cannot be used simultaneously on the same file system. Has anyone experienced this behavior before? I feel that I did some pretty good searching in the archives, Google, and the BugZilla page, but there were no "real" results which seemed to describe the same issue we're facing. Strace didn't provide any clues either. I don't think it's a sync issue because I've allowed a few days to pass in between "test" runs. I've tested the quota by: 1.) Using sudo -u user -g group dd.... on both the exported file system and its mount path on the server itself. 2.) Using sudo -u user -g group dd.. on the client and the file system's mount path. 3.) Using sudo -g group dd... on both the exported file system and its mount path on the server itself; this method produces expected results. 4.) Using sudo -g group dd.. on the client and the file system's mount path; this method also produces expected results. Items #1 and #2 produce the error. I just wanted to ping the list before creating a local testing group to see if it's an issue with remote group look-ups. Thank you, John DeSantis From bfoster@redhat.com Wed Jun 11 12:36:22 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 4B5677F3F for ; Wed, 11 Jun 2014 12:36:22 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2ED038F8039 for ; Wed, 11 Jun 2014 10:36:18 -0700 (PDT) X-ASG-Debug-ID: 1402508174-04cbb00a0133720001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id hPZD3CBi8fNA5ED7 for ; Wed, 11 Jun 2014 10:36:14 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5BHaCtc032501 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Jun 2014 13:36:13 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5BHaCW7015440; Wed, 11 Jun 2014 13:36:12 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 08D8512138E; Wed, 11 Jun 2014 13:36:10 -0400 (EDT) From: Brian Foster To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com Subject: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Date: Wed, 11 Jun 2014 13:36:10 -0400 X-ASG-Orig-Subj: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-Id: <1402508170-61125-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402508174 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 XFS can allocate significant amounts of space to files via speculative preallocation. Such preallocation may not be reclaimed automatically on file close() if a file is repeatedly opened and extended. For smaller filesystems with relatively large and slow growing files, this preallocation can linger for some time, including contributing to out of space conditions. Create a situation where an fs is near out of space while several files still have lingering, significant preallocations. Verify that new writers reclaim the preallocated space rather than return ENOSPC. Repeat a similar test for quota limits and EDQUOT. Signed-off-by: Brian Foster --- v3: - Assorted style fixes and cleanups. - Removed unnecessary filtering to $seqres.full. - Use df for free space calculation. - Added output message. v2: http://oss.sgi.com/archives/xfs/2014-06/msg00087.html - Added a post-test scratch fs check. - Use a loop device to reduce the space requirement. - Added support for analogous EDQUOT test and added to quota group. - Some refactoring, cleanups, etc. v1: http://oss.sgi.com/archives/xfs/2014-05/msg00531.html tests/xfs/014 | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/014.out | 2 + tests/xfs/group | 1 + 3 files changed, 203 insertions(+) create mode 100755 tests/xfs/014 create mode 100644 tests/xfs/014.out diff --git a/tests/xfs/014 b/tests/xfs/014 new file mode 100755 index 0000000..1e092a9 --- /dev/null +++ b/tests/xfs/014 @@ -0,0 +1,200 @@ +#!/bin/bash +# FS QA Test No. xfs/014 +# +# Test the behavior of XFS dynamic speculative preallocation at ENOSPC and +# EDQUOT conditions. Speculative preallocation allocates post-EOF space to files +# as they are extended. This test creates conditions where an fs is near a space +# limit with lingering, relatively significant preallocations and verifies that +# new writers reclaim said preallocations rather than prematurely fail with +# ENOSPC/EDQUOT. +# +#----------------------------------------------------------------------- +# Copyright (c) 2014 Red Hat, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter +. ./common/quota + +_cleanup() +{ + cd / + umount $LOOP_MNT 2>/dev/null + umount $SCRATCH_MNT 2>/dev/null + rm -f $tmp.* +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# Create a file using a repeated open, extending write and close pattern. This +# causes the preallocation to persist after the file is closed. Preallocation +# will not be reclaimed unless the inode is evicted or we hit an allocation +# failure. +_spec_prealloc_file() +{ + file=$1 + + rm -f $file + + # a few file extending open-write-close cycles should be enough to + # trigger the fs to retain preallocation. write 256k in 32k intervals to + # be sure + for i in $(seq 0 32768 262144); do + $XFS_IO_PROG -f -c "pwrite $i 32k" $file >> $seqres.full + done + + # write a 4k aligned amount of data to keep the calculations simple + $XFS_IO_PROG -c "pwrite 0 128m" $file >> $seqres.full + + size=`stat -c "%s" $file` + blocks=`stat -c "%b" $file` + blocksize=`stat -c "%B" $file` + + prealloc_size=$((blocks * blocksize - size)) + if [ $prealloc_size -eq 0 ]; then + echo "Warning: No speculative preallocation for $file." \ + "Check use of the allocsize= mount option." + fi + + # keep a running total of how much preallocation we've created + TOTAL_PREALLOC=$((TOTAL_PREALLOC + prealloc_size)) +} + +_consume_free_space() +{ + dir=$1 + + # allocate all but 10MB of available space + freesp=`df -m $dir | awk '/^\// { print $4 - 10 }'` + $XFS_IO_PROG -f -c "falloc 0 ${freesp}M" $dir/spc +} + +# Create several files with preallocation and consume the remaining free space +# via fallocate to the put the fs at ENOSPC. Create a set of background writers +# to write into ENOSPC and cause the preallocation to be reclaimed and +# reallocated to the new writers. +_test_enospc() +{ + dir=$1 + + rm -rf $dir/* + + TOTAL_PREALLOC=0 + for i in $(seq 0 3); do + _spec_prealloc_file $dir/pre$i + done + + _consume_free_space $dir + + # consume 1/2 of the current preallocation across the set of 4 writers + write_size=$((TOTAL_PREALLOC / 2 / 4)) + for i in $(seq 0 3); do + $XFS_IO_PROG -f -c "pwrite 0 $write_size" $dir/file.$i \ + >> $seqres.full & + done + + wait +} + +# Create preallocations accounted by both user and group quotas. Set the +# associated quota hard limits to put them at EDQUOT. Verify that a new writer +# reclaims the preallocated space and proceeds without error. +_test_edquot() +{ + dir=$1 + + rm -rf $dir/* + + TOTAL_PREALLOC=0 + _spec_prealloc_file $dir/user + chown $qa_user $dir/user + + _spec_prealloc_file $dir/group + chgrp $qa_group $dir/group + + # writing to a file under both quotas means both will be reclaimed on + # allocation failure + touch $dir/file + chown $qa_user $dir/file + chgrp $qa_group $dir/file + + # put both quotas at EDQUOT + blks=`$XFS_QUOTA_PROG -xc "quota -u $qa_user" $dir | \ + tail -n 1 | awk '{ print $2 }'` + $XFS_QUOTA_PROG -xc "limit -u bhard=${blks}k $qa_user" $dir + blks=`$XFS_QUOTA_PROG -xc "quota -g $qa_grup" $dir | \ + tail -n 1 | awk '{ print $2 }'` + $XFS_QUOTA_PROG -xc "limit -g bhard=${blks}k $qa_group" $dir + + # each quota has a single file worth of preallocation to reclaim. leave + # some wiggle room and write to 1/3 the total. + write_size=$((TOTAL_PREALLOC / 3)) + $XFS_IO_PROG -c "pwrite 0 $write_size" $dir/file >> $seqres.full +} + +# real QA test starts here +_supported_fs xfs +_supported_os Linux + +_require_scratch +_require_xfs_io_command "falloc" +_require_loop +_require_quota +_require_user +_require_group + +rm -f $seqres.full + +echo "Silence is golden." + +_scratch_mkfs_xfs >> $seqres.full 2>&1 +_scratch_mount + +# make sure the background eofblocks scanner doesn't interfere +orig_sp_time=`cat /proc/sys/fs/xfs/speculative_prealloc_lifetime` +echo 9999 > /proc/sys/fs/xfs/speculative_prealloc_lifetime + +LOOP_FILE=$SCRATCH_MNT/$seq.fs +LOOP_MNT=$SCRATCH_MNT/$seq.mnt + +$MKFS_XFS_PROG -d "file=1,name=$LOOP_FILE,size=10g" >> $seqres.full 2>&1 + +mkdir -p $LOOP_MNT +mount -t xfs -o loop,uquota,gquota $LOOP_FILE $LOOP_MNT || \ + _fail "Failed to mount loop fs." + +_test_enospc $LOOP_MNT +_test_edquot $LOOP_MNT + +umount $LOOP_MNT + +echo $orig_sp_time > /proc/sys/fs/xfs/speculative_prealloc_lifetime + +umount $SCRATCH_MNT +_check_scratch_fs + +status=0 +exit diff --git a/tests/xfs/014.out b/tests/xfs/014.out new file mode 100644 index 0000000..5d78183 --- /dev/null +++ b/tests/xfs/014.out @@ -0,0 +1,2 @@ +QA output created by 014 +Silence is golden. diff --git a/tests/xfs/group b/tests/xfs/group index 19fd968..13f07b8 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -10,6 +10,7 @@ 010 auto quick repair 012 rw auto quick 013 auto metadata stress +014 auto enospc quick quota 016 rw auto quick 017 mount auto quick stress 018 deprecated # log logprint v2log -- 1.8.3.1 From bfoster@redhat.com Wed Jun 11 14:31:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 127BF7F3F for ; Wed, 11 Jun 2014 14:31:18 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 97180AC003 for ; Wed, 11 Jun 2014 12:31:14 -0700 (PDT) X-ASG-Debug-ID: 1402515072-04cb6c78c41994e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 5t9EkTlu9oLk03ik for ; Wed, 11 Jun 2014 12:31:13 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5BJVCgB018808 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 11 Jun 2014 15:31:12 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5BJVCWP014613; Wed, 11 Jun 2014 15:31:12 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 7DE8012138E; Wed, 11 Jun 2014 15:31:10 -0400 (EDT) From: Brian Foster To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com Subject: [PATCH v2] xfstests: create a test for xfs log grant head leak detection Date: Wed, 11 Jun 2014 15:31:10 -0400 X-ASG-Orig-Subj: [PATCH v2] xfstests: create a test for xfs log grant head leak detection Message-Id: <1402515070-40264-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402515073 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Changes in the XFS logging code have lead to small leaks in the log grant heads that consume log space slowly over time. Such problems have gone undetected for an unnecessarily long time due to code complexity and potential for very subtle problems. Losing only a few bytes per logged item on a reasonably large enough fs (10s of GB) means only the most continuously stressful workloads will cause a severe enough failure (deadlock due to log reservation exhaustion) quickly enough to indicate something is seriously wrong. Recent changes in XFS export the state of the various log heads through sysfs to aid in userspace/runtime analysis of the log. This test runs a workload against an XFS filesystem, quiesces the fs and verifies that the log reserve and write grant heads have not leaked any space with respect to the current head of the physical log. Signed-off-by: Brian Foster --- v2: - Rework the test to run a background fsstress and a foreground log check loop. - Replace _get_device_name() with _short_dev(). - Create and use _require_xfs_sysfs(). - Added to log and metadata test groups. - Assorted fixes for test output, filters and awk invocations. v1: http://oss.sgi.com/archives/xfs/2014-06/msg00145.html - Use updated attribute names and value format. rfc: http://oss.sgi.com/archives/xfs/2014-05/msg00428.html common/rc | 17 ++++++++ tests/xfs/011 | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/xfs/011.out | 2 + tests/xfs/group | 1 + 4 files changed, 136 insertions(+) create mode 100755 tests/xfs/011 create mode 100644 tests/xfs/011.out diff --git a/common/rc b/common/rc index f27ee53..e87d1f1 100644 --- a/common/rc +++ b/common/rc @@ -1131,6 +1131,23 @@ _require_xfs_finobt() umount $SCRATCH_MNT } +# this test requires xfs sysfs attribute support +# +_require_xfs_sysfs() +{ + attr=$1 + sysfsdir=/sys/fs/xfs + testdev=`_short_dev $TEST_DEV` + + if [ ! -e $sysfsdir ]; then + _notrun "no kernel support for XFS sysfs attributes" + fi + + if [ ! -z $1 ] && [ ! -e $sysfsdir/$testdev/$attr ]; then + _notrun "sysfs attribute '$attr' is not supported" + fi +} + # this test requires that external log/realtime devices are not in use # _require_nonexternal() diff --git a/tests/xfs/011 b/tests/xfs/011 new file mode 100755 index 0000000..5763af9 --- /dev/null +++ b/tests/xfs/011 @@ -0,0 +1,116 @@ +#!/bin/bash +# FS QA Test No. xfs/011 +# +# Test the xfs log reservation mechanism for leaks. Run an fsstress workload to +# include a variety of fs operations, freeze the filesystem and verify that +# there are no oustanding reservations against the log. +# +#----------------------------------------------------------------------- +# Copyright (c) 2014 Red Hat, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! + +# get standard environment, filters and checks +. ./common/rc + +_cleanup() +{ + killall -9 fsstress 2>/dev/null + wait + cd / + umount $SCRATCH_MNT 2>/dev/null + rm -f $tmp.* +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# Use the information exported by XFS to sysfs to determine whether the log has +# active reservations after a filesystem freeze. +_check_scratch_log_state() +{ + devname=`_short_dev $SCRATCH_DEV` + attrpath="/sys/fs/xfs/$devname/log" + + # freeze the fs to ensure data is synced and the log is flushed. this + # means no outstanding transactions, and thus no outstanding log + # reservations, should exist + xfs_freeze -f $SCRATCH_MNT + + # the log head is exported in basic blocks and the log grant heads in + # bytes. convert the log head to bytes for precise comparison + log_head_cycle=`awk -F : '{ print $1 }' $attrpath/log_head_lsn` + log_head_bytes=`awk -F : '{ print $2 }' $attrpath/log_head_lsn` + log_head_bytes=$((log_head_bytes * 512)) + + for attr in "reserve_grant_head" "write_grant_head"; do + cycle=`cat $attrpath/$attr | awk -F : '{ print $1 }'` + bytes=`cat $attrpath/$attr | awk -F : '{ print $2 }'` + + if [ $cycle != $log_head_cycle ] || + [ $bytes != $log_head_bytes ] + then + echo "$attr ($cycle:$bytes) does not match" \ + "log_head_lsn ($log_head_cycle:$log_head_bytes)," \ + "possible leak detected." + fi + done + + xfs_freeze -u $SCRATCH_MNT +} + +# real QA test starts here +_supported_fs xfs +_supported_os Linux + +_require_scratch +_require_freeze +_require_xfs_sysfs log + +rm -f $seqres.full + +echo "Silence is golden." + +_scratch_mkfs_xfs >> $seqres.full 2>&1 +_scratch_mount + +_check_scratch_log_state + +$FSSTRESS_PROG -d $SCRATCH_MNT/fsstress -n 9999999 -p 2 -S t \ + >> $seqres.full 2>&1 & + +iters=5 +while [ $iters -gt 0 ]; do + sleep 3 + _check_scratch_log_state + iters=$((iters - 1)) +done + +killall $FSSTRESS_PROG +wait + +umount $SCRATCH_MNT +_check_scratch_fs + +status=0 +exit diff --git a/tests/xfs/011.out b/tests/xfs/011.out new file mode 100644 index 0000000..6d75ef2 --- /dev/null +++ b/tests/xfs/011.out @@ -0,0 +1,2 @@ +QA output created by 011 +Silence is golden. diff --git a/tests/xfs/group b/tests/xfs/group index 19fd968..cfef69f 100644 --- a/tests/xfs/group +++ b/tests/xfs/group @@ -8,6 +8,7 @@ 008 rw ioctl auto quick 009 rw ioctl auto prealloc quick 010 auto quick repair +011 auto freeze log metadata quick 012 rw auto quick 013 auto metadata stress 016 rw auto quick -- 1.8.3.1 From sandeen@redhat.com Wed Jun 11 15:03:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1768B7F3F for ; Wed, 11 Jun 2014 15:03:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id CDEF38F8040 for ; Wed, 11 Jun 2014 13:02:58 -0700 (PDT) X-ASG-Debug-ID: 1402516974-04bdf0566619fc70001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id T8Ue0hriNbDPT6Yg for ; Wed, 11 Jun 2014 13:02:54 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5BK2s9t014992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 11 Jun 2014 16:02:54 -0400 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5BK2oeb007238 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 11 Jun 2014 16:02:51 -0400 Message-ID: <5398B5ED.6030703@redhat.com> Date: Wed, 11 Jun 2014 15:02:53 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: xfs-oss , Karel Zak Subject: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage X-Enigmail-Version: 1.6 X-ASG-Orig-Subj: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402516974 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 This is a straight cut and paste from the util-linux mount manpage to xfs.5. It's pretty much impossible for util-linux to keep up with every filesystem out there, and Karel has more than once expressed a wish that mount options move into fs-specific manpages. So, here we go. Signed-off-by: Eric Sandeen --- diff --git a/man/man5/xfs.5 b/man/man5/xfs.5 index 0f490f0..1729e38 100644 --- a/man/man5/xfs.5 +++ b/man/man5/xfs.5 @@ -1,6 +1,6 @@ .TH xfs 5 .SH NAME -xfs \- layout of the XFS filesystem +xfs \- layout and mount options for the XFS filesystem .SH DESCRIPTION An XFS filesystem can reside on a regular disk partition or on a logical volume. @@ -98,9 +98,205 @@ and by-handle (see .BR open_by_handle (3)) interfaces. .SH MOUNT OPTIONS -Refer to the +The following XFS-specific mount options may be used when mounting +an XFS filesystem. Other generic options may be used as well; refer to the .BR mount (8) -manual entry for descriptions of the individual XFS mount options. +manual page for more details. +.TP +.B allocsize=size +Sets the buffered I/O end-of-file preallocation size when +doing delayed allocation writeout. Valid values for this +option are page size (typically 4KiB) through to 1GiB, +inclusive, in power-of-2 increments. +.sp +The default behavior is for dynamic end-of-file +preallocation size, which uses a set of heuristics to +optimise the preallocation size based on the current +allocation patterns within the file and the access patterns +to the file. Specifying a fixed allocsize value turns off +the dynamic behavior. +.TP +.BR attr2 | noattr2 +The options enable/disable an "opportunistic" improvement to +be made in the way inline extended attributes are stored +on-disk. When the new form is used for the first time when +attr2 is selected (either when setting or removing extended +attributes) the on-disk superblock feature bit field will be +updated to reflect this format being in use. +.sp +The default behavior is determined by the on-disk feature +bit indicating that attr2 behavior is active. If either +mount option it set, then that becomes the new default used +by the filesystem. +.sp +CRC enabled filesystems always use the attr2 format, and so +will reject the noattr2 mount option if it is set. +.TP +.BR barrier | nobarrier +Enables/disables the use of block layer write barriers for +writes into the journal and for data integrity operations. +This allows for drive level write caching to be enabled, for +devices that support write barriers. +.TP +.BR discard | nodiscard +Enable/disable the issuing of commands to let the block +device reclaim space freed by the filesystem. This is +useful for SSD devices, thinly provisioned LUNs and virtual +machine images, but may have a performance impact. +.sp +Note: It is currently recommended that you use the fstrim +application to discard unused blocks rather than the discard +mount option because the performance impact of this option +is quite severe. +.TP +.BR grpid | bsdgroups | nogrpid | sysvgroups +These options define what group ID a newly created file +gets. When grpid is set, it takes the group ID of the +directory in which it is created; otherwise it takes the +fsgid of the current process, unless the directory has the +setgid bit set, in which case it takes the gid from the +parent directory, and also gets the setgid bit set if it is +a directory itself. +.TP +.B filestreams +Make the data allocator use the filestreams allocation mode +across the entire filesystem rather than just on directories +configured to use it. +.TP +.BR ikeep | noikeep +When ikeep is specified, XFS does not delete empty inode +clusters and keeps them around on disk. When noikeep is +specified, empty inode clusters are returned to the free +space pool. +.TP +.BR inode32 | inode64 +When inode32 is specified, it indicates that XFS limits +inode creation to locations which will not result in inode +numbers with more than 32 bits of significance. +.sp +When inode64 is specified, it indicates that XFS is allowed +to create inodes at any location in the filesystem, +including those which will result in inode numbers occupying +more than 32 bits of significance. +.sp +inode32 is provided for backwards compatibility with older +systems and applications, since 64 bits inode numbers might +cause problems for some applications that cannot handle +large inode numbers. If applications are in use which do +not handle inode numbers bigger than 32 bits, the inode32 +option should be specified. +.TP +.BR largeio | nolargeio +If "nolargeio" is specified, the optimal I/O reported in +st_blksize by stat(2) will be as small as possible to allow +user applications to avoid inefficient read/modify/write +I/O. This is typically the page size of the machine, as +this is the granularity of the page cache. +.sp +If "largeio" specified, a filesystem that was created with a +"swidth" specified will return the "swidth" value (in bytes) +in st_blksize. If the filesystem does not have a "swidth" +specified but does specify an "allocsize" then "allocsize" +(in bytes) will be returned instead. Otherwise the behavior +is the same as if "nolargeio" was specified. +.TP +.B logbufs=value +Set the number of in-memory log buffers. Valid numbers +range from 2\(en8 inclusive. +.sp +The default value is 8 buffers. +.sp +If the memory cost of 8 log buffers is too high on small +systems, then it may be reduced at some cost to performance +on metadata intensive workloads. The logbsize option below +controls the size of each buffer and so is also relevant to +this case. +.TP +.B logbsize=value +Set the size of each in-memory log buffer. The size may be +specified in bytes, or in kibibytes (KiB) with a "k" suffix. +Valid sizes for version 1 and version 2 logs are 16384 (value=16k) +and 32768 (value=32k). Valid sizes for version 2 logs also +include 65536 (value=64k), 131072 (value=128k) and 262144 (value=256k). The +logbsize must be an integer multiple of the log +stripe unit configured at mkfs time. +.sp +The default value for version 1 logs is 32768, while the +default value for version 2 logs is MAX(32768, log_sunit). +.TP +.BR logdev=device and rtdev=device +Use an external log (metadata journal) and/or real-time device. +An XFS filesystem has up to three parts: a data section, a log +section, and a real-time section. The real-time section is +optional, and the log section can be separate from the data +section or contained within it. +.TP +.B noalign +Data allocations will not be aligned at stripe unit +boundaries. This is only relevant to filesystems created +with non-zero data alignment parameters (sunit, swidth) by +mkfs. +.TP +.B norecovery +The filesystem will be mounted without running log recovery. +If the filesystem was not cleanly unmounted, it is likely to +be inconsistent when mounted in "norecovery" mode. +Some files or directories may not be accessible because of this. +Filesystems mounted "norecovery" must be mounted read-only or +the mount will fail. +.TP +.B nouuid +Don't check for double mounted file systems using the file +system uuid. This is useful to mount LVM snapshot volumes, +and often used in combination with "norecovery" for mounting +read-only snapshots. +.TP +.B noquota +Forcibly turns off all quota accounting and enforcement +within the filesystem. +.TP +.B uquota/usrquota/uqnoenforce/quota +User disk quota accounting enabled, and limits (optionally) +enforced. Refer to xfs_quota(8) for further details. +.TP +.B gquota/grpquota/gqnoenforce +Group disk quota accounting enabled and limits (optionally) +enforced. Refer to xfs_quota(8) for further details. +.TP +.B pquota/prjquota/pqnoenforce +Project disk quota accounting enabled and limits (optionally) +enforced. Refer to xfs_quota(8) for further details. +.TP +.BR sunit=value " and " swidth=value +Used to specify the stripe unit and width for a RAID device +or a stripe volume. "value" must be specified in 512-byte +block units. These options are only relevant to filesystems +that were created with non-zero data alignment parameters. +.sp +The sunit and swidth parameters specified must be compatible +with the existing filesystem alignment characteristics. In +general, that means the only valid changes to sunit are +increasing it by a power-of-2 multiple. Valid swidth values +are any integer multiple of a valid sunit value. +.sp +Typically the only time these mount options are necessary if +after an underlying RAID device has had it's geometry +modified, such as adding a new disk to a RAID5 lun and +reshaping it. +.TP +.B swalloc +Data allocations will be rounded up to stripe width boundaries +when the current end of file is being extended and the file +size is larger than the stripe width size. +.TP +.B wsync +When specified, all filesystem namespace operations are +executed synchronously. This ensures that when the namespace +operation (create, unlink, etc) completes, the change to the +namespace is on stable storage. This is useful in HA setups +where failover must not result in clients seeing +inconsistent namespace presentation during or after a +failover event. .SH SEE ALSO .BR xfsctl (3), .BR mount (8), From sandeen@sandeen.net Wed Jun 11 15:04:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id EE2F77F3F for ; Wed, 11 Jun 2014 15:04:27 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id E46E3304039 for ; Wed, 11 Jun 2014 13:04:27 -0700 (PDT) X-ASG-Debug-ID: 1402517063-04cbb00a0339b20001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id Il27zWDt221gmYRq for ; Wed, 11 Jun 2014 13:04:23 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id D086163D7D52; Wed, 11 Jun 2014 15:04:22 -0500 (CDT) Message-ID: <5398B649.6020600@sandeen.net> Date: Wed, 11 Jun 2014 15:04:25 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Eric Sandeen , xfs-oss , Karel Zak Subject: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage References: <5398B5ED.6030703@redhat.com> X-ASG-Orig-Subj: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage In-Reply-To: <5398B5ED.6030703@redhat.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402517063 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6568 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Not every pair of mount options indicated which was the default, so add those. Signed-off-by: Eric Sandeen --- diff --git a/man/man5/xfs.5 b/man/man5/xfs.5 index 1729e38..528d99c 100644 --- a/man/man5/xfs.5 +++ b/man/man5/xfs.5 @@ -137,6 +137,8 @@ Enables/disables the use of block layer write barriers for writes into the journal and for data integrity operations. This allows for drive level write caching to be enabled, for devices that support write barriers. +.sp +Barriers are enabled by default. .TP .BR discard | nodiscard Enable/disable the issuing of commands to let the block @@ -147,7 +149,7 @@ machine images, but may have a performance impact. Note: It is currently recommended that you use the fstrim application to discard unused blocks rather than the discard mount option because the performance impact of this option -is quite severe. +is quite severe. For this reason, nodiscard is the default. .TP .BR grpid | bsdgroups | nogrpid | sysvgroups These options define what group ID a newly created file @@ -167,7 +169,7 @@ configured to use it. When ikeep is specified, XFS does not delete empty inode clusters and keeps them around on disk. When noikeep is specified, empty inode clusters are returned to the free -space pool. +space pool. noikeep is the default. .TP .BR inode32 | inode64 When inode32 is specified, it indicates that XFS limits @@ -185,6 +187,8 @@ cause problems for some applications that cannot handle large inode numbers. If applications are in use which do not handle inode numbers bigger than 32 bits, the inode32 option should be specified. +.sp +For kernel v3.7 and later, inode64 is the default. .TP .BR largeio | nolargeio If "nolargeio" is specified, the optimal I/O reported in @@ -198,7 +202,8 @@ If "largeio" specified, a filesystem that was created with a in st_blksize. If the filesystem does not have a "swidth" specified but does specify an "allocsize" then "allocsize" (in bytes) will be returned instead. Otherwise the behavior -is the same as if "nolargeio" was specified. +is the same as if "nolargeio" was specified. nolargeio +is the default. .TP .B logbufs=value Set the number of in-memory log buffers. Valid numbers From david@fromorbit.com Wed Jun 11 18:07:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D13407F3F for ; Wed, 11 Jun 2014 18:07:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7C12CAC006 for ; Wed, 11 Jun 2014 16:07:13 -0700 (PDT) X-ASG-Debug-ID: 1402528030-04bdf056661a5d70001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id HjnXTbC9klu2lUZh for ; Wed, 11 Jun 2014 16:07:10 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgZEADDgmFN5LC2vPGdsb2JhbABaDoJ/iE6jLAEBAQEBAQaZGwGBBhcEAQEBATg1hAMBAQQBOhwjBQsIAxgJDBkPBSUDBxoTiDoH0EoXFoVGiCYKTQcKhDcEhGMCdpRSjSmJH1IrgTE Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 12 Jun 2014 08:37:09 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wurbm-0003Sf-HJ; Thu, 12 Jun 2014 09:07:06 +1000 Date: Thu, 12 Jun 2014 09:07:06 +1000 From: Dave Chinner To: John Desantis Cc: xfs@oss.sgi.com Subject: Re: (Un)known issue with XFS group quotas on LVM? Message-ID: <20140611230706.GL9508@dastard> X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402528030 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6572 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 11, 2014 at 11:43:09AM -0400, John Desantis wrote: > Hello list! > > A big "thanks!" to all XFS developers for a great product. > > Now, to the point! > > We're using an XFS file system created on an LVM with a standard > kernel (2.6.32-431.3.1). RHEL kernel? If so, you probably want to report it to your support contact to see if it's a known issue with a fix/workaround..... > We're using quotas without an issue, with > the exception of the group quota. It seems that group quotas are > ignored at times, at least from our configuration (we use remote user > and group look-ups and authentication). I've only been able to get > root running sudo -g dd.. to create a group file which reflects > changes in the group quota limit. That doesn't sound like a filesystem problem. Sounds more like the remote user/group configuration is getting squashed. Do the systems have the same user/group configurations, or are the clients sending group IDs the server doesn't recognise? As it is, describing the problem in text doesn't tell me anything about the problem. You need to cut-n-paste the CLI and the output showing the incorrect behaviour so we can attempt to reproduce the same behaviour you are seeing. > We've mounted the file system in question with both user and group > quotas enabled; I didn't see anywhere in the man page that said this > isn't possible, although I did see where group and project quotas > cannot be used simultaneously on the same file system. > > Has anyone experienced this behavior before? I feel that I did some > pretty good searching in the archives, Google, and the BugZilla page, > but there were no "real" results which seemed to describe the same > issue we're facing. Strace didn't provide any clues either. I don't > think it's a sync issue because I've allowed a few days to pass in > between "test" runs. > > I've tested the quota by: > > 1.) Using sudo -u user -g group dd.... on both the exported file > system and its mount path on the server itself. > 2.) Using sudo -u user -g group dd.. on the client and the file > system's mount path. > 3.) Using sudo -g group dd... on both the exported file system and > its mount path on the server itself; this method produces expected > results. > 4.) Using sudo -g group dd.. on the client and the file system's > mount path; this method also produces expected results. > > Items #1 and #2 produce the error. I can't see how that is related to the filesystem - the filesystem will either account for group quota usage or it won't. It doesn't care what primary gid the process uses, it will simply account usage to that... > I just wanted to ping the list before creating a local testing group > to see if it's an issue with remote group look-ups. Quite possibly that's a problem when generating quota reports, but again that's a userspace problem, not a filesystem quota accounting issue... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 11 18:15:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 049347F3F for ; Wed, 11 Jun 2014 18:15:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E66A48F8040 for ; Wed, 11 Jun 2014 16:15:36 -0700 (PDT) X-ASG-Debug-ID: 1402528531-04cbb00a023fff0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id TO1JvSMgooyntNJr for ; Wed, 11 Jun 2014 16:15:31 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgREAIbimFN5LC2vPGdsb2JhbABagw2ITqMsAQEBAQEBBpkbAYEGFwQBAQEBODWEAwEBBAE6HCMFCwgDGAklDwUlAwcaE4g6B9BPFxaFRoh9B4RBAQOaLZcaKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 12 Jun 2014 08:45:10 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WurjZ-0003U4-HQ; Thu, 12 Jun 2014 09:15:09 +1000 Date: Thu, 12 Jun 2014 09:15:09 +1000 From: Dave Chinner To: Eric Sandeen Cc: xfs-oss , Karel Zak Subject: Re: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage Message-ID: <20140611231509.GM9508@dastard> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage References: <5398B5ED.6030703@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5398B5ED.6030703@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402528531 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6572 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 11, 2014 at 03:02:53PM -0500, Eric Sandeen wrote: > This is a straight cut and paste from the util-linux > mount manpage to xfs.5. Which is pretty much a straight cut and paste from the kernel Documentation/filesystems/xfs.txt file.... > > It's pretty much impossible for util-linux to keep up > with every filesystem out there, and Karel has more than > once expressed a wish that mount options move into fs-specific > manpages. As have I. ;) > So, here we go. > > Signed-off-by: Eric Sandeen A quick read of the source looks fine. I'll apply it and review the produced output later today.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 11 18:16:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 5CC1C7F3F for ; Wed, 11 Jun 2014 18:16:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4CA68304051 for ; Wed, 11 Jun 2014 16:16:30 -0700 (PDT) X-ASG-Debug-ID: 1402528588-04cbb00a0440070001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id 0KEZzDh2MEMWy80e for ; Wed, 11 Jun 2014 16:16:28 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgJEAIbimFN5LC2vPGdsb2JhbABagw2ITqMsAQEBAQEBBpkbAYEGFwQBAQEBODWEAwEBBTocIxAIAxgJJQ8FJQMHGhOIQdBPFxaFRoh9B4RBAQOaLZcaKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 12 Jun 2014 08:46:05 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WurkS-0003UF-8K; Thu, 12 Jun 2014 09:16:04 +1000 Date: Thu, 12 Jun 2014 09:16:04 +1000 From: Dave Chinner To: Eric Sandeen Cc: Eric Sandeen , xfs-oss , Karel Zak Subject: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage Message-ID: <20140611231604.GN9508@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage References: <5398B5ED.6030703@redhat.com> <5398B649.6020600@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5398B649.6020600@sandeen.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402528588 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6572 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 11, 2014 at 03:04:25PM -0500, Eric Sandeen wrote: > Not every pair of mount options indicated which was the > default, so add those. > > Signed-off-by: Eric Sandeen Seems fine, too. Cheers, Dave. -- Dave Chinner david@fromorbit.com From domenico.cifelli@unibas.it Wed Jun 11 20:05:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id CB4B47F3F for ; Wed, 11 Jun 2014 20:05:59 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id AD6A2304043 for ; Wed, 11 Jun 2014 18:05:59 -0700 (PDT) X-ASG-Debug-ID: 1402535154-04bdf056671a9210001-NocioJ Received: from smtp2.unibas.it (smtp2.unibas.it [193.204.16.180]) by cuda.sgi.com with ESMTP id PGrFhGWZSo48AqMz for ; Wed, 11 Jun 2014 18:05:54 -0700 (PDT) X-Barracuda-Envelope-From: domenico.cifelli@unibas.it X-Barracuda-Apparent-Source-IP: 193.204.16.180 Received: from smtp2.unibas.it (localhost.localdomain [127.0.0.1]) by localhost (Email Security Appliance) with SMTP id AE1B12939BD4_398FCC8B; Thu, 12 Jun 2014 01:05:12 +0000 (GMT) Received: from mta2.unibas.it (unknown [10.12.0.41]) by smtp2.unibas.it (Sophos Email Appliance) with ESMTP id 77A642938C10_398FCC5F; Thu, 12 Jun 2014 01:05:09 +0000 (GMT) Received: from store (store2.unibas.it [192.168.72.40]) by mta2.unibas.it (Postfix) with ESMTP id CB7EE5B3020F; Thu, 12 Jun 2014 03:05:04 +0200 (CEST) Date: Thu, 12 Jun 2014 03:05:04 +0200 (CEST) From: Gogna Reply-To: mrsgognamri@outlook.com Message-ID: <449153849.326169.1402535104809.JavaMail.root@unibas.it> Subject: Proposal. MIME-Version: 1.0 X-ASG-Orig-Subj: Proposal. Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.72.10] X-Mailer: Zimbra 7.2.6_GA_2926 (ZimbraWebClient - GC35 (Win)/7.2.6_GA_2926) To: undisclosed-recipients:; X-Barracuda-Connect: smtp2.unibas.it[193.204.16.180] X-Barracuda-Start-Time: 1402535154 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.70 X-Barracuda-Spam-Status: No, SCORE=0.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA620a, BSF_SC7_SA298e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6577 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.50 BSF_SC0_SA620a Custom Rule SA620a 0.20 BSF_SC7_SA298e Custom Rule SA298e I have a proposal for you. From dave@fromorbit.com Thu Jun 12 03:34:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B380E7F3F for ; Thu, 12 Jun 2014 03:34:17 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id A20CB8F8033 for ; Thu, 12 Jun 2014 01:34:14 -0700 (PDT) X-ASG-Debug-ID: 1402562051-04cb6c78c51b2320001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id U8wwuJeSrrJ8PSmu for ; Thu, 12 Jun 2014 01:34:11 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah1NAFNlmVN5LC2vPGdsb2JhbABagw2qdwEBAQEBAQaaKBcEAQEBATg1hAMBLS8WJRhqAwctiEGiJ69QhVyINoURBKVii3ArgTE Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 12 Jun 2014 18:04:10 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1Wv0SV-0004ej-Fc for xfs@oss.sgi.com; Thu, 12 Jun 2014 18:34:07 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1Wv0SV-000894-DW for xfs@oss.sgi.com; Thu, 12 Jun 2014 18:34:07 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH] [RFC] xfs: wire up aio_fsync method Date: Thu, 12 Jun 2014 18:34:07 +1000 X-ASG-Orig-Subj: [PATCH] [RFC] xfs: wire up aio_fsync method Message-Id: <1402562047-31276-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402562051 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6584 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e From: Dave Chinner We've had plenty of requests for an asynchronous fsync over the past few years, and we've got the infrastructure there to do it. But nobody has wired it up to test it. The common request we get from userspace storage applications is to do a post-write pass over a set of files that were just written (i.e. bulk background fsync) for point-in-time checkpointing or flushing purposes. So, just to see if I could brute force an effective implementation, wire up aio_fsync, add a workqueue and push all the fsync calls off to the workqueue. The workqueue will allow parallel dispatch, switch execution if a fsync blocks for any reason, etc. Brute force and very effective.... So, I hacked up fs_mark to enable fsync via the libaio io_fsync() interface to run some tests. The quick test is: - write 10000 4k files into the cache - run a post write open-fsync-close pass (sync mode 5) - run 5 iterations - run a single thread, then 4 threads. First I ran it on a 500TB sparse filesystem on a SSD. FSUse% Count Size Files/sec App Overhead 0 10000 4096 599.1 153855 0 20000 4096 739.2 151228 0 30000 4096 672.2 152937 0 40000 4096 719.9 150615 0 50000 4096 708.4 154889 real 1m13.121s user 0m0.825s sys 0m11.024s Runs at around 500 log forces a second and 1500 IOPS. Using io_fsync(): FSUse% Count Size Files/sec App Overhead 0 10000 4096 2700.5 130313 0 20000 4096 3938.8 133602 0 30000 4096 4608.7 107871 0 40000 4096 4768.4 82965 0 50000 4096 4615.0 89220 real 0m12.691s user 0m0.460s sys 0m7.389s Runs at around 4,000 log forces a second and 4500 IOPS. Massive reduction in runtime through parallel dispatch of the fsync calls. Run the same workload, 4 threads at a time. Normal fsync: FSUse% Count Size Files/sec App Overhead 0 40000 4096 2151.5 617010 0 80000 4096 1953.0 613470 0 120000 4096 1874.4 625027 0 160000 4096 1907.4 624319 0 200000 4096 1924.3 627567 real 1m42.243s user 0m3.552s sys 0m49.118s Runs at ~2000 log forces/s and 3,500 IOPS. Using io_fsync(): FSUse% Count Size Files/sec App Overhead 0 40000 4096 11518.9 427666 0 80000 4096 15668.8 401661 0 120000 4096 15607.0 382279 0 160000 4096 14935.0 399097 0 200000 4096 15198.6 413965 real 0m14.192s user 0m1.891s sys 0m30.136s Almost perfect scaling! ~15,000 log forces a second and ~20,000 IOPS. Now run the tests on a HW RAID0 of spinning disk: Threads files/s run time log force/s IOPS 1, fsync 800 1m 5.1s 800 1500 1, io_fsync 6000 8.4s 5000 5500 4, fsync 1800 1m47.1s 2200 3500 4, io_fsync 19000 10.3s 21000 26000 Pretty much the same results. Spinning disks don't scale much further. The SSD can go a bit higher, with 8 threads generating a consistent 24,000 files/s, but at that point we're starting to see non-linear system CPU usage (probably lock contention in the log). But, regardless, there's a massive potential for speed gains for applications that need to do bulk fsync operations and don't need to care about the IO latency of individual fsync operations.... Signed-off-by: Dave Chinner --- fs/xfs/xfs_file.c | 41 +++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_mount.h | 2 ++ fs/xfs/xfs_super.c | 9 +++++++++ 3 files changed, 52 insertions(+) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 077bcc8..9cdecee 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -45,6 +45,7 @@ #include static const struct vm_operations_struct xfs_file_vm_ops; +struct workqueue_struct *xfs_aio_fsync_wq; /* * Locking primitives for read and write IO paths to ensure we consistently use @@ -228,6 +229,45 @@ xfs_file_fsync( return error; } +struct xfs_afsync_args { + struct work_struct work; + struct kiocb *iocb; + struct file *file; + int datasync; +}; + +STATIC void +xfs_file_aio_fsync_work( + struct work_struct *work) +{ + struct xfs_afsync_args *args = container_of(work, + struct xfs_afsync_args, work); + int error; + + error = xfs_file_fsync(args->file, 0, -1LL, args->datasync); + aio_complete(args->iocb, error, 0); + kmem_free(args); +} + +STATIC int +xfs_file_aio_fsync( + struct kiocb *iocb, + int datasync) +{ + struct xfs_afsync_args *args; + + args = kmem_zalloc(sizeof(struct xfs_afsync_args), KM_SLEEP|KM_MAYFAIL); + if (!args) + return -ENOMEM; + + INIT_WORK(&args->work, xfs_file_aio_fsync_work); + args->iocb = iocb; + args->file = iocb->ki_filp; + args->datasync = datasync; + queue_work(xfs_aio_fsync_wq, &args->work); + return -EIOCBQUEUED; +} + STATIC ssize_t xfs_file_aio_read( struct kiocb *iocb, @@ -1475,6 +1515,7 @@ const struct file_operations xfs_file_operations = { .open = xfs_file_open, .release = xfs_file_release, .fsync = xfs_file_fsync, + .aio_fsync = xfs_file_aio_fsync, .fallocate = xfs_file_fallocate, }; diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 7295a0b..dfcf37b 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -390,6 +390,8 @@ extern int xfs_dev_is_read_only(struct xfs_mount *, char *); extern void xfs_set_low_space_thresholds(struct xfs_mount *); +extern struct workqueue_struct *xfs_aio_fsync_wq; + #endif /* __KERNEL__ */ #endif /* __XFS_MOUNT_H__ */ diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index f2e5f8a..86d4923 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1718,12 +1718,21 @@ xfs_init_workqueues(void) if (!xfs_alloc_wq) return -ENOMEM; + xfs_aio_fsync_wq = alloc_workqueue("xfsfsync", 0, 0); + if (!xfs_aio_fsync_wq) + goto destroy_alloc_wq; + return 0; + +destroy_alloc_wq: + destroy_workqueue(xfs_alloc_wq); + return -ENOMEM; } STATIC void xfs_destroy_workqueues(void) { + destroy_workqueue(xfs_aio_fsync_wq); destroy_workqueue(xfs_alloc_wq); } -- 2.0.0 From david@fromorbit.com Thu Jun 12 03:56:54 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 739877F3F for ; Thu, 12 Jun 2014 03:56:54 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5FDDF304048 for ; Thu, 12 Jun 2014 01:56:54 -0700 (PDT) X-ASG-Debug-ID: 1402563408-04cbb00a0450d40001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id w5crfZJw9uKcZo88 for ; Thu, 12 Jun 2014 01:56:49 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjtNAAZqmVN5LC2vPGdsb2JhbABagw2qdwEBAQEBAQaZHgGBCRcEAQEBATg1hAMBAQU6HCMQCBgMJQ8FJQMHLYhB0VYXFoVGiH8HhEEEmjGLMYtwKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 12 Jun 2014 18:26:46 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wv0oP-0004j3-Dg; Thu, 12 Jun 2014 18:56:45 +1000 Date: Thu, 12 Jun 2014 18:56:45 +1000 From: Dave Chinner To: xfs@oss.sgi.com Cc: rwheeler@redhat.com Subject: [PATCH] [RFC] fs_mark: add asynchronous fsync Message-ID: <20140612085645.GP9508@dastard> X-ASG-Orig-Subj: [PATCH] [RFC] fs_mark: add asynchronous fsync References: <1402562047-31276-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402562047-31276-1-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402563408 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6585 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner to be able to test the performance impact of asynchronous bulk fsync of newly created files, add an option to fsmark to be able to use libaio for dispatch and collection of fsync operations. This requires a filesystem that has wired up IO_CMD_FSYNC in the kernel. This is all a bit hacky, but it does wait for all fsyncs to complete. aio contexts have to be set up after the runner thread have been forked, so it's not really using a global iocb and event array as the code appears - there's one per child process doing work, and hence there's no need for locking or other fancy stuff. No attempt has been made to tune the number of AIOs allowed to be in flight, nor has there been any attempt to optimise the collection of completion events nor return errors if an fsync fails. It works well enough for testing the new XFS code and that's all I need from it. Signed-off-by: Dave Chinner --- a/fs_mark.c 2011-07-30 10:09:43.000000000 +1000 +++ b/fs_mark.c 2014-06-12 18:01:43.000000000 +1000 @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -68,6 +69,7 @@ "\t-S Sync Method (0:No Sync, 1:fsyncBeforeClose, " "2:sync/1_fsync, 3:PostReverseFsync, " "4:syncPostReverseFsync, 5:PostFsync, 6:syncPostFsync)\n", + "\t-A \n" "\t[-D number (of subdirectories)]\n", "\t[-N number (of files in each subdirectory in Round Robin mode)]\n", "\t[-d dir1 ... -d dirN]\n", "\t[-l log_file_name]\n", @@ -84,18 +86,101 @@ } /* + * aio for fsync + */ +#define MAX_AIO_EVENTS 1024 +io_context_t ctxp; +struct iocb *iocbs[MAX_AIO_EVENTS]; +struct io_event ioevents[MAX_AIO_EVENTS]; +int aio_next; +int aio_flight; + +void +init_aio_fsync(void) +{ + int i, r; + + memset(&ctxp, 0, sizeof(ctxp)); + r = io_setup(MAX_AIO_EVENTS, &ctxp); + if (r) { + printf("FAIL! io_setup returned %d\n", r); + cleanup_exit(); + } + for (i = 0; i < MAX_AIO_EVENTS; ++i) { + iocbs[i] = calloc(1, sizeof(struct iocb)); + if (iocbs[i] == NULL) { + printf("failed to allocate an iocb\n"); + cleanup_exit(); + } + } + +} + +void +get_fsync_completions(int threshold) +{ + int i, r; + + if (!(sync_method & FSYNC_ASYNC)) + return; + + while (aio_flight > threshold) { + /* gather up some completions */ + r = io_getevents(ctxp, 1, MAX_AIO_EVENTS, ioevents, NULL); + if (r < 0) { + printf("FAIL! io_getevents returned %d\n", r); + cleanup_exit(); + } + + aio_flight -= r; + for (i = 0; i < r; ++i) { + if (ioevents[i].res) + printf("FAIL! aio_fsync returned %d\n", + ioevents[i].res); + } + usleep(1000); + } +} + +int +do_fsync(int fd) +{ + int r, i; + + if (!(sync_method & FSYNC_ASYNC)) + return fsync(fd); + + + get_fsync_completions(MAX_AIO_EVENTS / 2); + + /* submit the fsync */ + i = aio_next++ % MAX_AIO_EVENTS; + aio_flight++; + r = io_fsync(ctxp, iocbs[i], NULL, fd); + if (r != 1) { + printf("FAIL! io_submit returned %d\n", r); + cleanup_exit(); + } + +} + +/* * Run through the specified arguments and make sure that they make sense. */ void process_args(int argc, char **argv, char **envp) { int ret; + int fsync_async = 0; /* * Parse all of the options that the user specified. */ while ((ret = - getopt(argc, argv, "vhkFr:S:N:D:d:l:L:n:p:s:t:w:")) != EOF) { + getopt(argc, argv, "AvhkFr:S:N:D:d:l:L:n:p:s:t:w:")) != EOF) { switch (ret) { + case 'A': + fsync_async++; + break; case 'v': /* verbose stats */ verbose_stats = 1; break; @@ -250,6 +335,8 @@ " for -N num_per_subdir to make sense\n"); usage(); } + if (fsync_async) + sync_method |= FSYNC_ASYNC; /* * We need at least one thread per specified directory. @@ -650,6 +737,8 @@ close_usec = max_close_usec = min_close_usec = 0ULL; unlink_usec = max_unlink_usec = min_unlink_usec = 0ULL; + init_aio_fsync(); + /* * MAIN FILE WRITE LOOP: * This loop measures the specific steps in creating files: @@ -714,7 +803,7 @@ if (sync_method & FSYNC_BEFORE_CLOSE) { start(0); - if (fsync(fd) == -1) { + if (do_fsync(fd) == -1) { fprintf(stderr, "fs_mark: fsync failed %s\n", strerror(errno)); cleanup_exit(); @@ -775,7 +864,7 @@ cleanup_exit(); } - if (fsync(fd) == -1) { + if (do_fsync(fd) == -1) { fprintf(stderr, "fs_mark: fsync failed %s\n", strerror(errno)); cleanup_exit(); @@ -813,7 +902,7 @@ cleanup_exit(); } - if (fsync(fd) == -1) { + if (do_fsync(fd) == -1) { fprintf(stderr, "fs_mark: fsync failed %s\n", strerror(errno)); cleanup_exit(); @@ -849,7 +938,7 @@ cleanup_exit(); } - if (fsync(fd) == -1) { + if (do_fsync(fd) == -1) { fprintf(stderr, "fs_mark: fsync failed %s\n", strerror(errno)); cleanup_exit(); @@ -859,6 +948,8 @@ fsync_usec += stop(0, 0); } + get_fsync_completions(0); + /* * Record the total time spent in the file writing loop - we ignore the time spent unlinking files */ @@ -1209,6 +1300,8 @@ fs_mark_version, num_threads, ctime(&time_run)); fprintf(log_fp, "#\tSync method: %s\n", sync_policy_string[sync_method_type]); + if (sync_method & FSYNC_ASYNC) + fprintf(log_fp, "#\tUsing aio_fsync\n"); if (num_subdirs > 1) { fprintf(log_fp, "#\tDirectories: %s across %d subdirectories with %d %s.\n", --- a/fs_mark.h 2011-07-30 10:09:43.000000000 +1000 +++ b/fs_mark.h 2014-06-12 18:01:43.000000000 +1000 @@ -70,6 +70,7 @@ #define FSYNC_FIRST_FILE (0x4) #define FSYNC_POST_REVERSE (0x8) #define FSYNC_POST_IN_ORDER (0x10) +#define FSYNC_ASYNC (0x20) #define SYNC_TEST_NONE (0) /* -S 0 */ From desantis@mail.usf.edu Thu Jun 12 09:04:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 0C5CE7F3F for ; Thu, 12 Jun 2014 09:04:36 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6F22CAC006 for ; Thu, 12 Jun 2014 07:04:32 -0700 (PDT) X-ASG-Debug-ID: 1402581870-04cb6c78c31bc360001-NocioJ Received: from mail-yh0-f42.google.com (mail-yh0-f42.google.com [209.85.213.42]) by cuda.sgi.com with ESMTP id ejed2PouDsPe87Dy (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 12 Jun 2014 07:04:30 -0700 (PDT) X-Barracuda-Envelope-From: desantis@mail.usf.edu X-Barracuda-Apparent-Source-IP: 209.85.213.42 Received: by mail-yh0-f42.google.com with SMTP id i57so997776yha.1 for ; Thu, 12 Jun 2014 07:04:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.usf.edu; s=googleapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=DzAyOTpIfY+JaRmTng2ePgQzKJgFm8X7BO2M45iJCfk=; b=JSq2dE/boTDLQdUczwX0CEwSCw4HZTh+Gvqsj1FBmFzP7QLZ0Fugd6YBZ8sbK5Le2y I2shxvTi9dTNGyqAykmnjPQrNSRslqxytVbCN8tNrYprfOtPXCVFl1hiLk6npzuhBg+U fweD624d5qh3EYaPVcb7K8/5w3UJqV1wcIiRI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=DzAyOTpIfY+JaRmTng2ePgQzKJgFm8X7BO2M45iJCfk=; b=h+E4cXsip3lrRwd+9zA9BMvw1VgTG/FeNwyqGsfPRRbvrOU5LP+vWTh/uSCGBbd7hp CKH2SiF48cdGKlMbtaeZT656wRJkf9fiUIxM4k3AlR0olUlvaC8P4LFPY6E/jj1y4mHV X9V1perATFlZDU8rhShLCNRAHLsiXI4hlc6Tr9YBNVScIwi5ThXPre+vqfD9xqfC3ojp klgJXrmFybcRZLp2kIQJ3DK1K/Y61M65fy6Z7H9y1g2PXCyrpZr6gFnYht7O+SXPpFmj qcdFDpZ1lX9KroTY8rKe9D/AvvAE9lC3LMSJNsOvtDPs+kGQ7u4QSFpvqnCvYusbGrRt GiMg== X-Gm-Message-State: ALoCoQnslZh5rksicb53PQimrhavpkq6s3inPwQ8MaxHncAfymBJGQuse8d5cB3DfN0Zw7ObZYye MIME-Version: 1.0 X-Received: by 10.236.133.178 with SMTP id q38mr16052365yhi.110.1402581870056; Thu, 12 Jun 2014 07:04:30 -0700 (PDT) Received: by 10.170.156.3 with HTTP; Thu, 12 Jun 2014 07:04:29 -0700 (PDT) In-Reply-To: <20140611230706.GL9508@dastard> References: <20140611230706.GL9508@dastard> Date: Thu, 12 Jun 2014 10:04:29 -0400 Message-ID: Subject: Re: (Un)known issue with XFS group quotas on LVM? From: John Desantis X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-yh0-f42.google.com[209.85.213.42] X-Barracuda-Start-Time: 1402581870 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6590 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Dave, Thanks for your reply. Let me address your questions and replies. > That doesn't sound like a filesystem problem. Sounds more like the > remote user/group configuration is getting squashed. Do the systems > have the same user/group configurations, or are the clients sending > group IDs the server doesn't recognise? Stracing shows that the group and user ID's are not being squashed and they are resolving each time to their respective UID/GID's. > As it is, describing the problem in text doesn't tell me anything > about the problem. You need to cut-n-paste the CLI and the output > showing the incorrect behaviour so we can attempt to reproduce the > same behaviour you are seeing. Busted. I figured before sending the usual gamut of console "action", I'd "save" time by simply presenting the symptoms. > I can't see how that is related to the filesystem - the filesystem > will either account for group quota usage or it won't. It doesn't > care what primary gid the process uses, it will simply account usage > to that... You're correct (but you already knew this!). I can tell you that running the quota report does show the group block count changing. It looks like this "issue" is my misunderstanding of how XFS is checking the quota. Perhaps you could shed some light? When you're using active user and group quotas on the same file system and the user quota is lower than the group quota, does XFS first check against the user quota and then the group quota? Is the order of operations user, group, and then project or does it depend on the mounting order of quotas? In the case I presented yesterday, the user in question had a quota of 25 GB, but the group had an unlimited quota. Each time that I used sudo -u user -g group or logged into the user's account, the quota was always exceeded. Now that I have removed the user's quota, the group quota is now being respected properly. Again, thank you! John DeSantis 2014-06-11 19:07 GMT-04:00 Dave Chinner : > On Wed, Jun 11, 2014 at 11:43:09AM -0400, John Desantis wrote: >> Hello list! >> >> A big "thanks!" to all XFS developers for a great product. >> >> Now, to the point! >> >> We're using an XFS file system created on an LVM with a standard >> kernel (2.6.32-431.3.1). > > RHEL kernel? If so, you probably want to report it to your support > contact to see if it's a known issue with a fix/workaround..... > >> We're using quotas without an issue, with >> the exception of the group quota. It seems that group quotas are >> ignored at times, at least from our configuration (we use remote user >> and group look-ups and authentication). I've only been able to get >> root running sudo -g dd.. to create a group file which reflects >> changes in the group quota limit. > > That doesn't sound like a filesystem problem. Sounds more like the > remote user/group configuration is getting squashed. Do the systems > have the same user/group configurations, or are the clients sending > group IDs the server doesn't recognise? > > As it is, describing the problem in text doesn't tell me anything > about the problem. You need to cut-n-paste the CLI and the output > showing the incorrect behaviour so we can attempt to reproduce the > same behaviour you are seeing. > >> We've mounted the file system in question with both user and group >> quotas enabled; I didn't see anywhere in the man page that said this >> isn't possible, although I did see where group and project quotas >> cannot be used simultaneously on the same file system. >> >> Has anyone experienced this behavior before? I feel that I did some >> pretty good searching in the archives, Google, and the BugZilla page, >> but there were no "real" results which seemed to describe the same >> issue we're facing. Strace didn't provide any clues either. I don't >> think it's a sync issue because I've allowed a few days to pass in >> between "test" runs. >> >> I've tested the quota by: >> >> 1.) Using sudo -u user -g group dd.... on both the exported file >> system and its mount path on the server itself. >> 2.) Using sudo -u user -g group dd.. on the client and the file >> system's mount path. >> 3.) Using sudo -g group dd... on both the exported file system and >> its mount path on the server itself; this method produces expected >> results. >> 4.) Using sudo -g group dd.. on the client and the file system's >> mount path; this method also produces expected results. >> >> Items #1 and #2 produce the error. > > I can't see how that is related to the filesystem - the filesystem > will either account for group quota usage or it won't. It doesn't > care what primary gid the process uses, it will simply account usage > to that... > >> I just wanted to ping the list before creating a local testing group >> to see if it's an issue with remote group look-ups. > > Quite possibly that's a problem when generating quota reports, but > again that's a userspace problem, not a filesystem quota accounting > issue... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From BATV+322d4736c8053cc0b2c4+3945+infradead.org+hch@bombadil.srs.infradead.org Thu Jun 12 09:13:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 222377F3F for ; Thu, 12 Jun 2014 09:13:32 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id ABB1DAC006 for ; Thu, 12 Jun 2014 07:13:31 -0700 (PDT) X-ASG-Debug-ID: 1402582409-04cbb00a035cbb0001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id pAg2FP1kA309magf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 12 Jun 2014 07:13:29 -0700 (PDT) X-Barracuda-Envelope-From: BATV+322d4736c8053cc0b2c4+3945+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1Wv5kv-00047t-6p; Thu, 12 Jun 2014 14:13:29 +0000 Date: Thu, 12 Jun 2014 07:13:29 -0700 From: Christoph Hellwig To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140612141329.GA11676@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402562047-31276-1-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1402582409 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6590 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS There doesn't really seem anything XFS specific here, so instead of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c based on the workqueue and ->fsync. From bfoster@redhat.com Thu Jun 12 10:05:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 1919F7F3F for ; Thu, 12 Jun 2014 10:05:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id EA2F6304048 for ; Thu, 12 Jun 2014 08:05:01 -0700 (PDT) X-ASG-Debug-ID: 1402585500-04cbb00a025f800001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id KkCALa5JXAV4U5PR for ; Thu, 12 Jun 2014 08:05:00 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5CF50EW008535 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 12 Jun 2014 11:05:00 -0400 Received: from laptop.bfoster (vpn-53-30.rdu2.redhat.com [10.10.53.30]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5CF4xk3002953; Thu, 12 Jun 2014 11:05:00 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 79573120AC0; Thu, 12 Jun 2014 11:00:02 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s5CF01el003379; Thu, 12 Jun 2014 11:00:01 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Thu, 12 Jun 2014 11:00:01 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs-oss Subject: Re: [PATCH] xfs: don't send null bp to xfs_trans_brelse() Message-ID: <20140612150000.GA3148@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: don't send null bp to xfs_trans_brelse() References: <53978301.3050105@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53978301.3050105@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402585500 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Tue, Jun 10, 2014 at 05:13:21PM -0500, Eric Sandeen wrote: > In this case, if bp is null, error is set, and we send > bp to xfs_trans_brelse, which will try to dereference it. > > Test whether we actualy have a buffer before we try to > free it. > > Coverity spotted this. > > Signed-off-by: Eric Sandeen > --- Reviewed-by: Brian Foster > > diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c > index 6cc5f67..41f7a42 100644 > --- a/fs/xfs/xfs_da_btree.c > +++ b/fs/xfs/xfs_da_btree.c > @@ -2571,7 +2571,8 @@ xfs_da_get_buf( > mapp, nmap, 0); > error = bp ? bp->b_error : XFS_ERROR(EIO); > if (error) { > - xfs_trans_brelse(trans, bp); > + if (bp) > + xfs_trans_brelse(trans, bp); > goto out_free; > } > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Thu Jun 12 10:30:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DEC117F3F for ; Thu, 12 Jun 2014 10:30:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 65614AC002 for ; Thu, 12 Jun 2014 08:30:01 -0700 (PDT) X-ASG-Debug-ID: 1402586999-04cbb00a03612c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 9BDX7pSybltbqs3P for ; Thu, 12 Jun 2014 08:30:00 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5CFTwaL004348 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Jun 2014 11:29:58 -0400 Received: from laptop.bfoster (vpn-53-30.rdu2.redhat.com [10.10.53.30]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5CFTvTv018675; Thu, 12 Jun 2014 11:29:57 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 1794A120AC0; Thu, 12 Jun 2014 11:25:00 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s5CFOxGE003622; Thu, 12 Jun 2014 11:24:59 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Thu, 12 Jun 2014 11:24:58 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140612152458.GB3148@laptop.bfoster> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402562047-31276-1-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402586999 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 12, 2014 at 06:34:07PM +1000, Dave Chinner wrote: > From: Dave Chinner > > We've had plenty of requests for an asynchronous fsync over the past > few years, and we've got the infrastructure there to do it. But > nobody has wired it up to test it. The common request we get from > userspace storage applications is to do a post-write pass over a set > of files that were just written (i.e. bulk background fsync) for > point-in-time checkpointing or flushing purposes. > > So, just to see if I could brute force an effective implementation, > wire up aio_fsync, add a workqueue and push all the fsync calls off > to the workqueue. The workqueue will allow parallel dispatch, switch > execution if a fsync blocks for any reason, etc. Brute force and > very effective.... > > So, I hacked up fs_mark to enable fsync via the libaio io_fsync() > interface to run some tests. The quick test is: > > - write 10000 4k files into the cache > - run a post write open-fsync-close pass (sync mode 5) > - run 5 iterations > - run a single thread, then 4 threads. > > First I ran it on a 500TB sparse filesystem on a SSD. > > FSUse% Count Size Files/sec App Overhead > 0 10000 4096 599.1 153855 > 0 20000 4096 739.2 151228 > 0 30000 4096 672.2 152937 > 0 40000 4096 719.9 150615 > 0 50000 4096 708.4 154889 > > real 1m13.121s > user 0m0.825s > sys 0m11.024s > > Runs at around 500 log forces a second and 1500 IOPS. > > Using io_fsync(): > > FSUse% Count Size Files/sec App Overhead > 0 10000 4096 2700.5 130313 > 0 20000 4096 3938.8 133602 > 0 30000 4096 4608.7 107871 > 0 40000 4096 4768.4 82965 > 0 50000 4096 4615.0 89220 > > real 0m12.691s > user 0m0.460s > sys 0m7.389s > > Runs at around 4,000 log forces a second and 4500 IOPS. Massive > reduction in runtime through parallel dispatch of the fsync calls. > > Run the same workload, 4 threads at a time. Normal fsync: > > FSUse% Count Size Files/sec App Overhead > 0 40000 4096 2151.5 617010 > 0 80000 4096 1953.0 613470 > 0 120000 4096 1874.4 625027 > 0 160000 4096 1907.4 624319 > 0 200000 4096 1924.3 627567 > > real 1m42.243s > user 0m3.552s > sys 0m49.118s > > Runs at ~2000 log forces/s and 3,500 IOPS. > > Using io_fsync(): > > FSUse% Count Size Files/sec App Overhead > 0 40000 4096 11518.9 427666 > 0 80000 4096 15668.8 401661 > 0 120000 4096 15607.0 382279 > 0 160000 4096 14935.0 399097 > 0 200000 4096 15198.6 413965 > > real 0m14.192s > user 0m1.891s > sys 0m30.136s > > Almost perfect scaling! ~15,000 log forces a second and ~20,000 IOPS. > > Now run the tests on a HW RAID0 of spinning disk: > > Threads files/s run time log force/s IOPS > 1, fsync 800 1m 5.1s 800 1500 > 1, io_fsync 6000 8.4s 5000 5500 > 4, fsync 1800 1m47.1s 2200 3500 > 4, io_fsync 19000 10.3s 21000 26000 > > Pretty much the same results. Spinning disks don't scale much > further. The SSD can go a bit higher, with 8 threads generating > a consistent 24,000 files/s, but at that point we're starting to see > non-linear system CPU usage (probably lock contention in the log). > > But, regardless, there's a massive potential for speed gains for > applications that need to do bulk fsync operations and don't need to > care about the IO latency of individual fsync operations.... > > Signed-off-by: Dave Chinner > --- That looks great. This is something that could be quite beneficial to glusterfs, as a real world example. The replication mechanism does an xattr dance across servers and required addition of fsync's into the algorithm to ensure correctness in the case of failures. This had a notable impact on performance. We thought a bit about hooking up aio_fsync(), but more along the lines of waiting for the log to force rather than forcing it explicitly, but didn't really go anywhere with it. I didn't consider we'd get such a benefit from simply dropping it into a workqueue. :) I do like Christoph's idea... perhaps create a generic_file_aio_fsync() or some such? Brian > fs/xfs/xfs_file.c | 41 +++++++++++++++++++++++++++++++++++++++++ > fs/xfs/xfs_mount.h | 2 ++ > fs/xfs/xfs_super.c | 9 +++++++++ > 3 files changed, 52 insertions(+) > > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index 077bcc8..9cdecee 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -45,6 +45,7 @@ > #include > > static const struct vm_operations_struct xfs_file_vm_ops; > +struct workqueue_struct *xfs_aio_fsync_wq; > > /* > * Locking primitives for read and write IO paths to ensure we consistently use > @@ -228,6 +229,45 @@ xfs_file_fsync( > return error; > } > > +struct xfs_afsync_args { > + struct work_struct work; > + struct kiocb *iocb; > + struct file *file; > + int datasync; > +}; > + > +STATIC void > +xfs_file_aio_fsync_work( > + struct work_struct *work) > +{ > + struct xfs_afsync_args *args = container_of(work, > + struct xfs_afsync_args, work); > + int error; > + > + error = xfs_file_fsync(args->file, 0, -1LL, args->datasync); > + aio_complete(args->iocb, error, 0); > + kmem_free(args); > +} > + > +STATIC int > +xfs_file_aio_fsync( > + struct kiocb *iocb, > + int datasync) > +{ > + struct xfs_afsync_args *args; > + > + args = kmem_zalloc(sizeof(struct xfs_afsync_args), KM_SLEEP|KM_MAYFAIL); > + if (!args) > + return -ENOMEM; > + > + INIT_WORK(&args->work, xfs_file_aio_fsync_work); > + args->iocb = iocb; > + args->file = iocb->ki_filp; > + args->datasync = datasync; > + queue_work(xfs_aio_fsync_wq, &args->work); > + return -EIOCBQUEUED; > +} > + > STATIC ssize_t > xfs_file_aio_read( > struct kiocb *iocb, > @@ -1475,6 +1515,7 @@ const struct file_operations xfs_file_operations = { > .open = xfs_file_open, > .release = xfs_file_release, > .fsync = xfs_file_fsync, > + .aio_fsync = xfs_file_aio_fsync, > .fallocate = xfs_file_fallocate, > }; > > diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h > index 7295a0b..dfcf37b 100644 > --- a/fs/xfs/xfs_mount.h > +++ b/fs/xfs/xfs_mount.h > @@ -390,6 +390,8 @@ extern int xfs_dev_is_read_only(struct xfs_mount *, char *); > > extern void xfs_set_low_space_thresholds(struct xfs_mount *); > > +extern struct workqueue_struct *xfs_aio_fsync_wq; > + > #endif /* __KERNEL__ */ > > #endif /* __XFS_MOUNT_H__ */ > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > index f2e5f8a..86d4923 100644 > --- a/fs/xfs/xfs_super.c > +++ b/fs/xfs/xfs_super.c > @@ -1718,12 +1718,21 @@ xfs_init_workqueues(void) > if (!xfs_alloc_wq) > return -ENOMEM; > > + xfs_aio_fsync_wq = alloc_workqueue("xfsfsync", 0, 0); > + if (!xfs_aio_fsync_wq) > + goto destroy_alloc_wq; > + > return 0; > + > +destroy_alloc_wq: > + destroy_workqueue(xfs_alloc_wq); > + return -ENOMEM; > } > > STATIC void > xfs_destroy_workqueues(void) > { > + destroy_workqueue(xfs_aio_fsync_wq); > destroy_workqueue(xfs_alloc_wq); > } > > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From climmural@gmail.com Thu Jun 12 10:32:46 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EBB767F3F for ; Thu, 12 Jun 2014 10:32:46 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D5E908F8039 for ; Thu, 12 Jun 2014 08:32:43 -0700 (PDT) X-ASG-Debug-ID: 1402587156-04cbb00a0461470001-NocioJ Received: from [139.170.11.116] ([139.170.11.116]) by cuda.sgi.com with SMTP id pD3Ah7adK4LTh2xp for ; Thu, 12 Jun 2014 08:32:38 -0700 (PDT) X-Barracuda-Envelope-From: climmural@gmail.com X-Barracuda-Apparent-Source-IP: 139.170.11.116 Reply-To: climmural@gmail.com From: climmural@gmail.com To: xfs@oss.sgi.com Subject: Sender: climmural@gmail.com X-ASG-Orig-Subj: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="= Multipart Boundary 0612142320" Date: Thu, 12 Jun 2014 23:20:39 +0800 X-Barracuda-Connect: UNKNOWN[139.170.11.116] X-Barracuda-Start-Time: 1402587156 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-BRTS-Evidence: 0314f980ab2a6f27d8a0abd4497f9293-723-txt X-Barracuda-Spam-Score: 2.14 X-Barracuda-Spam-Status: No, SCORE=2.14 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, MIME_MISSING_BOUNDARY, MISSING_MID, MISSING_SUBJECT, MISSING_SUBJECT_2, NO_REAL_NAME, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6592 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 NO_REAL_NAME From: does not include a real name 0.10 MIME_MISSING_BOUNDARY RAW: MIME section missing boundary 0.01 MISSING_SUBJECT Missing Subject: header 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 1.28 MISSING_SUBJECT_2 Missing Subject: header 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Message-Id: <20140612153243.BE36A106C7BE@cuda.sgi.com> This is a multipart MIME message. --= Multipart Boundary 0612142320 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Climatisation Murale N’attendez pas la canicule. Climatiseurs muraux 9000 à 18000 BTU muni de compresseur Toshiba garanti 5 ans À partir de 1295$ installation comprise Prix imbattables sur produits de marque Napoléon Climatisation Déshumidification Chauffage jusqu'à - 15 Celsius (avec arrêt automatique) DC Inverter Compresseur Toshiba garantie 6 ans complète Appareil certifié Energy Star Éligible à une subvention de 650$ Appareil haut de gamme à prix imbattables 12 000 BTU à partir de 2195$ installation incluse Contactez-nous Frigor / Groupe Senick RBQ: 8355-1929-45 Service rapide et professionnel Réservez maintenant 514 792 6461 450 441 1235 1 800 678 1673 From bfoster@redhat.com Thu Jun 12 15:02:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C17AC29DF8 for ; Thu, 12 Jun 2014 15:02:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2F68FAC009 for ; Thu, 12 Jun 2014 13:01:56 -0700 (PDT) X-ASG-Debug-ID: 1402603305-04cbb00a036da10001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id QYwVRngxvEYKpvw5 for ; Thu, 12 Jun 2014 13:01:45 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5CK1iB6030475 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Jun 2014 16:01:44 -0400 Received: from laptop.bfoster (vpn-53-30.rdu2.redhat.com [10.10.53.30]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5CK1hCe001000; Thu, 12 Jun 2014 16:01:43 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 01B60120AC0; Thu, 12 Jun 2014 16:01:42 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s5CK1grU007852; Thu, 12 Jun 2014 16:01:42 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Thu, 12 Jun 2014 16:01:41 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [DISCUSS] Planning for new dev cycle (3.17) Message-ID: <20140612200139.GD3148@laptop.bfoster> X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17) References: <20140609223320.GE9508@dastard> <20140610115857.GC46344@bfoster.bfoster> <20140610214850.GH9508@dastard> <20140611091020.GO4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140611091020.GO4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402603305 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 11, 2014 at 07:10:20PM +1000, Dave Chinner wrote: > On Wed, Jun 11, 2014 at 07:48:50AM +1000, Dave Chinner wrote: > > On Tue, Jun 10, 2014 at 07:58:57AM -0400, Brian Foster wrote: > > > On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote: > > > > The issue is the negative error number patchset, and how to handle > > > > review and testing. The patchset is already 62 patches long and it > > > > converts roughly half the code base. It'll take me another couple of > > > > days to convert the rest of the code, and that will probably take > > > > another 60 patches. > > > > > > > > I understand that reviewing 100+ patches is going to be a pain, but > > > > each patch currently averages about +/- 10 lines. The current > > > > diffstat is: > > > > > > > > 37 files changed, 723 insertions(+), 722 deletions(-) > > > > > > > > And that will probably double, so it's still going to be a fair > > > > amount of change. > > > > > > Is there any sort of more coarse logical breakdown of this series, or do > > > we want/need to convert the entire codebase all at once? The individual > > > patches sound relatively small... is there a particular method at play > > > there? E.g., a patch per function? file? call chain? > > > > I'm doing it layer by layer, starting from the linux interface > > layers and working my way down. e.g. fs/xfs/xfs_file.c first, > > the fs/xfs/xfs_iops.c, and so on, and there are multiple patches per > > file for each (roughly) logical change. e.g. converting xfs_iops.c: > [...] > > I've decided that there really is too much unnecessary code churn > from this approach. I end up converting all the call sites to negate > the error sign, and then end up converting them back to the original > code some time later, leaving only the source of the errors with a > changed sign. > > So, I stopped doing that to see just what the brute force, change > source and conversions only, and I found with a few simple searches > I could identify all the locations that need changing. So, in a > couple of hours I churned out the patch that converted everything. > Still pretty large, even though it only changes error values and > conversion points. > > 67 files changed, 879 insertions(+), 884 deletions(-) > > Not sure how I could break this up - it really is an all-or-nothing > patch this Big Hammer approach.... > Yeah, now that I look at it, it's kind of hard to review as any other way as well. I've done some grepping and made a pass through all of the changes. I noticed some very minor things like not all of the comments being converted and some multi-line parameter lists going out of alignment, but I didn't bother to even make notes of those. I've gone through an xfstests run without any explosions as well. A couple general observations: - I assume the xfs_buf->b_error type change is intentional..? - Same for the change in value for the ASSERT(error <=0 && error >= -1000) assert in xfs_buf_ioerror (previously it used 64k). ... and I saw a few spots that looked like could still need conversion. A diff is inlined below. Brian ---8<--- diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c index e76f687..62db83a 100644 --- a/fs/xfs/xfs_attr_list.c +++ b/fs/xfs/xfs_attr_list.c @@ -648,6 +648,6 @@ xfs_attr_list( alist->al_offset[0] = context.bufsize; error = xfs_attr_list_int(&context); - ASSERT(error >= 0); + ASSERT(error <= 0); return error; } diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index 7207e9d..e65ea67 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -376,7 +376,7 @@ xfs_compat_attrlist_by_handle( goto out_dput; cursor = (attrlist_cursor_kern_t *)&al_hreq.pos; - error = -xfs_attr_list(XFS_I(dentry->d_inode), kbuf, al_hreq.buflen, + error = xfs_attr_list(XFS_I(dentry->d_inode), kbuf, al_hreq.buflen, al_hreq.flags, cursor); if (error) goto out_kfree; @@ -515,7 +515,7 @@ xfs_compat_fssetdm_by_handle( goto out; } - error = -xfs_set_dmattrs(XFS_I(dentry->d_inode), fsd.fsd_dmevmask, + error = xfs_set_dmattrs(XFS_I(dentry->d_inode), fsd.fsd_dmevmask, fsd.fsd_dmstate); out: From tore.larsen@dolphingeo.com Thu Jun 12 17:39:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=HTML_MESSAGE, HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E01C329DF8 for ; Thu, 12 Jun 2014 17:39:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 83ECF304048 for ; Thu, 12 Jun 2014 15:39:51 -0700 (PDT) X-ASG-Debug-ID: 1402612784-04bdf056671e6e50001-NocioJ Received: from mx1.dolphingeo.com (mx1.dolphingeo.com [82.134.93.210]) by cuda.sgi.com with ESMTP id 73cmoeu7Trt4du8B (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 12 Jun 2014 15:39:45 -0700 (PDT) X-Barracuda-Envelope-From: tore.larsen@dolphingeo.com X-Barracuda-Apparent-Source-IP: 82.134.93.210 Received: from bgo-ld04.int.dolphingeo.com (bgo-ld04.int.dolphingeo.com [10.200.34.43]) by mx1.dolphingeo.com with ESMTP id lGMLzyAN1KKo8zMb for ; Fri, 13 Jun 2014 00:39:43 +0200 (CEST) To: xfs@oss.sgi.com In-Reply-To: Expiry-Date: Importance: Normal Date: Fri, 13 Jun 2014 00:39:43 +0200 MIME-Version: 1.0 Subject: Re:xfs Digest, Vol 72, Issue 47 From: tore.larsen@dolphingeo.com X-ASG-Orig-Subj: Re:xfs Digest, Vol 72, Issue 47 X-Mailer: IBM Notes Traveler 9.0.1.0 Build 201401251817 Message-ID: X-MIMETrack: Itemize by Notes Server on BGO-LD05/DOLPHINGEO(Release 9.0.1|October 14, 2013) at 2014-06-13 00:39:43, Serialize by Router on BGO-LD04/DOLPHINGEO(Release 9.0.1|October 14, 2013) at 2014-06-13 00:39:43 MIME-Version: 1.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==IFJRGLKFGIR31783UHRUHIHD" X-Virus-Scanned: by bsmtpd at dolphingeo.com X-Barracuda-Connect: mx1.dolphingeo.com[82.134.93.210] X-Barracuda-Start-Time: 1402612785 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.05 X-Barracuda-Spam-Status: No, SCORE=1.05 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6604 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag --==IFJRGLKFGIR31783UHRUHIHD Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

1

Sendt fra Lotus Traveler



xfs-reque= st@oss.sgi.com --- xfs Digest, Vol 72, Issue 47 ---

"" <x= fs@oss.sgi.com>
Fra:"" <xfs-r= equest@oss.sgi.com>
Til
Dato:Tor, 12. Juni 2014 1= 7:32
Emnexfs Digest, Vol 72, Issue 47=


Send xfs mailing list submissions to
	xfs@oss.sgi.com

To subscribe or unsubscribe via the World Wide Web, visit
	http://oss.sgi.com/mailman/listinfo/xfs
or, via email, send a message with subject or body 'help' to
	xfs-request@oss.sgi.com

You can reach the person managing the list at
	xfs-owner@oss.sgi.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of xfs digest..."


Today's Topics:

   1. Re: (Un)known issue with XFS group quotas on LVM? (John Desantis)
   2. Re: [PATCH] [RFC] xfs: wire up aio=5Ffsync method
      (Christoph Hellwig)
   3. Re: [PATCH] xfs: don't send null bp to xfs=5Ftrans=5Fbrelse()
      (Brian Foster)
   4. Re: [PATCH] [RFC] xfs: wire up aio=5Ffsync method (Brian Foster)
   5.  (climmural@gmail.com)


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

Message: 1
Date: Thu, 12 Jun 2014 10:04:29 -0400
From: John Desantis <desantis@mail.usf.edu>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: (Un)known issue with XFS group quotas on LVM?
Message-ID:
	<CA+Bg6wdvZTYufmfK-U=5F6zwjKVDPVuQP=5F-Jwsqnh=3D1ayyB=5FEmEA@mail.gmail=
.com>
Content-Type: text/plain; charset=3DUTF-8

Dave,

Thanks for your reply.  Let me address your questions and replies.

> That doesn't sound like a filesystem problem. Sounds more like the
> remote user/group configuration is getting squashed. Do the systems
> have the same user/group configurations, or are the clients sending
> group IDs the server doesn't recognise?

Stracing shows that the group and user ID's are not being squashed and
they are resolving each time to their respective UID/GID's.

> As it is, describing the problem in text doesn't tell me anything
> about the problem. You need to cut-n-paste the CLI and the output
> showing the incorrect behaviour so we can attempt to reproduce the
> same behaviour you are seeing.

Busted.  I figured before sending the usual gamut of console "action&q=
uot;,
I'd "save" time by simply presenting the symptoms.

> I can't see how that is related to the filesystem - the filesystem
> will either account for group quota usage or it won't. It doesn't
> care what primary gid the process uses, it will simply account usage
> to that...

You're correct (but you already knew this!).  I can tell you that
running the quota report does show the group block count changing.

It looks like this "issue" is  my misunderstanding of how XFS is
checking the quota.  Perhaps you could shed some light?

When you're using active user and group quotas on the same file system
and the user quota is lower than the group quota, does XFS first check
against the user quota and then the group quota?  Is the order of
operations user, group, and then project or does it depend on the
mounting order of quotas?

In the case I presented yesterday, the user in question had a quota of
25 GB, but the group had an unlimited quota.  Each time that I used
sudo -u user -g group or logged into the user's account, the quota was
always exceeded.  Now that I have removed the user's quota, the group
quota is now being respected properly.

Again, thank you!

John DeSantis


2014-06-11 19:07 GMT-04:00 Dave Chinner <david@fromorbit.com>:
> On Wed, Jun 11, 2014 at 11:43:09AM -0400, John Desantis wrote:
>> Hello list!
>>
>> A big "thanks!" to all XFS developers for a great produc=
t.
>>
>> Now, to the point!
>>
>> We're using an XFS file system created on an LVM with a standard
>> kernel (2.6.32-431.3.1).
>
> RHEL kernel? If so, you probably want to report it to your support
> contact to see if it's a known issue with a fix/workaround.....
>
>> We're using quotas without an issue, with
>> the exception of the group quota.  It seems that group quotas are
>> ignored at times, at least from our configuration (we use remote u=
ser
>> and group look-ups and authentication).  I've only been able to get
>> root running sudo -g dd.. to create a group file which reflects
>> changes in the group quota limit.
>
> That doesn't sound like a filesystem problem. Sounds more like the
> remote user/group configuration is getting squashed. Do the systems
> have the same user/group configurations, or are the clients sending
> group IDs the server doesn't recognise?
>
> As it is, describing the problem in text doesn't tell me anything
> about the problem. You need to cut-n-paste the CLI and the output
> showing the incorrect behaviour so we can attempt to reproduce the
> same behaviour you are seeing.
>
>> We've mounted the file system in question with both user and group
>> quotas enabled;  I didn't see anywhere in the man page that s-Data=
ene dine er avkortet.

--==IFJRGLKFGIR31783UHRUHIHD--

From david@fromorbit.com  Thu Jun 12 18:29:07 2014
Return-Path: 
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
	version=3.3.1
X-Original-To: xfs@oss.sgi.com
Delivered-To: xfs@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
	by oss.sgi.com (Postfix) with ESMTP id 01DFE7F47
	for ; Thu, 12 Jun 2014 18:29:07 -0500 (CDT)
Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15])
	by relay2.corp.sgi.com (Postfix) with ESMTP id CEE02304039
	for ; Thu, 12 Jun 2014 16:29:03 -0700 (PDT)
X-ASG-Debug-ID: 1402615740-04cb6c78c61d9130001-NocioJ
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id oOSIKEsg0lcTHtLr for ; Thu, 12 Jun 2014 16:29:01 -0700 (PDT)
X-Barracuda-Envelope-From: david@fromorbit.com
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqcGANo2mlN5LC2v/2dsb2JhbABQCoMNg0anOQYGmR4BgQcXdYQDAQEEAScTHCMFCwgDDgoJJQ8FJQMhE4g6B9JMFxaFRogjXAeEQQSaMZNUg04r
Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175])
  by ipmail07.adl2.internode.on.net with ESMTP; 13 Jun 2014 08:59:00 +0930
Received: from dave by dastard with local (Exim 4.80)
	(envelope-from )
	id 1WvEQJ-0006x8-9R; Fri, 13 Jun 2014 09:28:47 +1000
Date: Fri, 13 Jun 2014 09:28:47 +1000
From: Dave Chinner 
To: Brian Foster 
Cc: xfs@oss.sgi.com
Subject: Re: [DISCUSS] Planning for new dev cycle (3.17)
Message-ID: <20140612232847.GS9508@dastard>
X-ASG-Orig-Subj: Re: [DISCUSS] Planning for new dev cycle (3.17)
References: <20140609223320.GE9508@dastard>
 <20140610115857.GC46344@bfoster.bfoster>
 <20140610214850.GH9508@dastard>
 <20140611091020.GO4453@dastard>
 <20140612200139.GD3148@laptop.bfoster>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20140612200139.GD3148@laptop.bfoster>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1402615740
X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6606
	Rule breakdown below
	 pts rule name              description
	---- ---------------------- --------------------------------------------------

On Thu, Jun 12, 2014 at 04:01:41PM -0400, Brian Foster wrote:
> On Wed, Jun 11, 2014 at 07:10:20PM +1000, Dave Chinner wrote:
> > On Wed, Jun 11, 2014 at 07:48:50AM +1000, Dave Chinner wrote:
> > > On Tue, Jun 10, 2014 at 07:58:57AM -0400, Brian Foster wrote:
> > > > On Tue, Jun 10, 2014 at 08:33:20AM +1000, Dave Chinner wrote:
> > > > > The issue is the negative error number patchset, and how to handle
> > > > > review and testing. The patchset is already 62 patches long and it
> > > > > converts roughly half the code base. It'll take me another couple of
> > > > > days to convert the rest of the code, and that will probably take
> > > > > another 60 patches.
> > > > > 
> > > > > I understand that reviewing 100+ patches is going to be a pain, but
> > > > > each patch currently averages about +/- 10 lines. The current
> > > > > diffstat is:
> > > > > 
> > > > > 	37 files changed, 723 insertions(+), 722 deletions(-)
> > > > > 
> > > > > And that will probably double, so it's still going to be a fair
> > > > > amount of change.
> > > > 
> > > > Is there any sort of more coarse logical breakdown of this series, or do
> > > > we want/need to convert the entire codebase all at once? The individual
> > > > patches sound relatively small... is there a particular method at play
> > > > there? E.g., a patch per function? file? call chain?
> > > 
> > > I'm doing it layer by layer, starting from the linux interface
> > > layers and working my way down. e.g. fs/xfs/xfs_file.c first,
> > > the fs/xfs/xfs_iops.c, and so on, and there are multiple patches per
> > > file for each (roughly) logical change. e.g. converting xfs_iops.c:
> > [...]
> > 
> > I've decided that there really is too much unnecessary code churn
> > from this approach. I end up converting all the call sites to negate
> > the error sign, and then end up converting them back to the original
> > code some time later, leaving only the source of the errors with a
> > changed sign.
> > 
> > So, I stopped doing that to see just what the brute force, change
> > source and conversions only, and I found with a few simple searches
> > I could identify all the locations that need changing. So, in a
> > couple of hours I churned out the patch that converted everything.
> > Still pretty large, even though it only changes error values and
> > conversion points.
> > 
> > 67 files changed, 879 insertions(+), 884 deletions(-)
> > 
> > Not sure how I could break this up - it really is an all-or-nothing
> > patch this Big Hammer approach....
> > 
> 
> Yeah, now that I look at it, it's kind of hard to review as any other
> way as well. I've done some grepping and made a pass through all of the
> changes. I noticed some very minor things like not all of the comments
> being converted and some multi-line parameter lists going out of
> alignment, but I didn't bother to even make notes of those.
> 
> I've gone through an xfstests run without any explosions as well.
> 
> A couple general observations:
> 
> - I assume the xfs_buf->b_error type change is intentional..?

yes - it was an unsigned short, which is incompaitble with negative
integer values, and there is a 2 byte hole in the xfs_buf structure
after it, anyway....

> - Same for the change in value for the ASSERT(error <=0 && error >=
>   -1000) assert in xfs_buf_ioerror (previously it used 64k).

Right - it was checking to see if it fit in an unsigned short, while
now it checks for the valid "negative errno" range the kernel uses.

> ... and I saw a few spots that looked like could still need conversion.

No surprises there...

> A diff is inlined below.

Yup, I missed a couple. I'll fold them in to the patch. Thanks!

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

From david@fromorbit.com  Thu Jun 12 18:44:58 2014
Return-Path: 
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
	version=3.3.1
X-Original-To: xfs@oss.sgi.com
Delivered-To: xfs@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
	by oss.sgi.com (Postfix) with ESMTP id C40687F47
	for ; Thu, 12 Jun 2014 18:44:58 -0500 (CDT)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
	by relay1.corp.sgi.com (Postfix) with ESMTP id 911FB8F8035
	for ; Thu, 12 Jun 2014 16:44:58 -0700 (PDT)
X-ASG-Debug-ID: 1402616695-04bdf056681e9220001-NocioJ
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id AabPVRmp0D9szhHH for ; Thu, 12 Jun 2014 16:44:55 -0700 (PDT)
X-Barracuda-Envelope-From: david@fromorbit.com
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqcGACE6mlN5LC2v/2dsb2JhbABagw2DRqc6BgaZHgGBBhd1hAMBAQUnExwjEAgDDgoJJQ8FJQMhExuIJtJKFxaFRoh/B4RBBJoxizGII4NOKw
Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175])
  by ipmail07.adl2.internode.on.net with ESMTP; 13 Jun 2014 09:14:55 +0930
Received: from dave by dastard with local (Exim 4.80)
	(envelope-from )
	id 1WvEfh-00070x-R0; Fri, 13 Jun 2014 09:44:41 +1000
Date: Fri, 13 Jun 2014 09:44:41 +1000
From: Dave Chinner 
To: Christoph Hellwig 
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method
Message-ID: <20140612234441.GT9508@dastard>
X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method
References: <1402562047-31276-1-git-send-email-david@fromorbit.com>
 <20140612141329.GA11676@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20140612141329.GA11676@infradead.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1402616695
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6606
	Rule breakdown below
	 pts rule name              description
	---- ---------------------- --------------------------------------------------

On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote:
> There doesn't really seem anything XFS specific here, so instead
> of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c
> based on the workqueue and ->fsync.

I really don't know whether the other ->fsync methods in other
filesystems can stand alone like that. I also don't have the
time to test that it works properly on all filesystems right now.

Also, doing this implementation in fs/aio.c would mean we can't
optimise it to reduce things like log forces by splitting up the
work of concurrent fsyncs into a single log force of the highest
LSN of the batch of fsyncs being run. We also want to be able to do
"background fsync" where latency doesn't matter and we only want to
trickle them out rather than issue them as fast as we possibly can.

So I really don't see this as the infrastructure solution that
everyone uses. It could be made a generic method with the filesystem
passing the workqueue to use to generic_aio_fsync(), but for XFS I
see it turning into something much more complex and optimised...

Like I said, this is just a brute force proof of concept.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

From david@fromorbit.com  Thu Jun 12 18:57:30 2014
Return-Path: 
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
	version=3.3.1
X-Original-To: xfs@oss.sgi.com
Delivered-To: xfs@oss.sgi.com
Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15])
	by oss.sgi.com (Postfix) with ESMTP id DD0647F53
	for ; Thu, 12 Jun 2014 18:57:29 -0500 (CDT)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
	by relay3.corp.sgi.com (Postfix) with ESMTP id 58DB1AC008
	for ; Thu, 12 Jun 2014 16:57:26 -0700 (PDT)
X-ASG-Debug-ID: 1402617443-04cbb00a04775b0001-NocioJ
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id ESBcqRgwBUcLE042 for ; Thu, 12 Jun 2014 16:57:24 -0700 (PDT)
X-Barracuda-Envelope-From: david@fromorbit.com
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqcGAOk9mlN5LC2v/2dsb2JhbABagw2DRqc6BgaZHgGBBhd1hAMBAQQBOhwjBQsIAw4HAwklDwUlAyETG4gfB9JKFxaFRog2SQeEQQSaMYsxiCODTiuBMQ
Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175])
  by ipmail07.adl2.internode.on.net with ESMTP; 13 Jun 2014 09:27:23 +0930
Received: from dave by dastard with local (Exim 4.80)
	(envelope-from )
	id 1WvErm-00072t-9f; Fri, 13 Jun 2014 09:57:10 +1000
Date: Fri, 13 Jun 2014 09:57:10 +1000
From: Dave Chinner 
To: Brian Foster 
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method
Message-ID: <20140612235710.GU9508@dastard>
X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method
References: <1402562047-31276-1-git-send-email-david@fromorbit.com>
 <20140612152458.GB3148@laptop.bfoster>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20140612152458.GB3148@laptop.bfoster>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1402617443
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6607
	Rule breakdown below
	 pts rule name              description
	---- ---------------------- --------------------------------------------------

On Thu, Jun 12, 2014 at 11:24:58AM -0400, Brian Foster wrote:
> On Thu, Jun 12, 2014 at 06:34:07PM +1000, Dave Chinner wrote:
> > From: Dave Chinner 
> > 
> > We've had plenty of requests for an asynchronous fsync over the past
> > few years, and we've got the infrastructure there to do it. But
> > nobody has wired it up to test it. The common request we get from
> > userspace storage applications is to do a post-write pass over a set
> > of files that were just written (i.e. bulk background fsync) for
> > point-in-time checkpointing or flushing purposes.
> > 
> > So, just to see if I could brute force an effective implementation,
> > wire up aio_fsync, add a workqueue and push all the fsync calls off
> > to the workqueue. The workqueue will allow parallel dispatch, switch
> > execution if a fsync blocks for any reason, etc. Brute force and
> > very effective....
....
> That looks great. This is something that could be quite beneficial to
> glusterfs, as a real world example. The replication mechanism does an
> xattr dance across servers and required addition of fsync's into the
> algorithm to ensure correctness in the case of failures. This had a
> notable impact on performance.

*nod*

> We thought a bit about hooking up aio_fsync(), but more along the lines
> of waiting for the log to force rather than forcing it explicitly, but
> didn't really go anywhere with it. I didn't consider we'd get such a
> benefit from simply dropping it into a workqueue. :)

Neither did I. I was expecting a small performance increase, not a
4-5x improvement.  I'm quite surprised that the log sustained that
level of force operations, too, but it's quite inefficient because
we don't need to do all those log forces and they are causing lock
contention at higher thread counts.

> I do like Christoph's idea... perhaps create a generic_file_aio_fsync()
> or some such?

Perhaps, but XFS won't use it because I really want to optimise away
the majority of the redundant log forces before pushing this
further. This patch is a proof of concept for XFS, not a generic
solution for all filesystems.  That's not to say it can't be made a
generic solution, but that's a different story altogether, and
something that can happen after I've got XFS sorted out...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

From david@fromorbit.com  Thu Jun 12 19:02:02 2014
Return-Path: 
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham
	version=3.3.1
X-Original-To: xfs@oss.sgi.com
Delivered-To: xfs@oss.sgi.com
Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111])
	by oss.sgi.com (Postfix) with ESMTP id 6521E7F4E
	for ; Thu, 12 Jun 2014 19:02:02 -0500 (CDT)
Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25])
	by relay1.corp.sgi.com (Postfix) with ESMTP id 4AEA68F8035
	for ; Thu, 12 Jun 2014 17:01:59 -0700 (PDT)
X-ASG-Debug-ID: 1402617716-04cbb00a0377880001-NocioJ
Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id sCNEt8NVa3LFhuPj for ; Thu, 12 Jun 2014 17:01:56 -0700 (PDT)
X-Barracuda-Envelope-From: david@fromorbit.com
X-Barracuda-Apparent-Source-IP: 150.101.137.131
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqcGABM/mlN5LC2v/2dsb2JhbABaDoJ/g0anOgYGmR4BgQYXdYQDAQEEATocIwULCAMYCQwBGA8FJQMhE4g6B9JHFxaFRogeFE0HCggMhCMEliiECZNUgnxSK4ExCBc
Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175])
  by ipmail07.adl2.internode.on.net with ESMTP; 13 Jun 2014 09:31:51 +0930
Received: from dave by dastard with local (Exim 4.80)
	(envelope-from )
	id 1WvEw5-000742-Im; Fri, 13 Jun 2014 10:01:37 +1000
Date: Fri, 13 Jun 2014 10:01:37 +1000
From: Dave Chinner 
To: John Desantis 
Cc: xfs@oss.sgi.com
Subject: Re: (Un)known issue with XFS group quotas on LVM?
Message-ID: <20140613000137.GV9508@dastard>
X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM?
References: 
 <20140611230706.GL9508@dastard>
 
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: 
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131]
X-Barracuda-Start-Time: 1402617716
X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6607
	Rule breakdown below
	 pts rule name              description
	---- ---------------------- --------------------------------------------------

On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote:
> Dave,
> 
> Thanks for your reply.  Let me address your questions and replies.
> 
> > That doesn't sound like a filesystem problem. Sounds more like the
> > remote user/group configuration is getting squashed. Do the systems
> > have the same user/group configurations, or are the clients sending
> > group IDs the server doesn't recognise?
> 
> Stracing shows that the group and user ID's are not being squashed and
> they are resolving each time to their respective UID/GID's.
> 
> > As it is, describing the problem in text doesn't tell me anything
> > about the problem. You need to cut-n-paste the CLI and the output
> > showing the incorrect behaviour so we can attempt to reproduce the
> > same behaviour you are seeing.
> 
> Busted.  I figured before sending the usual gamut of console "action",
> I'd "save" time by simply presenting the symptoms.
> 
> > I can't see how that is related to the filesystem - the filesystem
> > will either account for group quota usage or it won't. It doesn't
> > care what primary gid the process uses, it will simply account usage
> > to that...
> 
> You're correct (but you already knew this!).  I can tell you that
> running the quota report does show the group block count changing.
> 
> It looks like this "issue" is  my misunderstanding of how XFS is
> checking the quota.  Perhaps you could shed some light?
> 
> When you're using active user and group quotas on the same file system
> and the user quota is lower than the group quota, does XFS first check
> against the user quota and then the group quota?  Is the order of
> operations user, group, and then project or does it depend on the
> mounting order of quotas?

Order doesn't matter because the filesystem is supposed to check
against all enforced quotas, not just the first one.

> In the case I presented yesterday, the user in question had a quota of
> 25 GB, but the group had an unlimited quota.  Each time that I used
> sudo -u user -g group or logged into the user's account, the quota was
> always exceeded.  Now that I have removed the user's quota, the group
> quota is now being respected properly.

Again, you need to post the commands and output that demonstrate the
problem you are describing. I'm having trouble understanding what
your problem is because I can't see the raw output that you are
seeing...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

From lalqhs@biz-offer3.ru  Thu Jun 12 20:29:32 2014
Return-Path: 
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,T_DKIM_INVALID
	autolearn=ham version=3.3.1
X-Original-To: xfs@oss.sgi.com
Delivered-To: xfs@oss.sgi.com
Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29])
	by oss.sgi.com (Postfix) with ESMTP id 3784A7F3F
	for ; Thu, 12 Jun 2014 20:29:32 -0500 (CDT)
Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11])
	by relay2.corp.sgi.com (Postfix) with ESMTP id DE2B8304032
	for ; Thu, 12 Jun 2014 18:29:28 -0700 (PDT)
X-ASG-Debug-ID: 1402622964-04bdf056661ed110001-NocioJ
Received: from biz-offer3.ru (biz-offer3.ru [37.9.53.7]) by cuda.sgi.com with SMTP id kCWrJs5BglSKIuGW for ; Thu, 12 Jun 2014 18:29:25 -0700 (PDT)
X-Barracuda-Envelope-From: lalqhs@biz-offer3.ru
X-Barracuda-Apparent-Source-IP: 37.9.53.7
Message-ID: 
From: =?windows-1251?B?z/Du5OLo5uXt6OU=?= 
To: 
Subject: =?windows-1251?B?0ODx8fvr6ugg5Ov/IMLg+OXj7iDz8e/l+O3u?=
	=?windows-1251?B?4+4g4ejn7eXx4CE=?=
Date: Fri, 13 Jun 2014 05:29:26 +0400
X-ASG-Orig-Subj: =?windows-1251?B?0ODx8fvr6ugg5Ov/IMLg+OXj7iDz8e/l+O3u?=
	=?windows-1251?B?4+4g4ejn7eXx4CE=?=
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0BEE_01CF86C8.710CA8F0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Windows Mail 6.0.6001.18416
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18645
DKIM-Signature: v=1; a=rsa-sha256; d=biz-offer3.ru; s=mail;
	c=relaxed/relaxed; t=1402622966;
	h=message-id:from:to:subject:date:mime-version;
	bh=+qp01ziE7cnr7MFauSExjljva8iGS+QjDyk/+mRqQxU=;
	b=WP1NDQH63GBMSow+rLvPyIYExbuBhawqQOLpQF/Rtml2i6XsuVWQDukOwhKJwt
	v2fW8lRtMwJOQiwEt5rz1k4ie/kUgGei/+Muf+rqAmdUr/nc6yTg2yHTgjPfif5p
	8mW/3hqFhF87ciBgSHbd7mSF3b7ILGoCro/n9w1BJpDzc=
X-Barracuda-Connect: biz-offer3.ru[37.9.53.7]
X-Barracuda-Start-Time: 1402622964
X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi
X-Virus-Scanned: by bsmtpd at sgi.com
X-Barracuda-BRTS-Status: 1
X-Barracuda-Spam-Score: 0.00
X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_TG035a, DKIM_SIGNED, HTML_MESSAGE
X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6608
	Rule breakdown below
	 pts rule name              description
	---- ---------------------- --------------------------------------------------
	0.00 DKIM_SIGNED            Domain Keys Identified Mail: message has a signature
	0.00 HTML_MESSAGE           BODY: HTML included in message
	0.00 BSF_SC0_TG035a         Message contains invalid style definition

This is a multi-part message in MIME format.

------=_NextPart_000_0BEE_01CF86C8.710CA8F0
Content-Type: text/plain;
	charset="windows-1251"
Content-Transfer-Encoding: quoted-printable

=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5! =C2=FB =E7=E0=ED=E8=EC=E0=E5=F2=E5=F1=
=FC =E1=E8=E7=ED=E5=F1=EE=EC =E8 =E2=E0=F8=E5=E9 =EA=EE=EC=EF=E0=ED=E8=E8=
 =E8/=E8=EB=E8
=EB=FE=E1=EE=EC=F3 =E4=F0=F3=E3=EE=EC=F3 =E2=E0=F8=E5=EC=F3 =EF=F0=EE=E5=EA=
=F2=F3 =ED=F3=E6=ED=E0 =F0=E5=EA=EB=E0=EC=E0 =EF=EE =E1=E8=E7=ED=E5=F1=E0=
=EA=F2=E8=E2=ED=FB=EC, =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=EC
=EB=FE=E4=FF=EC =E8 =EA=EE=EC=EF=E0=ED=E8=FF=EC?
 =CF=F0=E5=E4=EB=E0=E3=E0=E5=EC email-=F0=E0=F1=F1=FB=EB=EA=E8!

 =C2 =ED=E0=EB=E8=F7=E8=E8 =E1=E0=E7=FB =CC=EE=F1=EA=E2=FB(12.5=EC=EB=ED.=
 =E0=E4=F0=E5=F1=EE=E2) =E8 =F0=E5=E3=E8=EE=ED=EE=E2 =D0=EE=F1=F1=E8=E8(1=
7=EC=EB=ED.).
 =CC=E8=ED=E8=EC=E0=EB=FC=ED=FB=E9 =EE=E1=FA=E5=EC =E7=E0=EA=E0=E7=E0(2.5=
=EC=EB=ED.)- 4000=F0=F3=E1=EB=E5=E9 =E7=E0 =F0=E0=F1=F1=FB=EB=EA=F3.
 =C2=F1=FF =CC=EE=F1=EA=E2=E0(12.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)- 1500=
0=F0=F3=E1=EB=E5=E9.
 =C2=F1=FF =D0=EE=F1=F1=E8=FF(29.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)- 2500=
0=F0=F3=E1=EB=E5=E9.
=20
 =C1=E0=E7=FB =F1=EE=E4=E5=F0=E6=E0=F2 =E0=E4=F0=E5=F1=E0 =E1=E8=E7=ED=E5=
=F1-=E0=EA=F2=E8=E2=ED=FB=F5 =E8 =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=
=FB=F5 =EB=FE=E4=E5=E9-=20
 =F2=E5=F5, =EA=EE=EC=F3 =E1=F3=E4=F3=F2 =E8=ED=F2=E5=F0=E5=F1=ED=FB =E2=E0=
=F8=E8 =E1=E8=E7=ED=E5=F1-=EF=F0=E5=E4=EB=EE=E6=E5=ED=E8=FF.
 =CF=EE=F1=F2=EE=FF=ED=ED=FB=EC =E8 =EA=F0=F3=EF=ED=FB=EC =E7=E0=EA=E0=E7=
=F7=E8=EA=E0=EC- =E1=EE=EB=FC=F8=E8=E5 =F1=EA=E8=E4=EA=E8!
 =D2=E0=EA=E6=E5 =E4=E5=E9=F1=F2=E2=F3=E5=F2 =E0=EA=F6=E8=FF- =EF=F0=E8 =E7=
=E0=EA=E0=E7=E5 =EE=E4=ED=EE=E2=F0=E5=EC=E5=ED=ED=EE 2=F5 =E1=E0=E7-
 3=FE =F0=E0=F1=F1=FB=EB=E0=E5=EC =C1=CE=CD=D3=D1=CE=CC!

   =C7=E0=EA=E0=E7 =F0=E5=EA=EB=E0=EC=FB: +7(926)1888-017
   MAIL: Mosrek1 "=F1=EE=E1=E0=EA=E0" yahoo.com (=CF=E8=F8=E8=F2=E5 =D2=CE=
=CB=DC=CA=CE =ED=E0 =FD=F2=EE=F2 =E0=E4=F0=E5=F1, =E0 =ED=E5 =E2 =EE=F2=E2=
=E5=F2 =ED=E0 =EF=E8=F1=FC=EC=EE!)

------=_NextPart_000_0BEE_01CF86C8.710CA8F0
Content-Type: text/html;
	charset="windows-1251"
Content-Transfer-Encoding: quoted-printable








=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5= ! =C2=FB =E7=E0=ED=E8=EC=E0=E5=F2=E5=F1=FC =E1=E8=E7=ED=E5=F1=EE=EC =E8 =E2= =E0=F8=E5=E9=20 =EA=EE=EC=EF=E0=ED=E8=E8 =E8/=E8=EB=E8
=EB=FE=E1=EE=EC=F3 =E4=F0=F3=E3=EE=EC= =F3 =E2=E0=F8=E5=EC=F3 =EF=F0=EE=E5=EA=F2=F3 =ED=F3=E6=ED=E0=20 =F0=E5=EA=EB=E0=EC=E0 =EF=EE =E1=E8=E7=ED=E5=F1=E0=EA=F2=E8=E2=ED=FB= =EC, =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=EC
=EB=FE=E4=FF=EC =E8 =EA=EE=EC=EF=E0=ED= =E8=FF=EC?
 =CF=F0=E5=E4=EB=E0=E3=E0= =E5=EC=20 email-=F0=E0=F1=F1=FB=EB=EA=E8!
 
 =C2 =ED=E0=EB=E8=F7=E8=E8 =E1=E0= =E7=FB =CC=EE=F1=EA=E2=FB(12.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2) =E8=20 =F0=E5=E3=E8=EE=ED=EE=E2 =D0=EE=F1=F1=E8=E8(17=EC=EB=ED.).
 =CC=E8= =ED=E8=EC=E0=EB=FC=ED=FB=E9 =EE=E1=FA=E5=EC =E7=E0=EA=E0=E7=E0(2.5=EC=EB=ED= .)- 4000=F0=F3=E1=EB=E5=E9=20 =E7=E0 =F0=E0=F1=F1=FB=EB=EA=F3.
 =C2=F1=FF =CC=EE=F1=EA=E2=E0(1= 2.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)-=20 15000=F0=F3=E1=EB=E5=E9.
 =C2=F1=FF =D0=EE=F1=F1=E8=FF(2= 9.5=EC=EB=ED. =E0=E4=F0=E5=F1=EE=E2)-=20 25000=F0=F3=E1=EB=E5=E9.
 
 =C1=E0=E7=FB =F1=EE=E4=E5=F0=E6= =E0=F2 =E0=E4=F0=E5=F1=E0 =E1=E8=E7=ED=E5=F1-=E0=EA=F2=E8=E2=ED=FB=F5= =20 =E8 =EA=F0=E5=E4=E8=F2=EE=F1=EF=EE=F1=EE=E1=ED=FB=F5 =EB=FE=E4=E5=E9-
 =F2=E5=F5, =EA=EE=EC=F3=20 =E1=F3=E4=F3=F2 =E8=ED=F2=E5=F0=E5=F1=ED=FB =E2=E0=F8=E8 =E1=E8=E7=ED=E5=F1= -=EF=F0=E5=E4=EB=EE=E6=E5=ED=E8=FF.
 =CF=EE=F1=F2=EE=FF=ED=ED=FB=EC= =E8 =EA=F0=F3=EF=ED=FB=EC=20 =E7=E0=EA=E0=E7=F7=E8=EA=E0=EC- =E1=EE=EB=FC=F8=E8=E5 =F1=EA=E8=E4=EA=E8!=
 =D2=E0=EA=E6=E5 =E4=E5=E9=F1=F2=E2=F3=E5=F2 =E0=EA=F6=E8=FF- =EF= =F0=E8 =E7=E0=EA=E0=E7=E5=20 =EE=E4=ED=EE=E2=F0=E5=EC=E5=ED=ED=EE 2=F5 =E1=E0=E7-
 3=FE =F0=E0= =F1=F1=FB=EB=E0=E5=EC =C1=CE=CD=D3=D1=CE=CC!
 
   =C7=E0=EA=E0=E7 =F0=E5=EA= =EB=E0=EC=FB:=20 +7(926)1888-017
   MAIL: Mosrek1 "=F1=EE=E1= =E0=EA=E0"=20 yahoo.com
(=CF=E8=F8=E8=F2=E5 =D2=CE=CB=DC=CA=CE= =ED=E0 =FD=F2=EE=F2 =E0=E4=F0=E5=F1, =E0 =ED=E5 =E2 =EE=F2=E2=E5=F2 =ED=E0= =20 =EF=E8=F1=FC=EC=EE!)
------=_NextPart_000_0BEE_01CF86C8.710CA8F0-- From mlsemon35@gmail.com Thu Jun 12 21:28:13 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A9DA27F3F for ; Thu, 12 Jun 2014 21:28:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1F35DAC002 for ; Thu, 12 Jun 2014 19:28:12 -0700 (PDT) X-ASG-Debug-ID: 1402626489-04bdf056691ef1d0001-NocioJ Received: from mail-yk0-f173.google.com (mail-yk0-f173.google.com [209.85.160.173]) by cuda.sgi.com with ESMTP id vqxEnwsaEfSRXJeB (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 12 Jun 2014 19:28:09 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.173 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.173] Received: by mail-yk0-f173.google.com with SMTP id q200so1621720ykb.4 for ; Thu, 12 Jun 2014 19:28:09 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.173] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.173] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=+ALKZtJSYDysiJSOV7jwW0d8rW2ocj26ea4+9S2+WyM=; b=I6Rzx3Hw9Q6bR0vY6DIAyfotzZ1v+hYKFi/sBFQkjQaIUKKYLW38jw6aetQAXG8a// GuKGTFvfwAo6N7R7UJTL3J+fwnbYkfTaG9k7mlYqfWlIwPqPhj3khRDLfa/PXNQbfcxC 4Zid0SiZMtfYKFGbqNrOgCFcantrqTcTXhZJdFwimwE+XEY0dqAXsVR2F2Le/xAtlhk1 MRthGRD+1on3OqbT6pY/gbS8yMdLdxN2DYmBgEQ9qcpPAwcIPoJBHdp2dZomEgkVgcv3 Azv44eHVjCKkIQWmuP5lbCbbNEM13ykqNouWjAsGguWiUscQa7YHmOgSfYHfzDbWkRrt 8GqQ== X-Received: by 10.236.132.139 with SMTP id o11mr21804689yhi.101.1402626489159; Thu, 12 Jun 2014 19:28:09 -0700 (PDT) Received: from [192.168.0.129] (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id r48sm4178947yho.31.2014.06.12.19.28.08 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 12 Jun 2014 19:28:08 -0700 (PDT) Message-ID: <539A61B2.5040202@gmail.com> Date: Thu, 12 Jun 2014 22:28:02 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs-oss Subject: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits References: <5396799F.3050801@gmail.com> <20140610055254.GF9508@dastard> X-ASG-Orig-Subj: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits In-Reply-To: <20140610055254.GF9508@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-yk0-f173.google.com[209.85.160.173] X-Barracuda-Start-Time: 1402626489 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6609 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/10/2014 01:52 AM, Dave Chinner wrote: > On Mon, Jun 09, 2014 at 11:21:03PM -0400, Michael L. Semon wrote: >> Hi! I've been running around in circles trying to work with too many >> ACLs, even losing my ability to count for a while. Along the way, >> xfs_repair from git xfsprogs (last commit around May 27) is showing >> the following symptoms: >> >> On v5-superblock XFS... >> >> 1) When the ACL count is just above the limit from v4-superblock XFS-- >> 96 is a good test figure--`xfs_repair -n` and `xfs_repair` will both >> end in a segmentation fault. > > I couldn't reproduce this - I suspect that this is a problem with > the ACL struct having a hardcoded array size or userspace not > having the correct padding in the on-disk structure definition and > you are on a 32bit system. I think I've fixed that in the patch > below. Maybe. Pentium III has a narrower cacheline than the Pentium 4, so I was not surprised to see holes in the XFS kernel code, even in the non-XFS kernel structs. Do I need to upgrade something (ACL, system kernel headers, etc.) or would a pahole trip through libxfs be more revealing? What I'm getting is that if xfs_repair is counting between 200 and 256 ACLs, it will mention that there are too many ACLs, and it will segfault. With your patch, the areas below and above this range are OK. A sample session like the one I overwrote last time looks like this: Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 Too many ACL entries, count 250 entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT (segfault, either Error 4 or Error 5, forgot to bring dmesg) >> 2) When the ACL count is in a higher range--as low as 250, IIRC-- >> xfs_repair will complain about "Too many ACL entries" and proceed to >> remove them. Below is a full session: > > Yup, never been taught about the expanded ACL count. I didn't even > realised that repair validated acls directly... > >> >> root@oldsvrhw:~# mkfs.xfs -f -m crc=1 $SCRATCH_DEV >> meta-data=/dev/sdb5 isize=512 agcount=4, agsize=786432 blks >> = sectsz=512 attr=2, projid32bit=1 >> = crc=1 finobt=0 >> data = bsize=4096 blocks=3145728, imaxpct=25 >> = sunit=0 swidth=0 blks >> naming =version 2 bsize=4096 ascii-ci=0 ftype=1 >> log =internal log bsize=4096 blocks=2560, version=2 >> = sectsz=512 sunit=0 blks, lazy-count=1 >> realtime =none extsz=4096 blocks=0, rtextents=0 >> >> root@oldsvrhw:~# mount $SCRATCH_DEV $SCRATCH_MNT >> >> root@oldsvrhw:~# mkdir $SCRATCH_MNT/acl-dir >> >> root@oldsvrhw:~# for a in `seq 1000 1325`; do setfacl -d -m u:$a:r-- $SCRATCH_MNT/acl-dir; done > ..... > > Ok, I can reproduce that, and I've fixed it in the patch below. Maybe not...your E-mail patch doesn't have the git version at the bottom, so I wondered whether I installed the entire patch. What I did get went through `git am` just fine, with one whitespace error. >> 3) When the ACL count is at the max for v5-superblock XFS--at least >> with both regular and default ACL slots filled--xfs_repair will >> complain of corrupt remote attributes. AFAIK, xfs_repair doesn't >> bother with the "Too many ACL entries" line. Those ACLs will be >> cleansed, too. > > Ok, I see that, too: > > - agno = 0 > Metadata corruption detected at block 0x190/0x1000 > Corrupt remote block for attributes of inode 67 > > Ah, of course - there was an off-by-one in the remote attr max size > validation that we fixed in the kernel. The kernel code hasn't been > siynced to userspace yet. Ok, the patch below fixes that as well. This is most definitely fixed. Thanks! > Can you turn this into a new fstest so we > don't break this accidentally again? I'm struggling, and it will take a long time, but I'll try. If you have a compiled ACL generator somewhere in xfstests, it will save the time of reading ACL-related man pages. In the meantime, I developed a fairly coherent script that goes through a filesystem 4 ACL entries, checking and making filesystems in between. I started it by making filesystems on a ramdisk and storing the results on a tmpfs mount, but it uses a normal $SCRATCH_DEV now. It won't show an error immediately, but all xfs_repair output will be stored on a tmpfs amount for your perusal. The script is enclosed, with a debug "step=1" line uncommented so you can go after the 200-250 ACL-count issue. Read it first because you'll want to alter something for your setup. It's not worthy of the xfstests harness, but it should be comprehensive enough to let you run fs_mark in the middle of it if need be. The smaller the partition you use, the faster the script will go. > Can you try the patch below? It should fix the problem you are > seeing. > >> Sorry I missed this one in all of my limits testing. This was >> discovered when I saw a bug in my ACL population script and hit >> Ctrl-c so I could stop and edit the script. Donations of brown paper >> bags are welcome...the plastic bags I'm using make it hard to breathe >> and don't hide my face very well... > > We've all missed it, so pass the paper bags all around. To prevent > this from happening again in future, can you wrap this all up in a > new generic fstest that creates several different numbers of ACLs > on a file and runs repair on the filesystem after each incremental > increase in the number of ACLs? > > Thanks for the testing and the bug report, Michael! No problem. I'll keep trying! Michael #!/bin/bash # Suggested filename: pop_acl.sh # ACL coverage script # Michael L. Semon # Thu Jun 12 20:38:22 UTC 2014 # This script builds ACL entries, four at a time, and applies them to a new # directory on a fresh filesystem. The filesystem is umounted and repaired # after each creation to look for issues. A new filesystem is made with # each pass of the main loop. # Later, a new filesystem is made, and the new directory is populated to # its limit (hopefully). The filesystem is umounted and repaired again. # There is a WORK_DIR that holds temporary data, repair results, and the # cumulative ACL count. It is set to mount a tmpfs area for this purpose. # This behavior can be overridden early in the script. # There are two sections marked OPTIONAL ACTIVITIES. In these sections, you # can add your own commands. Should they be executed in a directory with # default ACLs, file creation stress in particular should exercise ACL # inheritance at the same time. # This script can be set to use v5-superblock XFS (xfs or v5xfs), regular # v4-superblock XFS (x4xfs), JFS (jfs), or F2FS (f2fs). btrfs # can also be used in single mode. An FSTYP variable is coded with a # default of "xfs". The script can also be executed like this: # # env FSTYP=jfs ./pop_acl.sh # -------- basic globals -------- # This line should be commented out so that xfstests SCRATCH_DEV can be used. # SCRATCH_DEV=/dev/ram0 if [ -z $SCRATCH_DEV ]; then echo 'SCRATCH_DEV is empty. Exiting.' exit fi if [ -z $SCRATCH_MNT ]; then echo 'SCRATCH_MNT is empty. Exiting.' exit fi # Choices are xfs (which means v5), v5xfs, v4xfs, jfs, f2fs, and btrfs. FSTYP=${FSTYP:=xfs} # How many entries (times 4) does this script make for each filesystem? # Default is (measured max - 8 - 4) / 8, integer division in bc. case $FSTYP in xfs|v5xfs) # Calculated from 10922 (5461+5461) step=1363 ;; v4xfs) # Calculated from 50 (25+25) step=4 ;; jfs) # Calculated from 16382 (8191+8191) step=2046 ;; f2fs) # Calculated from 507 (250+257) step=123 ;; btrfs) # Calculated from 978 (489+489) for mixed data/metadata mode on a # small partition. # A value of 4050 (2025+2025) was calculated after btrfs auto-set # the big metadata feature on a larger partition. step=241 ;; *) step=1 ;; esac # Uncomment this to go after corner cases: step=1 # Base number for calculating uids and gids. id=1000 # -------- Work Area (section that pertains to tmpfs) --------- # If you want to store results on a hard disk, override WORK_DIR # and comment out the tmpfs mount below. # work area (tmpfs by default) WORK_DIR=/tmp/tmpfs # WORK_DIR=/usr/src # results dir RES_DIR=$WORK_DIR/results_dir # reference acl list acl_list=$WORK_DIR/acl_list if [ -e $WORK_DIR ]; then umount $WORK_DIR else mkdir $WORK_DIR fi mount -t tmpfs tmpfs $WORK_DIR [ -e $RES_DIR ] || mkdir $RES_DIR # -------- end of section that pertains to tmpfs --------- # -------- basic setup -------- # Set up the base entries: cat << here > $acl_list user::rwx group::rwx other::r-x mask::rwx default:user::r-x default:group::r-x default:other::--x default:mask::r-x here # Done here in case SCRATCH_DEV is already open. umount $SCRATCH_DEV # ======== MAIN LOOP (does most of the work) ======== while true; do uid=$id gid=$((id+6144)) duid=$((gid+6144)) dgid=$((duid+6144)) # Make and mount a new filesystem, and do so early so it's # obviously mounted while the ACL build loop does its work. case $FSTYP in xfs|v5xfs) mkfs.xfs -f -m crc=1 $SCRATCH_DEV > /dev/null 2>&1 mount -t xfs $SCRATCH_DEV $SCRATCH_MNT ;; v4xfs) mkfs.xfs -f $SCRATCH_DEV > /dev/null 2>&1 mount -t xfs $SCRATCH_DEV $SCRATCH_MNT ;; jfs) jfs_mkfs -q $SCRATCH_DEV > /dev/null 2>&1 mount -t jfs $SCRATCH_DEV $SCRATCH_MNT ;; f2fs) mkfs.f2fs $SCRATCH_DEV > /dev/null 2>&1 mount -t f2fs $SCRATCH_DEV $SCRATCH_MNT ;; btrfs) # Only on single for now: mkfs.btrfs -f $SCRATCH_DEV > /dev/null 2>&1 mount -t btrfs $SCRATCH_DEV $SCRATCH_MNT ;; *) echo "Filesystem $FSTYP is not supported. Exiting." exit ;; esac mkdir $SCRATCH_MNT/acl-dir # echo uid, gid, uid for default entries, gid for default entries echo "ids: $uid, $gid, $duid, $dgid; iterating by $step" cat /dev/null > $RES_DIR/added.acl # Make our entries onto the reference directory. for inn in `seq 1 $step`; do cat << here >> $RES_DIR/added.acl user:$((uid+inn)):r-- group:$((gid+inn)):r-- default:user:$((duid+inn)):r-- default:group:$((dgid+inn)):r-- here done cp -a $acl_list $WORK_DIR/last_acl_list_accepted cat $RES_DIR/added.acl >> $acl_list # Copy the ACL from the reference dir into the target filesystem. setfacl --set-file=$acl_list $SCRATCH_MNT/acl-dir || break getfacl -c $SCRATCH_MNT/acl-dir 2>/dev/null | grep -v "^$" | \ wc -l | sed -e "s/^/$id: /" \ >> $RES_DIR/acl.count 2>/dev/null # ==================== OPTIONAL ACTIVTIES #1 =================== # There is a separate list for later, once a maximum ACL count # has been found. It might be a good idea to keep this part # light. Commented out for being optional. # # fs_mark -L 3 -D 4 -n 100 -s 4096 -d $SCRATCH_MNT/acl-dir # touch $SCRATCH_MNT/acl-dir/child # mkdir $SCRATCH_MNT/acl-dir/child-dir # touch $SCRATCH_MNT/acl-dir/child-dir/grandchild # mkdir $SCRATCH_MNT/acl-dir/child-dir/grandchild-dir # touch $SCRATCH_MNT/acl-dir/child-dir/great-grandchild # ============================================================== # umount. Uncomment the sync line if needed. # sync umount $SCRATCH_DEV # Repair the filesystem. Make a no-modify pass first, in case # the results are different, beneficial to JFS in particular. case $FSTYP in xfs|v5xfs|v4xfs) xfs_repair -n $SCRATCH_DEV >$RES_DIR/$id.nrepair 2>&1 xfs_repair $SCRATCH_DEV >$RES_DIR/$id.repair 2>&1 ;; jfs) jfs_fsck -fnv $SCRATCH_DEV >$RES_DIR/$id.nrepair 2>&1 jfs_fsck -fyv $SCRATCH_DEV >$RES_DIR/$id.repair 2>&1 ;; f2fs) # Don't know if/when fsck.f2fs will fix issues, so... fsck.f2fs $SCRATCH_DEV >$RES_DIR/$id.repair 2>&1 ln $RES_DIR/$id.repair $RES_DIR/$id.nrepair 2>&1 ;; btrfs) btrfsck $SCRATCH_DEV >$RES_DIR/$id.nrepair 2>&1 btrfsck --repair $SCRATCH_DEV >$RES_DIR/$id.repair 2>&1 ;; *) echo "Filesystem $FSTYP is not supported. Exiting." exit ;; esac ln -sf $RES_DIR/$id.nrepair $RES_DIR/current.nrepair ln -sf $RES_DIR/$id.repair $RES_DIR/current.repair id=$((id+$step)) done umount $SCRATCH_DEV # ======== SECONDARY SECTION (hopefully fills ACLs out to maximum) ======== # echo uid, gid, uid for default entries, gid for default entries # echo "ids: $uid, $gid, $duid, $dgid, iterating $step (x4) ids" # Make and mount a new filesystem. case $FSTYP in xfs|v5xfs) mkfs.xfs -f -m crc=1 $SCRATCH_DEV > /dev/null 2>&1 mount -t xfs $SCRATCH_DEV $SCRATCH_MNT ;; v4xfs) mkfs.xfs -f $SCRATCH_DEV > /dev/null 2>&1 mount -t xfs $SCRATCH_DEV $SCRATCH_MNT ;; jfs) jfs_mkfs -q $SCRATCH_DEV > /dev/null 2>&1 mount -t jfs $SCRATCH_DEV $SCRATCH_MNT ;; f2fs) mkfs.f2fs $SCRATCH_DEV > /dev/null 2>&1 mount -t f2fs $SCRATCH_DEV $SCRATCH_MNT ;; btrfs) # Only on single for now: mkfs.btrfs -f $SCRATCH_DEV > /dev/null 2>&1 mount -t btrfs $SCRATCH_DEV $SCRATCH_MNT ;; *) echo "Filesystem $FSTYP is not supported. Exiting." exit ;; esac mkdir $SCRATCH_MNT/acl-dir # Copy the ACL from the reference dir into the target filesystem. setfacl --set-file=$WORK_DIR/last_acl_list_accepted \ $SCRATCH_MNT/acl-dir || break # ---------------------- FILL UP THE ACLs ---------------------- # This section tries to fill the ACL space in a balanced way. echo "Attempt to find the maximum ACL count..." echo "...filling default user and group together..." while true; do # Increment first here, let the later loops retry it. duid=$((duid + 1)) setfacl -d -m u:$duid:rwx $SCRATCH_MNT/acl-dir || break dgid=$((dgid + 1)) setfacl -d -m g:$dgid:rwx $SCRATCH_MNT/acl-dir || break done echo "...filling default user..." while true; do setfacl -d -m u:$duid:rwx $SCRATCH_MNT/acl-dir || break duid=$((duid + 1)) done echo "...filling default group..." while true; do setfacl -d -m g:$dgid:rwx $SCRATCH_MNT/acl-dir || break dgid=$((dgid + 1)) done echo "...filling user and group together..." while true; do # Increment first here, let the later loops retry it. uid=$((uid + 1)) setfacl -m u:$uid:rwx $SCRATCH_MNT/acl-dir || break gid=$((gid + 1)) setfacl -m g:$gid:rwx $SCRATCH_MNT/acl-dir || break done echo "...filling user..." while true; do setfacl -m u:$uid:rwx $SCRATCH_MNT/acl-dir || break uid=$((uid + 1)) done echo "...filling group..." while true; do setfacl -m g:$gid:rwx $SCRATCH_MNT/acl-dir || break gid=$((gid + 1)) done # It seems that the mask has to be set to eke out that last entry, # but try the others, anyway: echo "...setting the original base entries again..." setfacl -d -m u::r-x $SCRATCH_MNT/acl-dir setfacl -m u::rwx $SCRATCH_MNT/acl-dir setfacl -d -m g::r-x $SCRATCH_MNT/acl-dir setfacl -m g::rwx $SCRATCH_MNT/acl-dir setfacl -d -m o::--x $SCRATCH_MNT/acl-dir setfacl -m o::r-x $SCRATCH_MNT/acl-dir setfacl -d -m m::rwx $SCRATCH_MNT/acl-dir setfacl -m m::rwx $SCRATCH_MNT/acl-dir echo "...done filling the inode with entries." # -------------------------------------------------------------- getfacl -c $SCRATCH_MNT/acl-dir 2>/dev/null | grep -v "^$" | \ wc -l | sed -e "s/^/final: /" \ >> $RES_DIR/acl.count 2>/dev/null echo "Making max ACL reference file at $WORK_DIR/max_acl_file." getfacl $SCRATCH_MNT/acl-dir 2>/dev/null > $WORK_DIR/max_acl_file # ==================== OPTIONAL ACTIVTIES #2 =================== # This might be were all of the heavy fsstress, fsx, fio, and # fs_mark activities could go. Commented out for being # optional. # # This section is placed here so the ACL breakdown will be the # last output from the script. # fs_mark -F -D 4 -n 100 -s 4096 -d $SCRATCH_MNT/acl-dir # touch $SCRATCH_MNT/acl-dir/child # mkdir $SCRATCH_MNT/acl-dir/child-dir # touch $SCRATCH_MNT/acl-dir/child-dir/grandchild # mkdir $SCRATCH_MNT/acl-dir/child-dir/grandchild-dir # touch $SCRATCH_MNT/acl-dir/child-dir/great-grandchild # ============================================================== echo "ACL count (last 3 loop iterations and final pass):" tail -n 4 $RES_DIR/acl.count | sed -e 's/^/ /' echo "ACL breakdown (default entries only, should total to maximum default):" grep "^default" $WORK_DIR/max_acl_file | cut -d ':' -f 1-2 | \ sort | uniq -c | sort -rg echo "ACL breakdown (all, should total to maximum):" grep -v "^#" $WORK_DIR/max_acl_file | grep -v "^$" | cut -d ':' -f 1 | \ sort | uniq -c | sort -rg # umount. Uncomment the sync line if needed. # sync umount $SCRATCH_DEV # Repair the filesystem. Make a no-modify pass first, in case # the results are different, beneficial to JFS in particular. case $FSTYP in xfs|v5xfs|v4xfs) xfs_repair -n $SCRATCH_DEV >$RES_DIR/$id.nrepair 2>&1 xfs_repair $SCRATCH_DEV >$RES_DIR/$id.repair 2>&1 ;; jfs) jfs_fsck -fnv $SCRATCH_DEV >$RES_DIR/final.nrepair 2>&1 jfs_fsck -fyv $SCRATCH_DEV >$RES_DIR/final.repair 2>&1 ;; f2fs) # Don't know if/when fsck.f2fs will fix issues, so... fsck.f2fs $SCRATCH_DEV >$RES_DIR/final.repair 2>&1 ln $RES_DIR/final.repair $RES_DIR/final.nrepair 2>&1 ;; btrfs) btrfsck $SCRATCH_DEV >$RES_DIR/final.nrepair 2>&1 btrfsck --repair $SCRATCH_DEV >$RES_DIR/final.repair 2>&1 ;; *) echo "Filesystem $FSTYP is not supported. Exiting." exit ;; esac ln -sf $RES_DIR/final.nrepair $RES_DIR/current.nrepair ln -sf $RES_DIR/final.repair $RES_DIR/current.repair # end of script From abrakadabra@briskin.co Thu Jun 12 23:02:23 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.4 required=5.0 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,T_REMOTE_IMAGE autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 41A5A7F3F for ; Thu, 12 Jun 2014 23:02:23 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id CC1088F8049 for ; Thu, 12 Jun 2014 21:02:19 -0700 (PDT) X-ASG-Debug-ID: 1402632135-04cb6c78c51e26e0001-NocioJ Received: from s13.linuxpl.com (s13.linuxpl.com [78.46.43.130]) by cuda.sgi.com with ESMTP id BXcbatTyqGBpyE8W (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 12 Jun 2014 21:02:16 -0700 (PDT) X-Barracuda-Envelope-From: abrakadabra@briskin.co X-Barracuda-Apparent-Source-IP: 78.46.43.130 Received: from s15.linuxpl.com ([213.239.217.43] helo=localhost) by s13.linuxpl.com with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1WvIgw-0004bH-SL for xfs@oss.sgi.com; Fri, 13 Jun 2014 06:02:14 +0200 Date: Fri, 13 Jun 2014 06:02:13 +0200 From: =?UTF-8?Q?Muzyczne=20Akcesoria?= To: xfs@oss.sgi.com Subject: =?UTF-8?Q?=E2=96=88=E2=96=AC=E2=96=88=20=E2=96=88=20?= =?UTF-8?Q?=E2=96=80=E2=96=88=E2=96=80=20Nr=20=E2=9D=B6?= Sender: =?UTF-8?Q?Muzyczne=20Akcesoria?= X-ASG-Orig-Subj: =?UTF-8?Q?=E2=96=88=E2=96=AC=E2=96=88=20=E2=96=88=20?= =?UTF-8?Q?=E2=96=80=E2=96=88=E2=96=80=20Nr=20=E2=9D=B6?= Reply-To: =?UTF-8?Q?Muzyczne=20Akcesoria?= MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: =?UTF-8?Q?8bit?= X-Barracuda-Connect: s13.linuxpl.com[78.46.43.130] X-Barracuda-Start-Time: 1402632135 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.20 X-Barracuda-Spam-Status: No, SCORE=1.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY, MISSING_MID X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6610 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 HTML_IMAGE_ONLY_32 BODY: HTML: images with 2800-3200 bytes of words 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag Message-Id: <20140613040219.999C212961A6@cuda.sgi.com>

Witajcie Muzycy!

 

 

MuzyczneAkcesoria.pl
Wybierz Muzyczne Akcesoria !
Wypowiedz SiÄ™ Na

altaltaltalt
i Zdobywaj Nagrody!
 
 

Jeśli nie wyrażają Państwo zgody na przesyłanie przez firmę ELSAURIA drogą elektroniczną informacji handlowych w rozumieniu ustawy z dnia 18 lipca 2002 roku o świadczeniu usług drogą elektroniczną (Dz. U. Nr 144, poz. 1204) Wypisz mnie z tego mailingu.

From davej@redhat.com Fri Jun 13 00:16:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 4B8D17F47 for ; Fri, 13 Jun 2014 00:16:44 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2748C8F8035 for ; Thu, 12 Jun 2014 22:16:43 -0700 (PDT) X-ASG-Debug-ID: 1402636599-04cbb00a04835b0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 1BWRukuwRJKmy3tq for ; Thu, 12 Jun 2014 22:16:40 -0700 (PDT) X-Barracuda-Envelope-From: davej@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5D5Gd1r031784 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jun 2014 01:16:39 -0400 Received: from gelk.kernelslacker.org (ovpn-113-136.phx2.redhat.com [10.3.113.136]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5D5GXLd015248 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 13 Jun 2014 01:16:39 -0400 Received: from gelk.kernelslacker.org (localhost [127.0.0.1]) by gelk.kernelslacker.org (8.14.8/8.14.7) with ESMTP id s5D5GVvs009461; Fri, 13 Jun 2014 01:16:31 -0400 Received: (from davej@localhost) by gelk.kernelslacker.org (8.14.8/8.14.8/Submit) id s5D5GVwe009460; Fri, 13 Jun 2014 01:16:31 -0400 X-Authentication-Warning: gelk.kernelslacker.org: davej set sender to davej@redhat.com using -f Date: Fri, 13 Jun 2014 01:16:31 -0400 From: Dave Jones To: xfs@oss.sgi.com Cc: Linux Kernel Subject: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140613051631.GA9394@redhat.com> X-ASG-Orig-Subj: XFS WARN_ON in xfs_vm_writepage Mail-Followup-To: Dave Jones , xfs@oss.sgi.com, Linux Kernel MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402636600 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Just hit this on Linus' tree from earlier this afternoon.. WARNING: CPU: 3 PID: 19721 at fs/xfs/xfs_aops.c:971 xfs_vm_writepage+0x5ce/0x630 [xfs]() CPU: 3 PID: 19721 Comm: trinity-c61 Not tainted 3.15.0+ #3 0000000000000009 000000004f70ab82 ffff8801d5ebf578 ffffffff8373215c 0000000000000000 ffff8801d5ebf5b0 ffffffff8306f7cd ffff88023dd543e0 ffffea000254a3c0 ffff8801d5ebf820 ffffea000254a3e0 ffff8801d5ebf728 Call Trace: [] dump_stack+0x4e/0x7a [] warn_slowpath_common+0x7d/0xa0 [] warn_slowpath_null+0x1a/0x20 [] xfs_vm_writepage+0x5ce/0x630 [xfs] [] ? preempt_count_sub+0xab/0x100 [] ? __percpu_counter_add+0x85/0xc0 [] shrink_page_list+0x8f9/0xb90 [] shrink_inactive_list+0x253/0x510 [] shrink_lruvec+0x563/0x6c0 [] shrink_zone+0x3b/0x100 [] shrink_zones+0x1f1/0x3c0 [] try_to_free_pages+0x164/0x380 [] __alloc_pages_nodemask+0x822/0xc90 [] ? pagevec_lru_move_fn+0x122/0x140 [] alloc_pages_vma+0xaf/0x1c0 [] handle_mm_fault+0xa31/0xc50 [] ? follow_page_mask+0x1f0/0x320 [] __get_user_pages+0x22b/0x660 [] ? kmem_cache_alloc+0x183/0x210 [] __mlock_vma_pages_range+0x9e/0xd0 [] __mm_populate+0xca/0x180 [] vm_mmap_pgoff+0xd3/0xe0 [] SyS_mmap_pgoff+0x116/0x2c0 [] ? syscall_trace_enter+0x14d/0x2a0 [] SyS_mmap+0x22/0x30 [] tracesys+0xdd/0xe2 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == 971 PF_MEMALLOC)) From abrakadabra@briskin.co Fri Jun 13 01:01:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.9 required=5.0 tests=HTML_IMAGE_ONLY_04, HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,TVD_SPACE_RATIO, T_REMOTE_IMAGE autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 096E529DF8 for ; Fri, 13 Jun 2014 01:01:59 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id D6B0C304051 for ; Thu, 12 Jun 2014 23:01:55 -0700 (PDT) X-ASG-Debug-ID: 1402639308-04cb6c78c41e6770001-NocioJ Received: from s13.linuxpl.com (s13.linuxpl.com [78.46.43.130]) by cuda.sgi.com with ESMTP id LrzZAboOk7lUGUqU (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 12 Jun 2014 23:01:49 -0700 (PDT) X-Barracuda-Envelope-From: abrakadabra@briskin.co X-Barracuda-Apparent-Source-IP: 78.46.43.130 Received: from s15.linuxpl.com ([213.239.217.43] helo=localhost) by s13.linuxpl.com with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1WvKYe-0004gm-KM for xfs@oss.sgi.com; Fri, 13 Jun 2014 08:01:48 +0200 Date: Fri, 13 Jun 2014 08:01:48 +0200 From: abrakadabra@briskin.co To: xfs@oss.sgi.com Subject: =?UTF-8?Q??= Sender: X-ASG-Orig-Subj: =?UTF-8?Q??= MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: =?UTF-8?Q?8bit?= X-Barracuda-Connect: s13.linuxpl.com[78.46.43.130] X-Barracuda-Start-Time: 1402639309 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.54 X-Barracuda-Spam-Status: No, SCORE=1.54 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_IMAGE_ONLY_04, HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY, MISSING_MID, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6612 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 NO_REAL_NAME From: does not include a real name 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.34 HTML_IMAGE_ONLY_04 BODY: HTML: images with 0-400 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message 1.05 HTML_MIME_NO_HTML_TAG HTML-only message, but there is no HTML tag Message-Id: <20140613060155.B12FD12961A6@cuda.sgi.com>
From david@fromorbit.com Fri Jun 13 01:27:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 955D27F53 for ; Fri, 13 Jun 2014 01:27:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 72119304051 for ; Thu, 12 Jun 2014 23:27:02 -0700 (PDT) X-ASG-Debug-ID: 1402640819-04cbb00a02865c0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id V7XFVyI3mxO8z6bp for ; Thu, 12 Jun 2014 23:26:59 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqcGAI+YmlN5LC2v/2dsb2JhbABagw2DRqc6BgaZHgGBBBd1hAMBAQUnExwjEAgDGAklDwUlAyEBEohB0kwXFoVGiH8HhEEEmjGLMYgjg04r Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 13 Jun 2014 15:56:58 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WvKwn-0007pK-LF; Fri, 13 Jun 2014 16:26:45 +1000 Date: Fri, 13 Jun 2014 16:26:45 +1000 From: Dave Chinner To: Dave Jones , xfs@oss.sgi.com, Linux Kernel Cc: linux-mm@kvack.org Subject: Re: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140613062645.GZ9508@dastard> X-ASG-Orig-Subj: Re: XFS WARN_ON in xfs_vm_writepage References: <20140613051631.GA9394@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613051631.GA9394@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402640819 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6613 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [cc linux-mm] On Fri, Jun 13, 2014 at 01:16:31AM -0400, Dave Jones wrote: > Just hit this on Linus' tree from earlier this afternoon.. > > WARNING: CPU: 3 PID: 19721 at fs/xfs/xfs_aops.c:971 xfs_vm_writepage+0x5ce/0x630 [xfs]() > CPU: 3 PID: 19721 Comm: trinity-c61 Not tainted 3.15.0+ #3 > 0000000000000009 000000004f70ab82 ffff8801d5ebf578 ffffffff8373215c > 0000000000000000 ffff8801d5ebf5b0 ffffffff8306f7cd ffff88023dd543e0 > ffffea000254a3c0 ffff8801d5ebf820 ffffea000254a3e0 ffff8801d5ebf728 > Call Trace: > [] dump_stack+0x4e/0x7a > [] warn_slowpath_common+0x7d/0xa0 > [] warn_slowpath_null+0x1a/0x20 > [] xfs_vm_writepage+0x5ce/0x630 [xfs] > [] ? preempt_count_sub+0xab/0x100 > [] ? __percpu_counter_add+0x85/0xc0 > [] shrink_page_list+0x8f9/0xb90 > [] shrink_inactive_list+0x253/0x510 > [] shrink_lruvec+0x563/0x6c0 > [] shrink_zone+0x3b/0x100 > [] shrink_zones+0x1f1/0x3c0 > [] try_to_free_pages+0x164/0x380 > [] __alloc_pages_nodemask+0x822/0xc90 > [] ? pagevec_lru_move_fn+0x122/0x140 > [] alloc_pages_vma+0xaf/0x1c0 > [] handle_mm_fault+0xa31/0xc50 > [] ? follow_page_mask+0x1f0/0x320 > [] __get_user_pages+0x22b/0x660 > [] ? kmem_cache_alloc+0x183/0x210 > [] __mlock_vma_pages_range+0x9e/0xd0 > [] __mm_populate+0xca/0x180 > [] vm_mmap_pgoff+0xd3/0xe0 > [] SyS_mmap_pgoff+0x116/0x2c0 > [] ? syscall_trace_enter+0x14d/0x2a0 > [] SyS_mmap+0x22/0x30 > [] tracesys+0xdd/0xe2 > > > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > 971 PF_MEMALLOC)) What were you running at the time? The XFS warning is there to indicate that memory reclaim is doing something it shouldn't (i.e. dirty page writeback from direct reclaim), so this is one for the mm folk to work out... Cheers, Dave. -- Dave Chinner david@fromorbit.com From xinxin.shu5040@gmail.com Fri Jun 13 03:21:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id DDE0B7F54 for ; Fri, 13 Jun 2014 03:21:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id ACBBC8F8035 for ; Fri, 13 Jun 2014 01:21:32 -0700 (PDT) X-ASG-Debug-ID: 1402647690-04bdf056681fb490001-NocioJ Received: from mail-qa0-f65.google.com (mail-qa0-f65.google.com [209.85.216.65]) by cuda.sgi.com with ESMTP id 6AhO4iFBvKqfSOWx (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 01:21:30 -0700 (PDT) X-Barracuda-Envelope-From: xinxin.shu5040@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.65 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.65] Received: by mail-qa0-f65.google.com with SMTP id i13so871585qae.0 for ; Fri, 13 Jun 2014 01:21:30 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.65] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.65] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=ky/aW6TwmEYtCER/QtOiN0qDD1IVvU8KEhWhEW/9mJo=; b=yqEc10jzBGSe4z+Fcbn5cxFPGvBBy96ZjvmYVKSvG13rbQa0FZI3hQYzvI+ZunxIeW Umr0xanBqjQNpwo+jiKUrEk00bSV50NbP4543cRVXrbobLIGF+LL6ODr9X/CMKI7ESWq 0jF6XLWo7YSuFAuIOXY0xqSACvexRDRAuKI8niDf6uM+w4QM/dKrLDaKvDlMhiL5Zo6e U++r1x2Shl6EWFwAioD5SgCGA/Km0lMr3dGuq/u/t0jMZPBWdK2s6o3N+eiTJDQ/NAEs Gsq+vXZf/p4BJcSseyImWSEPFwh4D7mDfwebjS0QkxXA42zHYOQRWvyqDPIzA7ryUWe8 5Csg== X-Received: by 10.224.160.202 with SMTP id o10mr1433168qax.8.1402647690018; Fri, 13 Jun 2014 01:21:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.221.82 with HTTP; Fri, 13 Jun 2014 01:21:09 -0700 (PDT) From: xinxin shu Date: Fri, 13 Jun 2014 16:21:09 +0800 Message-ID: Subject: how to locate the file through blktrace with xfs To: xfs@oss.sgi.com X-ASG-Orig-Subj: how to locate the file through blktrace with xfs Content-Type: multipart/alternative; boundary=089e0149384e4f063304fbb35d90 X-Barracuda-Connect: mail-qa0-f65.google.com[209.85.216.65] X-Barracuda-Start-Time: 1402647690 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6615 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --089e0149384e4f063304fbb35d90 Content-Type: text/plain; charset=UTF-8 Hi all, Recently , I collect blktrace data for xfs , I want to find the corresponding file/directory through the offset , is there any way to do this ? any tips will appreciate. thx --089e0149384e4f063304fbb35d90 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi all,

=C2=A0

Recently , I collect blktrace data for xfs ,=C2=A0 I= want to find the corresponding file/directory through the offset , =C2=A0is there any way to do this ? any tips will appreciate. = thx

--089e0149384e4f063304fbb35d90-- From bfoster@redhat.com Fri Jun 13 06:08:23 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 0F9BE7F56 for ; Fri, 13 Jun 2014 06:08:23 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E627C8F8050 for ; Fri, 13 Jun 2014 04:08:22 -0700 (PDT) X-ASG-Debug-ID: 1402657698-04cb6c78c41f1020001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id wyWJC7utmqzFK0BC for ; Fri, 13 Jun 2014 04:08:19 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5DB8Hvt025200 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jun 2014 07:08:17 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5DB8HFw021891; Fri, 13 Jun 2014 07:08:17 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 9DF5A12138E; Fri, 13 Jun 2014 07:08:16 -0400 (EDT) Date: Fri, 13 Jun 2014 07:08:16 -0400 From: Brian Foster To: xinxin shu Cc: xfs@oss.sgi.com Subject: Re: how to locate the file through blktrace with xfs Message-ID: <20140613110816.GA55850@bfoster.bfoster> X-ASG-Orig-Subj: Re: how to locate the file through blktrace with xfs References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402657698 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 13, 2014 at 04:21:09PM +0800, xinxin shu wrote: > Hi all, > > > > Recently , I collect blktrace data for xfs , I want to find the > corresponding file/directory through the offset , is there any way to do > this ? any tips will appreciate. thx There isn't any easy way that I'm aware of to take a raw block number and map it back to the owner. The global space trees account for free space only and all allocated space is tracked in the block maps of individual inodes. You can obtain the extent mappings for a file via xfs_bmap, but that alone isn't useful if you don't know what file you're looking for. You could run a find/xfs_bmap through the entire fs and sift through the output. If that's a lot of data and this is something you need to do repeatedly, a supporting script might be a good idea. For example, you could probably create a program that creates a sorted index of every allocated extent mapped to inode number. Alternatively, a script that takes a block number parameter and searches through the extents for a range that includes it might be more simple. You'll also want to be cognizant of various metadata blocks (i.e., inode xattr blocks, btree blocks, internal md for ag's, log blocks if internal, etc.). Brian > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From davej@redhat.com Fri Jun 13 09:19:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 24F997F58 for ; Fri, 13 Jun 2014 09:19:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 05A0C8F8039 for ; Fri, 13 Jun 2014 07:19:44 -0700 (PDT) X-ASG-Debug-ID: 1402669180-04cbb00a029c960001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id F5WYoeZsR801nCBv for ; Fri, 13 Jun 2014 07:19:41 -0700 (PDT) X-Barracuda-Envelope-From: davej@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5DEJWuc024339 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jun 2014 10:19:32 -0400 Received: from gelk.kernelslacker.org (ovpn-113-41.phx2.redhat.com [10.3.113.41]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5DEJQcO032707 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 13 Jun 2014 10:19:32 -0400 Received: from gelk.kernelslacker.org (localhost [127.0.0.1]) by gelk.kernelslacker.org (8.14.8/8.14.7) with ESMTP id s5DEJPF5006137; Fri, 13 Jun 2014 10:19:25 -0400 Received: (from davej@localhost) by gelk.kernelslacker.org (8.14.8/8.14.8/Submit) id s5DEJPcM006136; Fri, 13 Jun 2014 10:19:25 -0400 X-Authentication-Warning: gelk.kernelslacker.org: davej set sender to davej@redhat.com using -f Date: Fri, 13 Jun 2014 10:19:25 -0400 From: Dave Jones To: Dave Chinner Cc: xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org Subject: Re: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140613141925.GA24199@redhat.com> X-ASG-Orig-Subj: Re: XFS WARN_ON in xfs_vm_writepage Mail-Followup-To: Dave Jones , Dave Chinner , xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org References: <20140613051631.GA9394@redhat.com> <20140613062645.GZ9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613062645.GZ9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402669180 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 13, 2014 at 04:26:45PM +1000, Dave Chinner wrote: > > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > > 971 PF_MEMALLOC)) > > What were you running at the time? The XFS warning is there to > indicate that memory reclaim is doing something it shouldn't (i.e. > dirty page writeback from direct reclaim), so this is one for the mm > folk to work out... Trinity had driven the machine deeply into swap, and the oom killer was kicking in pretty often. Then this happened. Dave From desantis@mail.usf.edu Fri Jun 13 09:50:26 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 26F307F54 for ; Fri, 13 Jun 2014 09:50:26 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 08C9D304039 for ; Fri, 13 Jun 2014 07:50:22 -0700 (PDT) X-ASG-Debug-ID: 1402671019-04cbb00a049de50001-NocioJ Received: from mail-yk0-f177.google.com (mail-yk0-f177.google.com [209.85.160.177]) by cuda.sgi.com with ESMTP id UBuIN7LKjsPX7KAx (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 07:50:20 -0700 (PDT) X-Barracuda-Envelope-From: desantis@mail.usf.edu X-Barracuda-Apparent-Source-IP: 209.85.160.177 Received: by mail-yk0-f177.google.com with SMTP id 10so2098105ykt.8 for ; Fri, 13 Jun 2014 07:50:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.usf.edu; s=googleapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=X91oj5wA5dH1eSrrDf+sOExF6krIz9e3RR88bvaCJIk=; b=M3WLtrCtNV8lme/eR4zPXjV2wP1215hKnkQauMelew6H59m1RYyr3o4vvjMabS2xNG r0M7xm+aBC4mXF3/Q0nT0XCGgNQa0EA/QVfW96CVHVjVjHaowTupk0SN+WKEWYxfRibf fMyI6OEBgay3Tak2mkG1mD7wbT8Wo1zYMs41M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=X91oj5wA5dH1eSrrDf+sOExF6krIz9e3RR88bvaCJIk=; b=cOpqIC8tkMkx10mO8zIenHcKyCCLlTk/99GMEvRFvd9yT2jIP3Ubmv+wsqF0eDbJLN F4m4HTRkGdyWuQdKHUFXpOn0Btu6clXrHNdMZrkhl5TztKfvg1n/o7kde585guPpuZ6w sWUkqz8XhcZX46dFeS/WFoxNBExIWWxG7Cv1E+IsNa660fQhUW4GxIX7wJuhOSmo/Hsr BZM+zB/ZsFOs52oF1GhOu0viyXHn1qt4w0CO0bsp0kqG1+uz3bvlgMC+3HS0p59u1p6f VYSwxhTpauu+ti7NSZJY0IKcSrbLcJOwVWulnkD9efvgre80vdcRahDOlrET9QzTX2tt z5ig== X-Gm-Message-State: ALoCoQkAu9R8RFAG4Jm0m4EofqzVupZ/PFqKE+7V2NLiqpmL7Z+aEXIbtsRebS5W+yWKdfRz9cr4 MIME-Version: 1.0 X-Received: by 10.236.65.227 with SMTP id f63mr4962099yhd.13.1402671019615; Fri, 13 Jun 2014 07:50:19 -0700 (PDT) Received: by 10.170.156.3 with HTTP; Fri, 13 Jun 2014 07:50:19 -0700 (PDT) In-Reply-To: <20140613000137.GV9508@dastard> References: <20140611230706.GL9508@dastard> <20140613000137.GV9508@dastard> Date: Fri, 13 Jun 2014 10:50:19 -0400 Message-ID: Subject: Re: (Un)known issue with XFS group quotas on LVM? From: John Desantis X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-yk0-f177.google.com[209.85.160.177] X-Barracuda-Start-Time: 1402671020 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Dave, > Order doesn't matter because the filesystem is supposed to check > against all enforced quotas, not just the first one. Thanks for confirming. > Again, you need to post the commands and output that demonstrate the > problem you are describing. I'm having trouble understanding what > your problem is because I can't see the raw output that you are > seeing... Ok, here are the default user and group quotas of my test account: xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 256K 0 0 00 [------] /export/shares xfs_quota> quota -gh rcadm Disk quotas for Group rcadm (1034) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 43.5G 0 0 00 [------] /export/shares Now, we'll limit them and then re-display the quotas: xfs_quota> limit -g bsoft=50G bhard=50G rcadm xfs_quota> limit -u bsoft=10G bhard=10G desantis.admin xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 256K 10G 10G 00 [------] /export/shares xfs_quota> quota -gh rcadm Disk quotas for Group rcadm (1034) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 43.5G 50G 50G 00 [------] /export/shares Here come the tests: # sudo -u desantis.admin -g rcadm dd if=/dev/zero of=/export/shares/rcadm/testfile_1 bs=1024M count=11 dd: writing `/export/shares/rcadm/testfile_1': Disk quota exceeded 7+0 records in 6+0 records out 6933651456 bytes (6.9 GB) copied, 19.7811 s, 351 MB/s xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 6.5G 10G 10G 00 [------] /export/shares xfs_quota> limit -u bsoft=0 bhard=0 desantis.admin xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 6.5G 0 0 00 [------] /export/shares # sudo -u desantis.admin -g rcadm dd if=/dev/zero of=/export/shares/rcadm/testfile_1 bs=1024M count=5 5+0 records in 5+0 records out 5368709120 bytes (5.4 GB) copied, 10.8275 s, 496 MB/s # sudo -u desantis.admin -g rcadm dd if=/dev/zero of=/export/shares/rcadm/testfile_2 bs=1024M count=5 dd: writing `/export/shares/rcadm/testfile_2': Disk quota exceeded 1+0 records in 0+0 records out 1028136960 bytes (1.0 GB) copied, 4.60859 s, 223 MB/s xfs_quota> quota -gh rcadm Disk quotas for Group rcadm (1034) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 50.0G 50G 50G 00 [------] /export/shares As you can see with the output, my user quota of 10 GB was enforced over the higher group quota of 50 GB. My original thought process was that since the file being created was specified for the group with the larger quota, that XFS would enforce that limit over the user quota. After reading over several pieces of quota documentation (RTFM!) from different O.S. distributions, it looks like you can either have a user or group quota getting enforced, but not both in the sense I was originally thinking. That being said, I really do appreciate the responses and extra set of eyes and apologize if I've wasted too much time. John DeSantis 2014-06-12 20:01 GMT-04:00 Dave Chinner : > On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote: >> Dave, >> >> Thanks for your reply. Let me address your questions and replies. >> >> > That doesn't sound like a filesystem problem. Sounds more like the >> > remote user/group configuration is getting squashed. Do the systems >> > have the same user/group configurations, or are the clients sending >> > group IDs the server doesn't recognise? >> >> Stracing shows that the group and user ID's are not being squashed and >> they are resolving each time to their respective UID/GID's. >> >> > As it is, describing the problem in text doesn't tell me anything >> > about the problem. You need to cut-n-paste the CLI and the output >> > showing the incorrect behaviour so we can attempt to reproduce the >> > same behaviour you are seeing. >> >> Busted. I figured before sending the usual gamut of console "action", >> I'd "save" time by simply presenting the symptoms. >> >> > I can't see how that is related to the filesystem - the filesystem >> > will either account for group quota usage or it won't. It doesn't >> > care what primary gid the process uses, it will simply account usage >> > to that... >> >> You're correct (but you already knew this!). I can tell you that >> running the quota report does show the group block count changing. >> >> It looks like this "issue" is my misunderstanding of how XFS is >> checking the quota. Perhaps you could shed some light? >> >> When you're using active user and group quotas on the same file system >> and the user quota is lower than the group quota, does XFS first check >> against the user quota and then the group quota? Is the order of >> operations user, group, and then project or does it depend on the >> mounting order of quotas? > > Order doesn't matter because the filesystem is supposed to check > against all enforced quotas, not just the first one. > >> In the case I presented yesterday, the user in question had a quota of >> 25 GB, but the group had an unlimited quota. Each time that I used >> sudo -u user -g group or logged into the user's account, the quota was >> always exceeded. Now that I have removed the user's quota, the group >> quota is now being respected properly. > > Again, you need to post the commands and output that demonstrate the > problem you are describing. I'm having trouble understanding what > your problem is because I can't see the raw output that you are > seeing... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From jack@suse.cz Fri Jun 13 10:02:16 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3D0A67F5F for ; Fri, 13 Jun 2014 10:02:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 120A3304039 for ; Fri, 13 Jun 2014 08:02:12 -0700 (PDT) X-ASG-Debug-ID: 1402671729-04bdf0566720e150001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id FCIpLcdwSxsiuOAe (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 13 Jun 2014 08:02:10 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id DE811AB1E; Fri, 13 Jun 2014 15:02:08 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 7FC1E81EC8; Fri, 13 Jun 2014 17:02:07 +0200 (CEST) Date: Fri, 13 Jun 2014 17:02:07 +0200 From: Jan Kara To: Brian Foster Cc: Jan Kara , xfs@oss.sgi.com, dchinner@redhat.com Subject: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140613150207.GA24615@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401900833-25485-1-git-send-email-jack@suse.cz> <20140604184440.GC55624@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140604184440.GC55624@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1402671730 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed 04-06-14 14:44:40, Brian Foster wrote: > On Wed, Jun 04, 2014 at 06:53:53PM +0200, Jan Kara wrote: > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > > result should be a number of a form (k*prod+mod) however due to sign > > mistake the result is different. As a result allocations on raid arrays > > could be misaligned in some cases. > > > > This also seems to fix occasional assertion failure: > > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > > in xfs_alloc_ag_vextent_size(). > > > > Also add an assertion that the result of xfs_alloc_fix_len() is of > > expected form. > > > > Signed-off-by: Jan Kara > > --- > > Looks good to me. Thanks Jan. > > Reviewed-by: Brian Foster Ping Dave? Are you going to pick up this patch? Honza > > fs/xfs/xfs_alloc.c | 18 ++++++++---------- > > 1 file changed, 8 insertions(+), 10 deletions(-) > > > > diff --git a/fs/xfs/xfs_alloc.c b/fs/xfs/xfs_alloc.c > > index c1cf6a336a72..1351a24d3cdc 100644 > > --- a/fs/xfs/xfs_alloc.c > > +++ b/fs/xfs/xfs_alloc.c > > @@ -257,16 +257,14 @@ xfs_alloc_fix_len( > > k = rlen % args->prod; > > if (k == args->mod) > > return; > > - if (k > args->mod) { > > - if ((int)(rlen = rlen - k - args->mod) < (int)args->minlen) > > - return; > > - } else { > > - if ((int)(rlen = rlen - args->prod - (args->mod - k)) < > > - (int)args->minlen) > > - return; > > - } > > - ASSERT(rlen >= args->minlen); > > - ASSERT(rlen <= args->maxlen); > > + if (k > args->mod) > > + rlen = rlen - (k - args->mod); > > + else > > + rlen = rlen - args->prod + (args->mod - k); > > + if ((int)rlen < (int)args->minlen) > > + return; > > + ASSERT(rlen >= args->minlen && rlen <= args->maxlen); > > + ASSERT(rlen % args->prod == args->mod); > > args->len = rlen; > > } > > > > -- > > 1.8.1.4 > > > > _______________________________________________ > > xfs mailing list > > xfs@oss.sgi.com > > http://oss.sgi.com/mailman/listinfo/xfs -- Jan Kara SUSE Labs, CR From andreimpopescu@gmail.com Fri Jun 13 10:24:35 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 95F387F3F for ; Fri, 13 Jun 2014 10:24:35 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6BAAD8F8035 for ; Fri, 13 Jun 2014 08:24:32 -0700 (PDT) X-ASG-Debug-ID: 1402673070-04cb6c78c31fe2f0001-NocioJ Received: from picconi.debian.org (picconi.debian.org [5.153.231.3]) by cuda.sgi.com with ESMTP id Uy51SMVNlK4I14uR (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 08:24:30 -0700 (PDT) X-Barracuda-Envelope-From: andreimpopescu@gmail.com X-Barracuda-Apparent-Source-IP: 5.153.231.3 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]) by picconi.debian.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from ) id 1WvTL5-0001dg-9Q for xfslibs-dev@packages.debian.org; Fri, 13 Jun 2014 15:24:29 +0000 Received: by mail-we0-f175.google.com with SMTP id k48so2188689wev.6 for ; Fri, 13 Jun 2014 08:24:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=rsk1kvZM4cOEuAQucnOvW/BLX52DNCevcr6/PD98Pjk=; b=xrqIe2kTWUSHWW2zPenx2y5QWaNMieNSjxuEtp3NF+EhGuoLYEj7nUFTj3+PVyHj6S sBo1FGcs58cC+dQolmQJqZg68GxUMklx6EIgJPvGgj0mvzDp+H5dwemHZJI6X8ueCZj1 E2dB6/pmhtAJT1yPqiwYj1hMWCxLNJXlZo2FksjyUcm0VgCfyBjCXnfwFncjG4AUqDmU f1nmmDCeD2JQAacnzgJuUXm+B1mR8pJ3g/9bi/24tn0zEDJBl2xolnw9n//FMz2e0ilQ 1nNPtt+t9VFisclDb0afoadH7lybUphquhU03+GHWhqx83Vd+gtLHBTtKaz/rcHQg6Tc 0DMA== X-Received: by 10.194.249.134 with SMTP id yu6mr5520095wjc.86.1402673057101; Fri, 13 Jun 2014 08:24:17 -0700 (PDT) Received: from sid.nuvreauspam ([92.86.142.199]) by mx.google.com with ESMTPSA id w6sm12485784eej.7.2014.06.13.08.24.15 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Jun 2014 08:24:16 -0700 (PDT) Received: by sid.nuvreauspam (Postfix, from userid 1077) id 8FCE6C0197; Fri, 13 Jun 2014 18:24:14 +0300 (EEST) Date: Fri, 13 Jun 2014 18:24:14 +0300 From: Andrei POPESCU To: Y Giridhar Appaji Nag , 751511@bugs.debian.org Cc: xfslibs-dev@packages.debian.org Subject: Re: Bug#751511: xfslibs-dev: Incorrect licensing information in debian/copyright Message-ID: <20140613152414.GF2840@sid.nuvreauspam> X-ASG-Orig-Subj: Re: Bug#751511: xfslibs-dev: Incorrect licensing information in debian/copyright References: <20140613142534.8854.10300.reportbug@sibsagar.btc.netapp.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="KJY2Ze80yH5MUxol" Content-Disposition: inline In-Reply-To: <20140613142534.8854.10300.reportbug@sibsagar.btc.netapp.com> X-Debbugs-No-Ack: please User-Agent: Mutt/1.5.23 (2014-03-12) Delivered-To: xfslibs-dev@packages.debian.org X-Barracuda-Connect: picconi.debian.org[5.153.231.3] X-Barracuda-Start-Time: 1402673070 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature --KJY2Ze80yH5MUxol Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Control: reassign -1 xfslibs-dev On Vi, 13 iun 14, 19:55:34, Y Giridhar Appaji Nag wrote: > Source: xfslibs-dev > Severity: serious > Justification: Policy 4.5 >=20 > It looks like the xfslibs-dev package source files are licensed under LGPL > v2.1, however the debian/copyright file indicates that only the libhandle > package is under LGPL and that the rest of the package is licensed under = GPL. >=20 > Giridhar >=20 > -- System Information: > Debian Release: jessie/sid > APT prefers testing-updates > APT policy: (500, 'testing-updates'), (500, 'testing') > Architecture: amd64 (x86_64) >=20 > Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores) > Locale: LANG=3Den_IN, LC_CTYPE=3Den_IN (charmap=3DUTF-8) > Shell: /bin/sh linked to /bin/dash >=20 --=20 http://wiki.debian.org/FAQsFromDebianUser Offtopic discussions among Debian users and developers: http://lists.alioth.debian.org/mailman/listinfo/d-community-offtopic http://nuvreauspam.ro/gpg-transition.txt --KJY2Ze80yH5MUxol Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJTmxeeAAoJEP/HhUTvIjQcv6cQAIVvnh272Yr6opa8k2zam+3K tzb/t867AvW5gw9rlZ5D57wpkkTzrvtexGn1HAiE+AJDXvdAypQ6wHBw/zE9sA66 cx/LnyGW47sHqYKZ5PoL5i9wOrLmAx4AveIFGuMJKMKTEq0MgeNncbiZx1yX0+4J gp/A51GCHJT+mcELP5FDrgvYsDUOnljkBG750jkuU56SysfLMWjypSnJgZpYOXOV FLsWHH4vrF5nkOEcgvtQRBIehRjUuuMed6SHf61OAJ6I09eP74e9f27ziTV7nxoX lzM1OLPhmTKrU9pcmHgjvagobGgTcj3rHTdkWWy4iHSlyc2mQQjfOyDhElcPHPp9 rcfJiU6x8r/4qhQxZKsD1Qm7NF/I3p/i2/8Nh571dK6oTyLhZ0ya3ois2cByQZsf TCW3K5fDA8ovtgUHere7Q9OTfShJugY3RHagVWT9ewO+0IomHt4j78VZ1wSTHFOY alYeIw9lNF+swf7cuq6kbhoSwe7HheZeix9R0zNVWRPiK7NOsPTpxaLKAg7NAdAE QYKV9XOw12GLiQ+DoCfff+Empa7mkPyc0AFe+42vBSbRKt/K6aAXrHe5InDEi+uu 9ndcz2oHHOiYZAhRGAryfy54ZqfDLqqQTY8rNPaVsRuHAjGjdYwhx5r6/I+eEvwJ y+wgli186CIALRpPhdBx =dUOr -----END PGP SIGNATURE----- --KJY2Ze80yH5MUxol-- From debbugs@buxtehude.debian.org Fri Jun 13 10:27:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 82A9C7F3F for ; Fri, 13 Jun 2014 10:27:30 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 65E6E8F8040 for ; Fri, 13 Jun 2014 08:27:30 -0700 (PDT) X-ASG-Debug-ID: 1402673246-04cbb00a029fe30001-NocioJ Received: from buxtehude.debian.org (buxtehude.debian.org [140.211.166.26]) by cuda.sgi.com with ESMTP id icogY4NGeTfkkBI2 (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 08:27:27 -0700 (PDT) X-Barracuda-Envelope-From: debbugs@buxtehude.debian.org X-Barracuda-Apparent-Source-IP: 140.211.166.26 Received: from debbugs by buxtehude.debian.org with local (Exim 4.80) (envelope-from ) id 1WvTNz-0001YA-PZ; Fri, 13 Jun 2014 15:27:23 +0000 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) Content-Type: text/plain; charset=utf-8 From: owner@bugs.debian.org (Debian Bug Tracking System) To: Andrei POPESCU CC: xfs@oss.sgi.com, unknown-package@qa.debian.org Subject: Processed: Re: Bug#751511: xfslibs-dev: Incorrect licensing information in debian/copyright Message-ID: X-ASG-Orig-Subj: Processed: Re: Bug#751511: xfslibs-dev: Incorrect licensing information in debian/copyright References: <20140613152414.GF2840@sid.nuvreauspam> <20140613142534.8854.10300.reportbug@sibsagar.btc.netapp.com> X-Debian-PR-Package: src:xfslibs-dev xfslibs-dev X-Debian-PR-Source: xfslibs-dev xfsprogs X-Debian-PR-Message: transcript X-Loop: owner@bugs.debian.org Date: Fri, 13 Jun 2014 15:27:23 +0000 Sender: Debian BTS X-Barracuda-Connect: buxtehude.debian.org[140.211.166.26] X-Barracuda-Start-Time: 1402673247 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6622 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Processing control commands: > reassign -1 xfslibs-dev Bug #751511 [src:xfslibs-dev] xfslibs-dev: Incorrect licensing information = in debian/copyright Warning: Unknown package 'src:xfslibs-dev' Bug reassigned from package 'src:xfslibs-dev' to 'xfslibs-dev'. Ignoring request to alter found versions of bug #751511 to the same values = previously set Ignoring request to alter fixed versions of bug #751511 to the same values = previously set --=20 751511: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D751511 Debian Bug Tracking System Contact owner@bugs.debian.org with problems From webmaster@getit5.subvalue.com Fri Jun 13 10:51:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A57D27F5E for ; Fri, 13 Jun 2014 10:51:45 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0B2C8AC004 for ; Fri, 13 Jun 2014 08:51:44 -0700 (PDT) X-ASG-Debug-ID: 1402674695-04cb6c78c61ffa00001-NocioJ Received: from server3.subvalue.com (server3.subvalue.com [115.124.106.60]) by cuda.sgi.com with ESMTP id ZZ1Qxb2BYbu1Zmfk (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 13 Jun 2014 08:51:37 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit5.subvalue.com X-Barracuda-Apparent-Source-IP: 115.124.106.60 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit5.subvalue.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=anSMAwk/PngI6/BQL5gxWgnyfjyVdotrMMsChZtKgAs=; b=GBGJTEvlvzMbIcmwAMcgVk1z23F0mnBeYZkZ4vPB7gEx1vg0p9w1yDrDWkA3QuAPs5m4G8/67eD6anpc+oLXwPK+MQj6pg4E0ABVORu/8zPLVezjVh6DY6j94asrKzP7XA27ccCZBN3oRMRQg2iwMQVW2bGO+XOlKctPHgxkFyU=; Received: from nobody by server3.subvalue.com with local (Exim 4.82) (envelope-from ) id 1WvTlM-0001F7-SY for xfs@oss.sgi.com; Fri, 13 Jun 2014 15:51:32 +0000 To: xfs@oss.sgi.com Subject: =?UTF-8?Q?Congratulations_!_You_are_Selected_Today_for_Some_=E2=80=9C_Spe?= =?UTF-8?Q?cial_Gift?= X-PHP-Script: getit5.subvalue.com/mailz/admin/index.php for 122.170.42.183 X-ASG-Orig-Subj: =?UTF-8?Q?Congratulations_!_You_are_Selected_Today_for_Some_=E2=80=9C_Spe?= =?UTF-8?Q?cial_Gift?= Received: from ABTS-mum-Dynamic-183.42.170.122.airtelbroadband.in [122.170.42.183] by getit5.subvalue.com with HTTP; Fri, 13 Jun 2014 14:26:17 +0000 Date: Fri, 13 Jun 2014 15:51:32 +0000 From: Lucky Day Reply-To: Lucky Day Message-ID: <7d60b6120ac703f51d93173bda323cf1@getit5.subvalue.com> X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 6 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit5.subvalue.com List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_7d60b6120ac703f51d93173bda323cf1" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server3.subvalue.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 32007] / [47 12] X-AntiAbuse: Sender Address Domain - getit5.subvalue.com X-Get-Message-Sender-Via: server3.subvalue.com: uid via acl_c_vhost_owner from authenticated_id: getit5su from //getit5.subvalue.com/mailz/admin/index.php for 122.170.42.183 /from_h X-Source: X-Source-Args: /usr/local/apache/bin/httpd -k start -DSSL X-Source-Dir: getit5.subvalue.com:/public_html/mailz/admin X-Barracuda-Connect: server3.subvalue.com[115.124.106.60] X-Barracuda-Start-Time: 1402674697 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6623 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --b1_7d60b6120ac703f51d93173bda323cf1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Incredible News for You, Just checkout our Latest Reward!! Choose your Favorite mobile, and bring Home "One of these" Choose it and Be the Owner Of Classy Mobile. -- This message was sent to xfs@oss.sgi.com by ankita@getit5.subvalue.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A Or you can opt-out completely=0A from all future mailings. =20 -- developed by Amol Job, www.mailsmagic.com -- --b1_7d60b6120ac703f51d93173bda323cf1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =0A =0A

 

Incredible News= for You, Just checkout our Latest Reward!! Choose your Favorite mobile, an= d bring Home "One of these&= quot;
3D"Samsung
3D"samsung
3D"Samsung 3D"Samsung
 
Choose it and Be th= e Owner Of Classy Mobile.

-- =20

This message was sent to xfs@oss.sgi.com by ankita@getit5.subvalue= .com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can opt-out completely from all future mailings.

=0A=0A=0A-- developed by Amol Job, www.mailsmagic.com --=0A=0A --b1_7d60b6120ac703f51d93173bda323cf1-- From bfoster@redhat.com Fri Jun 13 11:22:49 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D0F4D7F62 for ; Fri, 13 Jun 2014 11:22:49 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B9F18304032 for ; Fri, 13 Jun 2014 09:22:46 -0700 (PDT) X-ASG-Debug-ID: 1402676562-04cbb00a03a2cc0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Z1pT94Ze3AgyAGeW for ; Fri, 13 Jun 2014 09:22:42 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5DGMcnO026422 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jun 2014 12:22:39 -0400 Received: from laptop.bfoster (vpn-63-104.rdu2.redhat.com [10.10.63.104]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5DGMbgc019796; Fri, 13 Jun 2014 12:22:38 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 8EF0A120AC0; Fri, 13 Jun 2014 12:22:37 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s5DGMaK4011200; Fri, 13 Jun 2014 12:22:36 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 13 Jun 2014 12:22:36 -0400 From: Brian Foster To: John Desantis Cc: Dave Chinner , xfs@oss.sgi.com Subject: Re: (Un)known issue with XFS group quotas on LVM? Message-ID: <20140613162235.GA9232@laptop.bfoster> X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? References: <20140611230706.GL9508@dastard> <20140613000137.GV9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402676562 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 13, 2014 at 10:50:19AM -0400, John Desantis wrote: > Dave, > > > Order doesn't matter because the filesystem is supposed to check > > against all enforced quotas, not just the first one. > > Thanks for confirming. > > > Again, you need to post the commands and output that demonstrate the > > problem you are describing. I'm having trouble understanding what > > your problem is because I can't see the raw output that you are > > seeing... > > Ok, here are the default user and group quotas of my test account: > > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 256K 0 0 00 [------] /export/shares > > xfs_quota> quota -gh rcadm > Disk quotas for Group rcadm (1034) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 43.5G 0 0 00 [------] /export/shares > > Now, we'll limit them and then re-display the quotas: > > xfs_quota> limit -g bsoft=50G bhard=50G rcadm > xfs_quota> limit -u bsoft=10G bhard=10G desantis.admin > > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 256K 10G 10G 00 [------] /export/shares > > xfs_quota> quota -gh rcadm > Disk quotas for Group rcadm (1034) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 43.5G 50G 50G 00 [------] /export/shares > So you've got 10G quota with about as much available and a 50G quota with ~6.5GB available. > Here come the tests: > > # sudo -u desantis.admin -g rcadm dd if=/dev/zero > of=/export/shares/rcadm/testfile_1 bs=1024M count=11 > dd: writing `/export/shares/rcadm/testfile_1': Disk quota exceeded > 7+0 records in > 6+0 records out > 6933651456 bytes (6.9 GB) copied, 19.7811 s, 351 MB/s > It looks like you've hit the 50G quota. > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 6.5G 10G 10G 00 [------] /export/shares > > xfs_quota> limit -u bsoft=0 bhard=0 desantis.admin > Now the 10G quota is gone. > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 6.5G 0 0 00 [------] /export/shares > > # sudo -u desantis.admin -g rcadm dd if=/dev/zero > of=/export/shares/rcadm/testfile_1 bs=1024M count=5 > 5+0 records in > 5+0 records out > 5368709120 bytes (5.4 GB) copied, 10.8275 s, 496 MB/s > You overwrite the previously written 6.5G file to 5.4G (dd will truncate). > # sudo -u desantis.admin -g rcadm dd if=/dev/zero > of=/export/shares/rcadm/testfile_2 bs=1024M count=5 > dd: writing `/export/shares/rcadm/testfile_2': Disk quota exceeded > 1+0 records in > 0+0 records out > 1028136960 bytes (1.0 GB) copied, 4.60859 s, 223 MB/s > Then create a new file and run into the 50G limit again. > xfs_quota> quota -gh rcadm > Disk quotas for Group rcadm (1034) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 50.0G 50G 50G 00 [------] /export/shares > > > As you can see with the output, my user quota of 10 GB was enforced > over the higher group quota of 50 GB. My original thought process was > that since the file being created was specified for the group with the > larger quota, that XFS would enforce that limit over the user quota. > After reading over several pieces of quota documentation (RTFM!) from > different O.S. distributions, it looks like you can either have a user > or group quota getting enforced, but not both in the sense I was > originally thinking. > This all seems like normal behavior to me. What gives you the impression that you are hitting the 10G quota? The fact that the quota is reset and writing continues? Note that dd will truncate a file before it starts writing unless notrunc is specified. Brian > That being said, I really do appreciate the responses and extra set of > eyes and apologize if I've wasted too much time. > > John DeSantis > > 2014-06-12 20:01 GMT-04:00 Dave Chinner : > > On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote: > >> Dave, > >> > >> Thanks for your reply. Let me address your questions and replies. > >> > >> > That doesn't sound like a filesystem problem. Sounds more like the > >> > remote user/group configuration is getting squashed. Do the systems > >> > have the same user/group configurations, or are the clients sending > >> > group IDs the server doesn't recognise? > >> > >> Stracing shows that the group and user ID's are not being squashed and > >> they are resolving each time to their respective UID/GID's. > >> > >> > As it is, describing the problem in text doesn't tell me anything > >> > about the problem. You need to cut-n-paste the CLI and the output > >> > showing the incorrect behaviour so we can attempt to reproduce the > >> > same behaviour you are seeing. > >> > >> Busted. I figured before sending the usual gamut of console "action", > >> I'd "save" time by simply presenting the symptoms. > >> > >> > I can't see how that is related to the filesystem - the filesystem > >> > will either account for group quota usage or it won't. It doesn't > >> > care what primary gid the process uses, it will simply account usage > >> > to that... > >> > >> You're correct (but you already knew this!). I can tell you that > >> running the quota report does show the group block count changing. > >> > >> It looks like this "issue" is my misunderstanding of how XFS is > >> checking the quota. Perhaps you could shed some light? > >> > >> When you're using active user and group quotas on the same file system > >> and the user quota is lower than the group quota, does XFS first check > >> against the user quota and then the group quota? Is the order of > >> operations user, group, and then project or does it depend on the > >> mounting order of quotas? > > > > Order doesn't matter because the filesystem is supposed to check > > against all enforced quotas, not just the first one. > > > >> In the case I presented yesterday, the user in question had a quota of > >> 25 GB, but the group had an unlimited quota. Each time that I used > >> sudo -u user -g group or logged into the user's account, the quota was > >> always exceeded. Now that I have removed the user's quota, the group > >> quota is now being respected properly. > > > > Again, you need to post the commands and output that demonstrate the > > problem you are describing. I'm having trouble understanding what > > your problem is because I can't see the raw output that you are > > seeing... > > > > Cheers, > > > > Dave. > > -- > > Dave Chinner > > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From BATV+02dd9095e33e1734139a+3946+infradead.org+hch@bombadil.srs.infradead.org Fri Jun 13 11:23:56 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 2608A7F62 for ; Fri, 13 Jun 2014 11:23:56 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 81D4DAC004 for ; Fri, 13 Jun 2014 09:23:54 -0700 (PDT) X-ASG-Debug-ID: 1402676632-04cb6c78c42012b0001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id aXaveU3iNs4jPlD2 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 13 Jun 2014 09:23:53 -0700 (PDT) X-Barracuda-Envelope-From: BATV+02dd9095e33e1734139a+3946+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WvUGe-0004zq-Ms; Fri, 13 Jun 2014 16:23:52 +0000 Date: Fri, 13 Jun 2014 09:23:52 -0700 From: Christoph Hellwig To: Dave Chinner Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140613162352.GB23394@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140612234441.GT9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) 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[198.137.202.9] X-Barracuda-Start-Time: 1402676633 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6623 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: > On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: > > There doesn't really seem anything XFS specific here, so instead > > of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c > > based on the workqueue and ->fsync. > > I really don't know whether the other ->fsync methods in other > filesystems can stand alone like that. I also don't have the > time to test that it works properly on all filesystems right now. Of course they can, as shown by various calls to vfs_fsync_range that is nothing but a small wrapper around ->fsync. I'm pretty sure if you Cc linux-fsdevel you'll find plenty of testers. -fsdevel and -man should get a Cc anyway when implementing an ABI that had it's constants defines but never was implemented properly. Talking about documentation: The kernel aio manpages (io_*.2) seems to not really be very useful, mostly because they don't explain how to set up the iocbs. Michael, any idea how to get started to improve this? > Also, doing this implementation in fs/aio.c would mean we can't > optimise it to reduce things like log forces by splitting up the > work of concurrent fsyncs into a single log force of the highest > LSN of the batch of fsyncs being run. We also want to be able to do > "background fsync" where latency doesn't matter and we only want to > trickle them out rather than issue them as fast as we possibly can. It didn't really sound like you were aiming for that. But in that case the current implementation is still useful as a generic_file_aio_fsync as suggested by Brian. > So I really don't see this as the infrastructure solution that > everyone uses. It could be made a generic method with the filesystem > passing the workqueue to use to generic_aio_fsync(), but for XFS I > see it turning into something much more complex and optimised... Why not have a common workqueue? In fact we already have a common workqueue to call ->fsync from aio code to implement aio O_SYNC anyway. From desantis@mail.usf.edu Fri Jun 13 12:00:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 1AD987F6A for ; Fri, 13 Jun 2014 12:00:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D6169304039 for ; Fri, 13 Jun 2014 10:00:43 -0700 (PDT) X-ASG-Debug-ID: 1402678841-04bdf056682136d0001-NocioJ Received: from mail-yk0-f171.google.com (mail-yk0-f171.google.com [209.85.160.171]) by cuda.sgi.com with ESMTP id NKkHC7wmNF2TFqJo (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 10:00:41 -0700 (PDT) X-Barracuda-Envelope-From: desantis@mail.usf.edu X-Barracuda-Apparent-Source-IP: 209.85.160.171 Received: by mail-yk0-f171.google.com with SMTP id 200so2249959ykr.16 for ; Fri, 13 Jun 2014 10:00:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.usf.edu; s=googleapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Gq+SGlil0C3B2DhiCDkgLD2H67Rrxrn1M+04edi9jjw=; b=hYz2oZhdxyHGPLPwiQ53RtwwZod01/ndShKhpnJDx+/3hv0QYOAc6EZeRnFzRIuESJ CKa6pS020xxrf8p0QUm3Gs9VO6JW3PR3MFPFjM68P+LreEuSeDHd7bq3CQKbHk11zoCk u8X7HfxWVel3hFcoKjFHvwnkePALgrc0kDiFU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Gq+SGlil0C3B2DhiCDkgLD2H67Rrxrn1M+04edi9jjw=; b=b+JZF87EGz+RjiXxBoAs4en9qwiSuVG9Unz7mOyomU5lD7bK/lb1DHR04JME6l6xjL sTZ8NkhpjXBEUB9XRTcZsrh/je/BXNONt6Oia2rRbpf2XiMlrL+XcFr30uo3eeL+Emag fJ5dcSxHgfbzkkLSwN+L/1hmwVAboj3PZ1xGn9ZU4uElcEHEp/sZUCKVlJkM9XSfnegL NNgSO8ozzWVa+nLz6MPNqdjgcEraiwhz8Upes1hZmKK0jNyjOEqsDACUnevK1WHrRisW yjM/qrQeYR7oOoX7ZUC8tqYe/50TnddGSRR7ycIvz1XurVn3zVdMVxAQODGKnwVQxGRR Y5Jg== X-Gm-Message-State: ALoCoQkMbR+dn5vf/oRfDWZpjZw4lSc6V7WcizMSnuLthFFWuql7z0DoezSbLdr8PS51KLQ6NM8v MIME-Version: 1.0 X-Received: by 10.236.14.234 with SMTP id d70mr6172558yhd.48.1402678841107; Fri, 13 Jun 2014 10:00:41 -0700 (PDT) Received: by 10.170.156.3 with HTTP; Fri, 13 Jun 2014 10:00:41 -0700 (PDT) In-Reply-To: <20140613162235.GA9232@laptop.bfoster> References: <20140611230706.GL9508@dastard> <20140613000137.GV9508@dastard> <20140613162235.GA9232@laptop.bfoster> Date: Fri, 13 Jun 2014 13:00:41 -0400 Message-ID: Subject: Re: (Un)known issue with XFS group quotas on LVM? From: John Desantis X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? To: Brian Foster Cc: Dave Chinner , xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-yk0-f171.google.com[209.85.160.171] X-Barracuda-Start-Time: 1402678841 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6624 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Brian, > This all seems like normal behavior to me. What gives you the impression > that you are hitting the 10G quota? The fact that the quota is reset and > writing continues? Note that dd will truncate a file before it starts > writing unless notrunc is specified. Yes, I am aware of the truncating, but not that particular option - thanks! I had experienced the "issue" when a user quota was set while the group quota was unlimited. See below. xfs_quota> limit -u bsoft=5G bhard=5G desantis.admin xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 256K 5G 5G 00 [------] /export/shares xfs_quota> limit -g bsoft=unlimited bhard=unlimited rcadm xfs_quota> quota -gh rcadm Disk quotas for Group rcadm (1034) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 43.5G 16E 16E 00 [------] /export/shares # sudo -u desantis.admin -g rcadm dd if=/dev/zero of=/export/shares/rcadm/testfile_morethan5G bs=1024M count=10 dd: writing `/export/shares/rcadm/testfile_morethan5G': Disk quota exceeded 5+0 records in 4+0 records out 5368442880 bytes (5.4 GB) copied, 10.5371 s, 509 MB/s xfs_quota> quota -uh desantis.admin Disk quotas for User desantis.admin (663800172) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 5.0G 5G 5G 00 [------] /export/shares xfs_quota> quota -gh rcadm Disk quotas for Group rcadm (1034) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/vg_drbd-shares 48.5G 16E 16E 00 [------] /export/shares As you can see, although the group quota did augment 5 GB, the user quota was enforced over the group quota. This is what led to my confusion. I had thought that the group quota would be respected over the user quota because I was specifying the group for the file being created. John DeSantis 2014-06-13 12:22 GMT-04:00 Brian Foster : > On Fri, Jun 13, 2014 at 10:50:19AM -0400, John Desantis wrote: >> Dave, >> >> > Order doesn't matter because the filesystem is supposed to check >> > against all enforced quotas, not just the first one. >> >> Thanks for confirming. >> >> > Again, you need to post the commands and output that demonstrate the >> > problem you are describing. I'm having trouble understanding what >> > your problem is because I can't see the raw output that you are >> > seeing... >> >> Ok, here are the default user and group quotas of my test account: >> >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 256K 0 0 00 [------] /export/shares >> >> xfs_quota> quota -gh rcadm >> Disk quotas for Group rcadm (1034) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 43.5G 0 0 00 [------] /export/shares >> >> Now, we'll limit them and then re-display the quotas: >> >> xfs_quota> limit -g bsoft=50G bhard=50G rcadm >> xfs_quota> limit -u bsoft=10G bhard=10G desantis.admin >> >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 256K 10G 10G 00 [------] /export/shares >> >> xfs_quota> quota -gh rcadm >> Disk quotas for Group rcadm (1034) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 43.5G 50G 50G 00 [------] /export/shares >> > > So you've got 10G quota with about as much available and a 50G quota > with ~6.5GB available. > >> Here come the tests: >> >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> of=/export/shares/rcadm/testfile_1 bs=1024M count=11 >> dd: writing `/export/shares/rcadm/testfile_1': Disk quota exceeded >> 7+0 records in >> 6+0 records out >> 6933651456 bytes (6.9 GB) copied, 19.7811 s, 351 MB/s >> > > It looks like you've hit the 50G quota. > >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 6.5G 10G 10G 00 [------] /export/shares >> >> xfs_quota> limit -u bsoft=0 bhard=0 desantis.admin >> > > Now the 10G quota is gone. > >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 6.5G 0 0 00 [------] /export/shares >> >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> of=/export/shares/rcadm/testfile_1 bs=1024M count=5 >> 5+0 records in >> 5+0 records out >> 5368709120 bytes (5.4 GB) copied, 10.8275 s, 496 MB/s >> > > You overwrite the previously written 6.5G file to 5.4G (dd will > truncate). > >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> of=/export/shares/rcadm/testfile_2 bs=1024M count=5 >> dd: writing `/export/shares/rcadm/testfile_2': Disk quota exceeded >> 1+0 records in >> 0+0 records out >> 1028136960 bytes (1.0 GB) copied, 4.60859 s, 223 MB/s >> > > Then create a new file and run into the 50G limit again. > >> xfs_quota> quota -gh rcadm >> Disk quotas for Group rcadm (1034) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 50.0G 50G 50G 00 [------] /export/shares >> >> >> As you can see with the output, my user quota of 10 GB was enforced >> over the higher group quota of 50 GB. My original thought process was >> that since the file being created was specified for the group with the >> larger quota, that XFS would enforce that limit over the user quota. >> After reading over several pieces of quota documentation (RTFM!) from >> different O.S. distributions, it looks like you can either have a user >> or group quota getting enforced, but not both in the sense I was >> originally thinking. >> > > This all seems like normal behavior to me. What gives you the impression > that you are hitting the 10G quota? The fact that the quota is reset and > writing continues? Note that dd will truncate a file before it starts > writing unless notrunc is specified. > > Brian > >> That being said, I really do appreciate the responses and extra set of >> eyes and apologize if I've wasted too much time. >> >> John DeSantis >> >> 2014-06-12 20:01 GMT-04:00 Dave Chinner : >> > On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote: >> >> Dave, >> >> >> >> Thanks for your reply. Let me address your questions and replies. >> >> >> >> > That doesn't sound like a filesystem problem. Sounds more like the >> >> > remote user/group configuration is getting squashed. Do the systems >> >> > have the same user/group configurations, or are the clients sending >> >> > group IDs the server doesn't recognise? >> >> >> >> Stracing shows that the group and user ID's are not being squashed and >> >> they are resolving each time to their respective UID/GID's. >> >> >> >> > As it is, describing the problem in text doesn't tell me anything >> >> > about the problem. You need to cut-n-paste the CLI and the output >> >> > showing the incorrect behaviour so we can attempt to reproduce the >> >> > same behaviour you are seeing. >> >> >> >> Busted. I figured before sending the usual gamut of console "action", >> >> I'd "save" time by simply presenting the symptoms. >> >> >> >> > I can't see how that is related to the filesystem - the filesystem >> >> > will either account for group quota usage or it won't. It doesn't >> >> > care what primary gid the process uses, it will simply account usage >> >> > to that... >> >> >> >> You're correct (but you already knew this!). I can tell you that >> >> running the quota report does show the group block count changing. >> >> >> >> It looks like this "issue" is my misunderstanding of how XFS is >> >> checking the quota. Perhaps you could shed some light? >> >> >> >> When you're using active user and group quotas on the same file system >> >> and the user quota is lower than the group quota, does XFS first check >> >> against the user quota and then the group quota? Is the order of >> >> operations user, group, and then project or does it depend on the >> >> mounting order of quotas? >> > >> > Order doesn't matter because the filesystem is supposed to check >> > against all enforced quotas, not just the first one. >> > >> >> In the case I presented yesterday, the user in question had a quota of >> >> 25 GB, but the group had an unlimited quota. Each time that I used >> >> sudo -u user -g group or logged into the user's account, the quota was >> >> always exceeded. Now that I have removed the user's quota, the group >> >> quota is now being respected properly. >> > >> > Again, you need to post the commands and output that demonstrate the >> > problem you are describing. I'm having trouble understanding what >> > your problem is because I can't see the raw output that you are >> > seeing... >> > >> > Cheers, >> > >> > Dave. >> > -- >> > Dave Chinner >> > david@fromorbit.com >> >> _______________________________________________ >> xfs mailing list >> xfs@oss.sgi.com >> http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Fri Jun 13 13:00:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 7F4407F6B for ; Fri, 13 Jun 2014 13:00:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 16907AC007 for ; Fri, 13 Jun 2014 11:00:00 -0700 (PDT) X-ASG-Debug-ID: 1402682399-04bdf05666216a80001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id LNKaWTk4XdGpzbix for ; Fri, 13 Jun 2014 10:59:59 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5DHxwtY029733 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 13 Jun 2014 13:59:58 -0400 Received: from laptop.bfoster (vpn-63-104.rdu2.redhat.com [10.10.63.104]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5DHxv3M031914; Fri, 13 Jun 2014 13:59:57 -0400 Received: from laptop.bfoster (localhost.localdomain [127.0.0.1]) by laptop.bfoster (Postfix) with ESMTP id 1EC07120AC0; Fri, 13 Jun 2014 13:59:57 -0400 (EDT) Received: (from bfoster@localhost) by laptop.bfoster (8.14.7/8.14.7/Submit) id s5DHxur6011745; Fri, 13 Jun 2014 13:59:56 -0400 X-Authentication-Warning: laptop.bfoster: bfoster set sender to bfoster@redhat.com using -f Date: Fri, 13 Jun 2014 13:59:55 -0400 From: Brian Foster To: John Desantis Cc: xfs@oss.sgi.com Subject: Re: (Un)known issue with XFS group quotas on LVM? Message-ID: <20140613175955.GB9232@laptop.bfoster> X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? References: <20140611230706.GL9508@dastard> <20140613000137.GV9508@dastard> <20140613162235.GA9232@laptop.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1402682399 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 13, 2014 at 01:00:41PM -0400, John Desantis wrote: > Brian, > > > This all seems like normal behavior to me. What gives you the impression > > that you are hitting the 10G quota? The fact that the quota is reset and > > writing continues? Note that dd will truncate a file before it starts > > writing unless notrunc is specified. > > Yes, I am aware of the truncating, but not that particular option - thanks! > > I had experienced the "issue" when a user quota was set while the > group quota was unlimited. See below. > > xfs_quota> limit -u bsoft=5G bhard=5G desantis.admin > > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 256K 5G 5G 00 [------] /export/shares > > xfs_quota> limit -g bsoft=unlimited bhard=unlimited rcadm > > xfs_quota> quota -gh rcadm > Disk quotas for Group rcadm (1034) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 43.5G 16E 16E 00 [------] /export/shares > > Ok, so a 5G user quota and effectively unlimited group quota. > # sudo -u desantis.admin -g rcadm dd if=/dev/zero > of=/export/shares/rcadm/testfile_morethan5G bs=1024M count=10 > dd: writing `/export/shares/rcadm/testfile_morethan5G': Disk quota exceeded > 5+0 records in > 4+0 records out > 5368442880 bytes (5.4 GB) copied, 10.5371 s, 509 MB/s > And you can write to the 5G quota. > xfs_quota> quota -uh desantis.admin > Disk quotas for User desantis.admin (663800172) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 5.0G 5G 5G 00 [------] /export/shares > > > xfs_quota> quota -gh rcadm > Disk quotas for Group rcadm (1034) > Filesystem Blocks Quota Limit Warn/Time Mounted on > /dev/mapper/vg_drbd-shares > 48.5G 16E 16E 00 [------] /export/shares > > As you can see, although the group quota did augment 5 GB, the user > quota was enforced over the group quota. This is what led to my > confusion. I had thought that the group quota would be respected over > the user quota because I was specifying the group for the file being > created. > Those are tracking how many blocks are accounted against each quota. As the output shows, the 5G from this file is being accounted against both. This means that for an allocation on this file to succeed, both quotas must have enough room for the allocation. It sounds like the misunderstanding is viewing a quota as an "allowance" rather than a "limit?" In the scenario above, the group quota effectively becomes a no-op. You'll never hit that limit, but that has no effect on the enforcement of other quotas against which a particular file might also be accounted. For example, if you were to set a new project quota of 1GB on the root directory of this mount, you won't have the ability to allocate any more than 1GB regardless of the user/group of the underlying files. Brian > John DeSantis > > > > 2014-06-13 12:22 GMT-04:00 Brian Foster : > > On Fri, Jun 13, 2014 at 10:50:19AM -0400, John Desantis wrote: > >> Dave, > >> > >> > Order doesn't matter because the filesystem is supposed to check > >> > against all enforced quotas, not just the first one. > >> > >> Thanks for confirming. > >> > >> > Again, you need to post the commands and output that demonstrate the > >> > problem you are describing. I'm having trouble understanding what > >> > your problem is because I can't see the raw output that you are > >> > seeing... > >> > >> Ok, here are the default user and group quotas of my test account: > >> > >> xfs_quota> quota -uh desantis.admin > >> Disk quotas for User desantis.admin (663800172) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 256K 0 0 00 [------] /export/shares > >> > >> xfs_quota> quota -gh rcadm > >> Disk quotas for Group rcadm (1034) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 43.5G 0 0 00 [------] /export/shares > >> > >> Now, we'll limit them and then re-display the quotas: > >> > >> xfs_quota> limit -g bsoft=50G bhard=50G rcadm > >> xfs_quota> limit -u bsoft=10G bhard=10G desantis.admin > >> > >> xfs_quota> quota -uh desantis.admin > >> Disk quotas for User desantis.admin (663800172) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 256K 10G 10G 00 [------] /export/shares > >> > >> xfs_quota> quota -gh rcadm > >> Disk quotas for Group rcadm (1034) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 43.5G 50G 50G 00 [------] /export/shares > >> > > > > So you've got 10G quota with about as much available and a 50G quota > > with ~6.5GB available. > > > >> Here come the tests: > >> > >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero > >> of=/export/shares/rcadm/testfile_1 bs=1024M count=11 > >> dd: writing `/export/shares/rcadm/testfile_1': Disk quota exceeded > >> 7+0 records in > >> 6+0 records out > >> 6933651456 bytes (6.9 GB) copied, 19.7811 s, 351 MB/s > >> > > > > It looks like you've hit the 50G quota. > > > >> xfs_quota> quota -uh desantis.admin > >> Disk quotas for User desantis.admin (663800172) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 6.5G 10G 10G 00 [------] /export/shares > >> > >> xfs_quota> limit -u bsoft=0 bhard=0 desantis.admin > >> > > > > Now the 10G quota is gone. > > > >> xfs_quota> quota -uh desantis.admin > >> Disk quotas for User desantis.admin (663800172) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 6.5G 0 0 00 [------] /export/shares > >> > >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero > >> of=/export/shares/rcadm/testfile_1 bs=1024M count=5 > >> 5+0 records in > >> 5+0 records out > >> 5368709120 bytes (5.4 GB) copied, 10.8275 s, 496 MB/s > >> > > > > You overwrite the previously written 6.5G file to 5.4G (dd will > > truncate). > > > >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero > >> of=/export/shares/rcadm/testfile_2 bs=1024M count=5 > >> dd: writing `/export/shares/rcadm/testfile_2': Disk quota exceeded > >> 1+0 records in > >> 0+0 records out > >> 1028136960 bytes (1.0 GB) copied, 4.60859 s, 223 MB/s > >> > > > > Then create a new file and run into the 50G limit again. > > > >> xfs_quota> quota -gh rcadm > >> Disk quotas for Group rcadm (1034) > >> Filesystem Blocks Quota Limit Warn/Time Mounted on > >> /dev/mapper/vg_drbd-shares > >> 50.0G 50G 50G 00 [------] /export/shares > >> > >> > >> As you can see with the output, my user quota of 10 GB was enforced > >> over the higher group quota of 50 GB. My original thought process was > >> that since the file being created was specified for the group with the > >> larger quota, that XFS would enforce that limit over the user quota. > >> After reading over several pieces of quota documentation (RTFM!) from > >> different O.S. distributions, it looks like you can either have a user > >> or group quota getting enforced, but not both in the sense I was > >> originally thinking. > >> > > > > This all seems like normal behavior to me. What gives you the impression > > that you are hitting the 10G quota? The fact that the quota is reset and > > writing continues? Note that dd will truncate a file before it starts > > writing unless notrunc is specified. > > > > Brian > > > >> That being said, I really do appreciate the responses and extra set of > >> eyes and apologize if I've wasted too much time. > >> > >> John DeSantis > >> > >> 2014-06-12 20:01 GMT-04:00 Dave Chinner : > >> > On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote: > >> >> Dave, > >> >> > >> >> Thanks for your reply. Let me address your questions and replies. > >> >> > >> >> > That doesn't sound like a filesystem problem. Sounds more like the > >> >> > remote user/group configuration is getting squashed. Do the systems > >> >> > have the same user/group configurations, or are the clients sending > >> >> > group IDs the server doesn't recognise? > >> >> > >> >> Stracing shows that the group and user ID's are not being squashed and > >> >> they are resolving each time to their respective UID/GID's. > >> >> > >> >> > As it is, describing the problem in text doesn't tell me anything > >> >> > about the problem. You need to cut-n-paste the CLI and the output > >> >> > showing the incorrect behaviour so we can attempt to reproduce the > >> >> > same behaviour you are seeing. > >> >> > >> >> Busted. I figured before sending the usual gamut of console "action", > >> >> I'd "save" time by simply presenting the symptoms. > >> >> > >> >> > I can't see how that is related to the filesystem - the filesystem > >> >> > will either account for group quota usage or it won't. It doesn't > >> >> > care what primary gid the process uses, it will simply account usage > >> >> > to that... > >> >> > >> >> You're correct (but you already knew this!). I can tell you that > >> >> running the quota report does show the group block count changing. > >> >> > >> >> It looks like this "issue" is my misunderstanding of how XFS is > >> >> checking the quota. Perhaps you could shed some light? > >> >> > >> >> When you're using active user and group quotas on the same file system > >> >> and the user quota is lower than the group quota, does XFS first check > >> >> against the user quota and then the group quota? Is the order of > >> >> operations user, group, and then project or does it depend on the > >> >> mounting order of quotas? > >> > > >> > Order doesn't matter because the filesystem is supposed to check > >> > against all enforced quotas, not just the first one. > >> > > >> >> In the case I presented yesterday, the user in question had a quota of > >> >> 25 GB, but the group had an unlimited quota. Each time that I used > >> >> sudo -u user -g group or logged into the user's account, the quota was > >> >> always exceeded. Now that I have removed the user's quota, the group > >> >> quota is now being respected properly. > >> > > >> > Again, you need to post the commands and output that demonstrate the > >> > problem you are describing. I'm having trouble understanding what > >> > your problem is because I can't see the raw output that you are > >> > seeing... > >> > > >> > Cheers, > >> > > >> > Dave. > >> > -- > >> > Dave Chinner > >> > david@fromorbit.com > >> > >> _______________________________________________ > >> 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 desantis@mail.usf.edu Fri Jun 13 13:21:10 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 92B9D7F6D for ; Fri, 13 Jun 2014 13:21:10 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 00DA3304039 for ; Fri, 13 Jun 2014 11:21:06 -0700 (PDT) X-ASG-Debug-ID: 1402683663-04bdf05667217b00001-NocioJ Received: from mail-yh0-f46.google.com (mail-yh0-f46.google.com [209.85.213.46]) by cuda.sgi.com with ESMTP id WU6UTwaVKXcGf9qu (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 13 Jun 2014 11:21:04 -0700 (PDT) X-Barracuda-Envelope-From: desantis@mail.usf.edu X-Barracuda-Apparent-Source-IP: 209.85.213.46 Received: by mail-yh0-f46.google.com with SMTP id c41so2420354yho.5 for ; Fri, 13 Jun 2014 11:21:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.usf.edu; s=googleapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=BVVZ+r83dFQmRy1iylT+oGz2Rkh7QngW2isyGbf3r3I=; b=COi5S8IIpQFDRodvOfY25UIapt+F0+200jolqqYlOTDP7lAJFCIvmDZlJW4IPft7S1 LqXCA+6U3Tfe4Mb+s8hIkKkU5XMHa8K4IAOBLaGfQ/9+/TsAixVvMyP9Sj0lD/+CIKa3 SXoiT6datifwbjyctDwrg5Pu4cBIUu4P88bEQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=BVVZ+r83dFQmRy1iylT+oGz2Rkh7QngW2isyGbf3r3I=; b=Sey7OAzi0UdwNkbXpptB3IfHB8Jmyxk17ZT/qfrKWfpdUIYn39zGJpQpOgmOCqWM2x 9erXM8Uvin9xk68XxokMnJcHOASvrrGPaNy0eXq4smh7O4v+hNYMfZvvxKX4JSlpas9L kDy1aVO5wKhlvsn405EZ3+3+/YZToPvoCtSPOLomBjhxMlqpwrOTeKR+QFbR1GcTzN9e b6B/vErrKkulSEqPDubEGz0jlg6Tg9GC9c/pz91IZZ3buyCcO9kiWB1VZ7rUF/D0A5Bg VwQI6ki0DLv6EfcUI4UzeZHQE/zvfLSdS7+bY9p6iI/oASP297IlYMe3DKpnZy2zQEJa 19fw== X-Gm-Message-State: ALoCoQmXGxfqOvdWrxW/kP20ahlbyniFNLWbUhM1Sv6F+CFE2+XJ5tgcOei369blOgvSe3YrLcEk MIME-Version: 1.0 X-Received: by 10.236.144.137 with SMTP id n9mr6676344yhj.89.1402683663639; Fri, 13 Jun 2014 11:21:03 -0700 (PDT) Received: by 10.170.156.3 with HTTP; Fri, 13 Jun 2014 11:21:03 -0700 (PDT) In-Reply-To: <20140613175955.GB9232@laptop.bfoster> References: <20140611230706.GL9508@dastard> <20140613000137.GV9508@dastard> <20140613162235.GA9232@laptop.bfoster> <20140613175955.GB9232@laptop.bfoster> Date: Fri, 13 Jun 2014 14:21:03 -0400 Message-ID: Subject: Re: (Un)known issue with XFS group quotas on LVM? From: John Desantis X-ASG-Orig-Subj: Re: (Un)known issue with XFS group quotas on LVM? To: Brian Foster Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-yh0-f46.google.com[209.85.213.46] X-Barracuda-Start-Time: 1402683664 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6625 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Brian, > Those are tracking how many blocks are accounted against each quota. As > the output shows, the 5G from this file is being accounted against both. > This means that for an allocation on this file to succeed, both quotas > must have enough room for the allocation. This is what I had did earlier to satisfy users while the confusion lingered. I basically augmented whichever the smaller quota was. > It sounds like the misunderstanding is viewing a quota as an "allowance" > rather than a "limit?" In the scenario above, the group quota > effectively becomes a no-op. You'll never hit that limit, but that has > no effect on the enforcement of other quotas against which a particular > file might also be accounted. > > For example, if you were to set a new project quota of 1GB on the root > directory of this mount, you won't have the ability to allocate any more > than 1GB regardless of the user/group of the underlying files. I do believe this is from where my confusion was stemming. A big thanks to you and Dave for clearing this up! John DeSantis 2014-06-13 13:59 GMT-04:00 Brian Foster : > On Fri, Jun 13, 2014 at 01:00:41PM -0400, John Desantis wrote: >> Brian, >> >> > This all seems like normal behavior to me. What gives you the impression >> > that you are hitting the 10G quota? The fact that the quota is reset and >> > writing continues? Note that dd will truncate a file before it starts >> > writing unless notrunc is specified. >> >> Yes, I am aware of the truncating, but not that particular option - thanks! >> >> I had experienced the "issue" when a user quota was set while the >> group quota was unlimited. See below. >> >> xfs_quota> limit -u bsoft=5G bhard=5G desantis.admin >> >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 256K 5G 5G 00 [------] /export/shares >> >> xfs_quota> limit -g bsoft=unlimited bhard=unlimited rcadm >> >> xfs_quota> quota -gh rcadm >> Disk quotas for Group rcadm (1034) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 43.5G 16E 16E 00 [------] /export/shares >> >> > > Ok, so a 5G user quota and effectively unlimited group quota. > >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> of=/export/shares/rcadm/testfile_morethan5G bs=1024M count=10 >> dd: writing `/export/shares/rcadm/testfile_morethan5G': Disk quota exceeded >> 5+0 records in >> 4+0 records out >> 5368442880 bytes (5.4 GB) copied, 10.5371 s, 509 MB/s >> > > And you can write to the 5G quota. > >> xfs_quota> quota -uh desantis.admin >> Disk quotas for User desantis.admin (663800172) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 5.0G 5G 5G 00 [------] /export/shares >> >> >> xfs_quota> quota -gh rcadm >> Disk quotas for Group rcadm (1034) >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> /dev/mapper/vg_drbd-shares >> 48.5G 16E 16E 00 [------] /export/shares >> >> As you can see, although the group quota did augment 5 GB, the user >> quota was enforced over the group quota. This is what led to my >> confusion. I had thought that the group quota would be respected over >> the user quota because I was specifying the group for the file being >> created. >> > > Those are tracking how many blocks are accounted against each quota. As > the output shows, the 5G from this file is being accounted against both. > This means that for an allocation on this file to succeed, both quotas > must have enough room for the allocation. > > It sounds like the misunderstanding is viewing a quota as an "allowance" > rather than a "limit?" In the scenario above, the group quota > effectively becomes a no-op. You'll never hit that limit, but that has > no effect on the enforcement of other quotas against which a particular > file might also be accounted. > > For example, if you were to set a new project quota of 1GB on the root > directory of this mount, you won't have the ability to allocate any more > than 1GB regardless of the user/group of the underlying files. > > Brian > >> John DeSantis >> >> >> >> 2014-06-13 12:22 GMT-04:00 Brian Foster : >> > On Fri, Jun 13, 2014 at 10:50:19AM -0400, John Desantis wrote: >> >> Dave, >> >> >> >> > Order doesn't matter because the filesystem is supposed to check >> >> > against all enforced quotas, not just the first one. >> >> >> >> Thanks for confirming. >> >> >> >> > Again, you need to post the commands and output that demonstrate the >> >> > problem you are describing. I'm having trouble understanding what >> >> > your problem is because I can't see the raw output that you are >> >> > seeing... >> >> >> >> Ok, here are the default user and group quotas of my test account: >> >> >> >> xfs_quota> quota -uh desantis.admin >> >> Disk quotas for User desantis.admin (663800172) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 256K 0 0 00 [------] /export/shares >> >> >> >> xfs_quota> quota -gh rcadm >> >> Disk quotas for Group rcadm (1034) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 43.5G 0 0 00 [------] /export/shares >> >> >> >> Now, we'll limit them and then re-display the quotas: >> >> >> >> xfs_quota> limit -g bsoft=50G bhard=50G rcadm >> >> xfs_quota> limit -u bsoft=10G bhard=10G desantis.admin >> >> >> >> xfs_quota> quota -uh desantis.admin >> >> Disk quotas for User desantis.admin (663800172) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 256K 10G 10G 00 [------] /export/shares >> >> >> >> xfs_quota> quota -gh rcadm >> >> Disk quotas for Group rcadm (1034) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 43.5G 50G 50G 00 [------] /export/shares >> >> >> > >> > So you've got 10G quota with about as much available and a 50G quota >> > with ~6.5GB available. >> > >> >> Here come the tests: >> >> >> >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> >> of=/export/shares/rcadm/testfile_1 bs=1024M count=11 >> >> dd: writing `/export/shares/rcadm/testfile_1': Disk quota exceeded >> >> 7+0 records in >> >> 6+0 records out >> >> 6933651456 bytes (6.9 GB) copied, 19.7811 s, 351 MB/s >> >> >> > >> > It looks like you've hit the 50G quota. >> > >> >> xfs_quota> quota -uh desantis.admin >> >> Disk quotas for User desantis.admin (663800172) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 6.5G 10G 10G 00 [------] /export/shares >> >> >> >> xfs_quota> limit -u bsoft=0 bhard=0 desantis.admin >> >> >> > >> > Now the 10G quota is gone. >> > >> >> xfs_quota> quota -uh desantis.admin >> >> Disk quotas for User desantis.admin (663800172) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 6.5G 0 0 00 [------] /export/shares >> >> >> >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> >> of=/export/shares/rcadm/testfile_1 bs=1024M count=5 >> >> 5+0 records in >> >> 5+0 records out >> >> 5368709120 bytes (5.4 GB) copied, 10.8275 s, 496 MB/s >> >> >> > >> > You overwrite the previously written 6.5G file to 5.4G (dd will >> > truncate). >> > >> >> # sudo -u desantis.admin -g rcadm dd if=/dev/zero >> >> of=/export/shares/rcadm/testfile_2 bs=1024M count=5 >> >> dd: writing `/export/shares/rcadm/testfile_2': Disk quota exceeded >> >> 1+0 records in >> >> 0+0 records out >> >> 1028136960 bytes (1.0 GB) copied, 4.60859 s, 223 MB/s >> >> >> > >> > Then create a new file and run into the 50G limit again. >> > >> >> xfs_quota> quota -gh rcadm >> >> Disk quotas for Group rcadm (1034) >> >> Filesystem Blocks Quota Limit Warn/Time Mounted on >> >> /dev/mapper/vg_drbd-shares >> >> 50.0G 50G 50G 00 [------] /export/shares >> >> >> >> >> >> As you can see with the output, my user quota of 10 GB was enforced >> >> over the higher group quota of 50 GB. My original thought process was >> >> that since the file being created was specified for the group with the >> >> larger quota, that XFS would enforce that limit over the user quota. >> >> After reading over several pieces of quota documentation (RTFM!) from >> >> different O.S. distributions, it looks like you can either have a user >> >> or group quota getting enforced, but not both in the sense I was >> >> originally thinking. >> >> >> > >> > This all seems like normal behavior to me. What gives you the impression >> > that you are hitting the 10G quota? The fact that the quota is reset and >> > writing continues? Note that dd will truncate a file before it starts >> > writing unless notrunc is specified. >> > >> > Brian >> > >> >> That being said, I really do appreciate the responses and extra set of >> >> eyes and apologize if I've wasted too much time. >> >> >> >> John DeSantis >> >> >> >> 2014-06-12 20:01 GMT-04:00 Dave Chinner : >> >> > On Thu, Jun 12, 2014 at 10:04:29AM -0400, John Desantis wrote: >> >> >> Dave, >> >> >> >> >> >> Thanks for your reply. Let me address your questions and replies. >> >> >> >> >> >> > That doesn't sound like a filesystem problem. Sounds more like the >> >> >> > remote user/group configuration is getting squashed. Do the systems >> >> >> > have the same user/group configurations, or are the clients sending >> >> >> > group IDs the server doesn't recognise? >> >> >> >> >> >> Stracing shows that the group and user ID's are not being squashed and >> >> >> they are resolving each time to their respective UID/GID's. >> >> >> >> >> >> > As it is, describing the problem in text doesn't tell me anything >> >> >> > about the problem. You need to cut-n-paste the CLI and the output >> >> >> > showing the incorrect behaviour so we can attempt to reproduce the >> >> >> > same behaviour you are seeing. >> >> >> >> >> >> Busted. I figured before sending the usual gamut of console "action", >> >> >> I'd "save" time by simply presenting the symptoms. >> >> >> >> >> >> > I can't see how that is related to the filesystem - the filesystem >> >> >> > will either account for group quota usage or it won't. It doesn't >> >> >> > care what primary gid the process uses, it will simply account usage >> >> >> > to that... >> >> >> >> >> >> You're correct (but you already knew this!). I can tell you that >> >> >> running the quota report does show the group block count changing. >> >> >> >> >> >> It looks like this "issue" is my misunderstanding of how XFS is >> >> >> checking the quota. Perhaps you could shed some light? >> >> >> >> >> >> When you're using active user and group quotas on the same file system >> >> >> and the user quota is lower than the group quota, does XFS first check >> >> >> against the user quota and then the group quota? Is the order of >> >> >> operations user, group, and then project or does it depend on the >> >> >> mounting order of quotas? >> >> > >> >> > Order doesn't matter because the filesystem is supposed to check >> >> > against all enforced quotas, not just the first one. >> >> > >> >> >> In the case I presented yesterday, the user in question had a quota of >> >> >> 25 GB, but the group had an unlimited quota. Each time that I used >> >> >> sudo -u user -g group or logged into the user's account, the quota was >> >> >> always exceeded. Now that I have removed the user's quota, the group >> >> >> quota is now being respected properly. >> >> > >> >> > Again, you need to post the commands and output that demonstrate the >> >> > problem you are describing. I'm having trouble understanding what >> >> > your problem is because I can't see the raw output that you are >> >> > seeing... >> >> > >> >> > Cheers, >> >> > >> >> > Dave. >> >> > -- >> >> > Dave Chinner >> >> > david@fromorbit.com >> >> >> >> _______________________________________________ >> >> 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 sandeen@sandeen.net Fri Jun 13 16:10:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9D17D7F6D for ; Fri, 13 Jun 2014 16:10:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 7610F8F8035 for ; Fri, 13 Jun 2014 14:10:37 -0700 (PDT) X-ASG-Debug-ID: 1402693835-04cbb00a03b0cb0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id uxI7zly4M5UmX5it for ; Fri, 13 Jun 2014 14:10:36 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id AABFD63B97E3; Fri, 13 Jun 2014 16:10:35 -0500 (CDT) Message-ID: <539B68D2.2000300@sandeen.net> Date: Fri, 13 Jun 2014 16:10:42 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: xfs-oss , fstests@vger.kernel.org Subject: [PATCH] xfs/279: use MKFS_XFS_PROG, not hardcoded path X-Enigmail-Version: 1.6 X-ASG-Orig-Subj: [PATCH] xfs/279: use MKFS_XFS_PROG, not hardcoded path Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402693835 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6628 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I'm really not sure why this wasn't this way from the start. On some systems it's in /usr/sbin, and the test fails. Signed-off-by: Eric Sandeen --- diff --git a/tests/xfs/279 b/tests/xfs/279 index 872f8be..cde7d21 100755 --- a/tests/xfs/279 +++ b/tests/xfs/279 @@ -62,7 +62,7 @@ _check_mkfs() { echo "===================" echo "mkfs with opts: $@" | sed -e "s,/dev/sd.,DEVICE," - /sbin/mkfs.xfs $@ 2>/dev/null > $tmp.mkfs.full + $MKFS_XFS_PROG $@ 2>/dev/null > $tmp.mkfs.full if [ $? -ne 0 ]; then echo "Failed." return From david@fromorbit.com Fri Jun 13 18:56:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3286A7F53 for ; Fri, 13 Jun 2014 18:56:32 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1D15D304048 for ; Fri, 13 Jun 2014 16:56:28 -0700 (PDT) X-ASG-Debug-ID: 1402703786-04cb6c78c5214310001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id E0XQQkaSzLHHa568 for ; Fri, 13 Jun 2014 16:56:26 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArFEACOPm1N5LC2vPGdsb2JhbABagw1SgnSnRwEBAQEBAQaZIgGBBBcEAQEBATg1hAMBAQU6HCMQCAMOCgklDwUlAwcaE4hBDs9sEwQWhUeGe4IHB4MrgRYEmjaLMYt3Ky8BAw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 14 Jun 2014 09:26:25 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WvbKY-0001vX-NV; Sat, 14 Jun 2014 09:56:22 +1000 Date: Sat, 14 Jun 2014 09:56:22 +1000 From: Dave Chinner To: Jan Kara Cc: Brian Foster , dchinner@redhat.com, xfs@oss.sgi.com Subject: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140613235622.GA9508@dastard> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401900833-25485-1-git-send-email-jack@suse.cz> <20140604184440.GC55624@bfoster.bfoster> <20140613150207.GA24615@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613150207.GA24615@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1402703786 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6631 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 13, 2014 at 05:02:07PM +0200, Jan Kara wrote: > On Wed 04-06-14 14:44:40, Brian Foster wrote: > > On Wed, Jun 04, 2014 at 06:53:53PM +0200, Jan Kara wrote: > > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > > > result should be a number of a form (k*prod+mod) however due to sign > > > mistake the result is different. As a result allocations on raid arrays > > > could be misaligned in some cases. > > > > > > This also seems to fix occasional assertion failure: > > > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > > > in xfs_alloc_ag_vextent_size(). > > > > > > Also add an assertion that the result of xfs_alloc_fix_len() is of > > > expected form. > > > > > > Signed-off-by: Jan Kara > > > --- > > > > Looks good to me. Thanks Jan. > > > > Reviewed-by: Brian Foster > Ping Dave? Are you going to pick up this patch? I did - it's already in Linus' tree for 3.16: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs/xfs_alloc.c?id=30265117ee1e23fa91920f337a3ea91207f700dc Cheers, Dave. -- Dave Chinner david@fromorbit.com From debbugs@buxtehude.debian.org Sun Jun 15 05:15:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 71ED27F3F for ; Sun, 15 Jun 2014 05:15:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5A56B3041C0 for ; Sun, 15 Jun 2014 03:15:28 -0700 (PDT) X-ASG-Debug-ID: 1402827326-04cbb00a01e6bd0001-NocioJ Received: from buxtehude.debian.org (buxtehude.debian.org [140.211.166.26]) by cuda.sgi.com with ESMTP id PziCNF3djRriiUfX (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Sun, 15 Jun 2014 03:15:27 -0700 (PDT) X-Barracuda-Envelope-From: debbugs@buxtehude.debian.org X-Barracuda-Apparent-Source-IP: 140.211.166.26 Received: from debbugs by buxtehude.debian.org with local (Exim 4.80) (envelope-from ) id 1Ww7T8-0001tx-OK; Sun, 15 Jun 2014 10:15:22 +0000 X-Loop: owner@bugs.debian.org Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) Content-Type: text/plain; charset=utf-8 From: owner@bugs.debian.org (Debian Bug Tracking System) To: Holger Levsen CC: xfs@oss.sgi.com, pkg-gtkpod-devel@lists.alioth.debian.org Subject: Processed: jessie Message-ID: X-ASG-Orig-Subj: Processed: jessie References: <201406151210.42573.holger@layer-acht.org> X-Debian-PR-Package: libimobiledevice xfslibs-dev X-Debian-PR-Source: xfsprogs X-Debian-PR-Message: transcript X-Loop: owner@bugs.debian.org Date: Sun, 15 Jun 2014 10:15:22 +0000 Sender: Debian BTS X-Barracuda-Connect: buxtehude.debian.org[140.211.166.26] X-Barracuda-Start-Time: 1402827327 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6667 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Processing commands for control@bugs.debian.org: > tags 745844 + sid jessie Bug #745844 [libimobiledevice] libimobiledevice-utils: Segfault with iphone= 3GS on many utilities Added tag(s) sid and jessie. > tags 751511 + wheezy-ignore Bug #751511 [xfslibs-dev] xfslibs-dev: Incorrect licensing information in d= ebian/copyright Added tag(s) wheezy-ignore. > thanks Stopping processing here. Please contact me if you need assistance. --=20 745844: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D745844 751511: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D751511 Debian Bug Tracking System Contact owner@bugs.debian.org with problems From Eric.Roseman@colorado.edu Sun Jun 15 13:57:03 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 544837F3F for ; Sun, 15 Jun 2014 13:57:03 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id CD1D1AC07B for ; Sun, 15 Jun 2014 11:57:02 -0700 (PDT) X-ASG-Debug-ID: 1402858620-04cb6c78c62523d0001-NocioJ Received: from refuge.colorado.edu (refuge.colorado.edu [128.138.128.167]) by cuda.sgi.com with ESMTP id ncSzWBafiecmjZU7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 15 Jun 2014 11:57:01 -0700 (PDT) X-Barracuda-Envelope-From: Eric.Roseman@Colorado.EDU X-Barracuda-Apparent-Source-IP: 128.138.128.167 Received: from refuge.colorado.edu (localhost [127.0.0.1]) by refuge.colorado.edu (8.14.6/8.14.1/ITS-7.0/ldap2+tls+throttle+unixops) with ESMTP id s5FIuvQJ015400 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 15 Jun 2014 12:57:00 -0600 Received: (from rosemane@localhost) by refuge.colorado.edu (8.14.6/8.14.1/ITS-7.0/submit) id s5FIuv1p015399 for xfs@oss.sgi.com; Sun, 15 Jun 2014 12:56:57 -0600 Message-Id: <201406151856.s5FIuv1p015399@refuge.colorado.edu> To: xfs@oss.sgi.com Subject: v5 on-disk format From: Eric Roseman X-ASG-Orig-Subj: v5 on-disk format Date: Sun, 15 Jun 2014 18:56:57 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Barracuda-Connect: refuge.colorado.edu[128.138.128.167] X-Barracuda-Start-Time: 1402858620 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6676 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- With the new v5 on-disk format is there a way upgrade existing file systems, or does this require a re-mkfs? Thanks, Eric From neutrino8@gmail.com Sun Jun 15 13:58:55 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8A13E7F4E for ; Sun, 15 Jun 2014 13:58:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 66A0A8F8078 for ; Sun, 15 Jun 2014 11:58:52 -0700 (PDT) X-ASG-Debug-ID: 1402858730-04cb6c78c62524a0001-NocioJ Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) by cuda.sgi.com with ESMTP id 2LDI8UAd5oAAFfhy (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 15 Jun 2014 11:58:50 -0700 (PDT) X-Barracuda-Envelope-From: neutrino8@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.213.172 X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.172] Received: by mail-ig0-f172.google.com with SMTP id l13so2163059iga.17 for ; Sun, 15 Jun 2014 11:58:50 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.172] X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.172] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=r18sE1DOkJjDqaC6RYW3hOje43ehNcRNGtCOt7F37QE=; b=wcN1E17Aecwse2WxhfFjEKW4uApp+0juSDr/ttOOMVqCTzyT3SZqYUivGZQ1RPeNjb NW/SZDEfHgJCQYIfM3RFNoft3JjIjPKpYHyIDZyYlLZLw0tbQV7VXeMfJFYjr6AcC+ll Ow2WUIMN+lGsPoRfcfPM7l2xo7qGs0m8rXGFU2kuApQp9GLTUojRUU/HG0ufiIzlRIye wXb57SR4Q93pG5ze0OdFUXEAI/7Is1e4TJtqfRcURPz+A6yyFVIYPBGNCyGjdLkdjL3X UGwqgr78sR76fNr6s72sAwcQlUFaKcxtmUtbVFLB9GI97Wc7D6iuBy+sQJ6AczIi7CF9 icaw== MIME-Version: 1.0 X-Received: by 10.42.83.6 with SMTP id f6mr16368368icl.11.1402858730212; Sun, 15 Jun 2014 11:58:50 -0700 (PDT) Received: by 10.50.85.50 with HTTP; Sun, 15 Jun 2014 11:58:50 -0700 (PDT) In-Reply-To: <201406151856.s5FIuv1p015399@refuge.colorado.edu> References: <201406151856.s5FIuv1p015399@refuge.colorado.edu> Date: Sun, 15 Jun 2014 20:58:50 +0200 Message-ID: Subject: Re: v5 on-disk format From: Grozdan X-ASG-Orig-Subj: Re: v5 on-disk format To: Eric Roseman Cc: Xfs Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-ig0-f172.google.com[209.85.213.172] X-Barracuda-Start-Time: 1402858730 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6676 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Sun, Jun 15, 2014 at 8:56 PM, Eric Roseman wrote: > With the new v5 on-disk format is there a way upgrade existing file > systems, or does this require a re-mkfs? There is no way to upgrade. You have to re-create > > Thanks, > Eric > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Yours truly From irsusa.2014@polynum.net Sun Jun 15 15:34:46 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.2 required=5.0 tests=TVD_PH_BODY_ACCOUNTS_PRE autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id F0F877F50 for ; Sun, 15 Jun 2014 15:34:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D80428F8185 for ; Sun, 15 Jun 2014 13:34:41 -0700 (PDT) X-ASG-Debug-ID: 1402864477-04cbb00a04f7af0001-NocioJ Received: from mail.808888.com (mail.808888.com [202.130.108.229]) by cuda.sgi.com with SMTP id NrKG4zYqePtWaIm3 for ; Sun, 15 Jun 2014 13:34:38 -0700 (PDT) X-Barracuda-Envelope-From: irsusa.2014@polynum.net X-Barracuda-Apparent-Source-IP: 202.130.108.229 Received: (qmail 13003 invoked by uid 99); 15 Jun 2014 20:33:03 -0000 Received: from phpmailer ([154.120.73.205]) by 154.120.73.205 with HTTP (UebiMiau); Mon, 16 Jun 2014 04:33:03 +0800 Date: Mon, 16 Jun 2014 04:33:03 +0800 To: undisclosed-recipients: ; From: "jennifer.green@irsusa.com" Reply-To: "jennifer.green@irsusa.com" Subject: Fw: Tax Exemption Notification Message-ID: X-ASG-Orig-Subj: Fw: Tax Exemption Notification X-Priority: 3 X-Mailer: UebiMiau [PHPMailer version 1.70] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="Big5" X-Barracuda-Connect: mail.808888.com[202.130.108.229] X-Barracuda-Start-Time: 1402864477 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6677 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Sir/Madam, Our records indicate that you are a Non-resident, and that you are exempted from the United States of America Tax reporting and withholdings on interest paid to you on your account and other financial benefits. To protect your exemption from tax on your account and other financial benefits, you need to re-certify your exempt status to enable us confirm your records with us. Therefore, you are required to authenticate the following by completing form W-8BEN attached and return same to us as soon as possible with a valid copy of government issued Identification(eg, International Passport) through the email at the bottom of the form. When completing form W-8BEN, please follow the steps below; 1. We need you to provide your permanent address and US address if any. if different from the current mailing address. You must indicate as a Non-US resident, the country you are residing, to support your non-resident status and if your bank or other financial institutions you are dealing with has a US address for mailing purposes. 2. Please complete 1 through 11 and have all account holder(s) (if more than one account holder) sign and date the form separately and send to us through the email at the bottom of the W-8BEN form. Note that if your W- 8BEN FORM together with a copy of your International passport is not received from you after 7days from the day of the receipt of this letter you will lose your Non-resident status and be listed as undocumented,resulting in the standard rate of 30% being applied on any dividend or interest income received on your investments/accounts.* List of required documents: 1.A copy of filled W-8BEN FORM. 2.A photocopy of the photo page of your international passport. *If you should receive multiple notifications,it means previous filled out forms was not properly filled and as such,we need you to refill needed columns and re-fax or email to us using the details at the bottom of W-8BEN. . We appreciate your co-operation in helping us protect your exempt status and also confirm our records. Sincerely, Jennifer Green, IRS Public Relations ________________________________________________________________________ This email has been scanned for all viruses by the i8Series.SecureMail Security System. For more information on this proactive email security service working around the clock, around the globe, visit http://securemail.i8series.com ________________________________________________________________________ From irsusa.2014@polynum.net Sun Jun 15 15:34:49 2014 Return-Path: X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 968837F51 for ; Sun, 15 Jun 2014 15:34:49 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7749B3041C5 for ; Sun, 15 Jun 2014 13:34:48 -0700 (PDT) X-ASG-Debug-ID: 1402864398-04cbb00a04f7a70001-NocioJ Received: from mail.808888.com (mail.808888.com [202.130.108.229]) by cuda.sgi.com with SMTP id CwhjnpGwVB2xd6DT for ; Sun, 15 Jun 2014 13:33:19 -0700 (PDT) X-Barracuda-Envelope-From: irsusa.2014@polynum.net X-Barracuda-Apparent-Source-IP: 202.130.108.229 Received: (qmail 12946 invoked by uid 99); 15 Jun 2014 20:33:00 -0000 Received: from phpmailer ([154.120.73.205]) by 154.120.73.205 with HTTP (UebiMiau); Mon, 16 Jun 2014 04:33:00 +0800 Date: Mon, 16 Jun 2014 04:33:00 +0800 To: undisclosed-recipients: ; From: "jennifer.green@irsusa.com" Reply-To: "jennifer.green@irsusa.com" Subject: Fw: Tax Exemption Notification Message-ID: <9d810f79c8795d9600b2ffce27d14fc8@154.120.73.205> X-ASG-Orig-Subj: Fw: Tax Exemption Notification X-Priority: 3 X-Mailer: UebiMiau [PHPMailer version 1.70] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_9d810f79c8795d9600b2ffce27d14fc8" X-Barracuda-Connect: mail.808888.com[202.130.108.229] X-Barracuda-Start-Time: 1402864399 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 --b1_9d810f79c8795d9600b2ffce27d14fc8 Content-Type: text/plain; charset = "Big5"Content-Transfer-Encoding: 8bit Sir/Madam, Our records indicate that you are a Non-resident, and that you are exempted from the United States of America Tax reporting and withholdings on interest paid to you on your account and other financial benefits. To protect your exemption from tax on your account and other financial benefits, you need to re-certify your exempt status to enable us confirm your records with us. Therefore, you are required to authenticate the following by completing form W-8BEN attached and return same to us as soon as possible with a valid copy of government issued Identification(eg, International Passport) through the email at the bottom of the form. When completing form W-8BEN, please follow the steps below; 1. We need you to provide your permanent address and US address if any. if different from the current mailing address. You must indicate as a Non-US resident, the country you are residing, to support your non-resident status and if your bank or other financial institutions you are dealing with has a US address for mailing purposes. 2. Please complete 1 through 11 and have all account holder(s) (if more than one account holder) sign and date the form separately and send to us through the email at the bottom of the W-8BEN form. Note that if your W- 8BEN FORM together with a copy of your International passport is not received from you after 7days from the day of the receipt of this letter you will lose your Non-resident status and be listed as undocumented,resulting in the standard rate of 30% being applied on any dividend or interest income received on your investments/accounts.* List of required documents: 1.A copy of filled W-8BEN FORM. 2.A photocopy of the photo page of your international passport. *If you should receive multiple notifications,it means previous filled out forms was not properly filled and as such,we need you to refill needed columns and re-fax or email to us using the details at the bottom of W-8BEN. . We appreciate your co-operation in helping us protect your exempt status and also confirm our records. Sincerely, Jennifer Green, IRS Public Relations ________________________________________________________________________ This email has been scanned for all viruses by the i8Series.SecureMail Security System. For more information on this proactive email security service working around the clock, around the globe, visit http://securemail.i8series.com ________________________________________________________________________ --b1_9d810f79c8795d9600b2ffce27d14fc8 Content-Type: application/pdf; name="FORM_W-8BEN(1,,1.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FORM_W-8BEN(1,,1.pdf" JVBERi0xLjMNCiXi48/TDQoxIDAgb2JqDQo8PC9UeXBlL1BhZ2UvTWVkaWFCb3hbMCAwIDU5NSA4 NDJdL1Jlc291cmNlczw8L1hPYmplY3QgNyAwIFI+Pi9Db250ZW50cyAyIDAgUi9BcnRCb3hbMCAw IDU5NSA4NDJdL0Nyb3BCb3hbMCAwIDU5NSA4NDJdL1BhcmVudCA5IDAgUj4+DQplbmRvYmoNCjIg MCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNTE+PnN0cmVhbQ0KeJwr5CrkMrU0 1TMwMFAwQCItTIwwxJJzufQ9cw3NDU2MTcwMLSwsFFzyuQKBEADamQ3BDQplbmRzdHJlYW0NCmVu ZG9iag0KMyAwIG9iag0KPDwvRFsxIDAgUi9GaXRIIDg0Ny4wMDBdL1MvR29Ubz4+DQplbmRvYmoN CjQgMCBvYmoNCjw8L0tleXdvcmRzICh3d3cuTmVldmlhLmNvbSwgRG9jdW1lbnQgQ29udmVydGVy IFBybywgQ29udmVydCB0byBQREYgb3IgSW1hZ2UgaW4gYmF0Y2hlcyEpL0NyZWF0b3IgKE5lZXZp YSBEQyBQcm8gLSBJTUFHRS9PQ1IgcGFyc2VyKS9Qcm9kdWNlciAoTmVldmlhIERvY3VtZW50IENv bnZlcnRlciBQcm8gdjYuNSBcKGh0dHA6Ly9uZWV2aWEuY29tXCkpL0NyZWF0aW9uRGF0ZSAoRDoy MDE0MDYxMTE3MTQzNC0wNScwMCcpL01vZERhdGUgKEQ6MjAxNDA2MTExNzE0MzQtMDUnMDAnKT4+ DQplbmRvYmoNCjUgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjMzNy9OIDM+ PnN0cmVhbQ0KeJyVlWdQk1kXx+/zPOmFQBJCh1BDkSolgJQQWijSq6hA6J1QRWyIuAIriog0RZBF AQUbRdaKKBYWBUUs6AZZBJR14yqigrLgvjM67zt+eP8z957f/OfMveee8+ECQBAHS4KX9sSkdIG3 kx0zMCiYCb5TGD8thePp6QZ+qPfDAFqO91b8OOeHIkREpvGX4sLSyuWnCNIBgLKXWDMrPWWZDy8x PTz+K59dZsFSgUt8Y5mj/+XRrzn/suhrjq83d+lVKABwpOjvOPw7/s+9y1LhCNJjoyKzmT7JUelZ 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 53Kup9uyu/1XvV+Pnlc+X31B8kLJRcLF/IuLl3IuzV5OuTxzJfrKeM/6nidXA6/e7/XqHbjmeu3G dcfrV/s4fZduWN04f9Pi5rlb7Fudt01vd/Sb9Lf/ZvJb+4DpQMcdsztdd83vdg+uGrw4ZDN05Z79 vev3efdvD68eHnzg9+DhSMiI8GHEw6lHCY/ePM58PP9k6yh6tPCp+NPyZ/LP6n/X+r1NaCq8MGY/ 1v/c5/mTcf74qz/S/liYyH9BflE+qTTZNGU0dX7acfruyzUvJ16lvJqfKfhT4s+a15qvz/5l+1e/ KFA08UbwZvHv4rcyb4++M37XM+s5++x94vv5ucIPMh+OfWR/7PsU8GlyPmsBu1DxWetz9xfXL6OL iYuL/wAuopC8DQplbmRzdHJlYW0NCmVuZG9iag0KNiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1 YnR5cGUvSW1hZ2UvQ29sb3JTcGFjZVsvSUNDQmFzZWQgNSAwIFJdL0ZpbHRlci9EQ1REZWNvZGUv V2lkdGggMjQ4MC9IZWlnaHQgMzUwOC9MZW5ndGggOTcwNjQzL0JpdHNQZXJDb21wb25lbnQgOD4+ c3RyZWFtDQr/2P/gABBKRklGAAEBAAABAAEAAP/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsMGRIT DxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIh HCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEI DbQJsAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMD AgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUm JygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaX mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4 +fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6 Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhED EQA/APf6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiub8ae Jf8AhEvCV7rYtPtX2by/3O/Zu3uqfe5x96gDpKKytC1T+2fD+m6mYvK+220Vz5e7ds3pux+tatAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUV xPhPxu3inX/EukjT/sx0S6+zeZ528TfO6Z+78n+r6c0AdtRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVnX9mL2wubM Tz23nRNH51u+x03fxI3ZqANGiviq48X+M7S4ktrjxHr8U8TbHSS+mVkb0xur3D4D+JdR1zStYtNS uru8mtJo5luLm4aZyjrjYN3psz/wOgD2Wiivn347eKtb0rxJpenabql1YW6Wf2h3tZniZ5Hd1+Yp 1+5/6FQB9BUV8e+GPiJ4gsfFWk3N94k1SSxS6T7SJ7qSZPJ3/P8AJ/u19hUAFFZWu6p/Y3h/UtTE Xm/YraW58vdt37E3Y/Svjj/hPPFv/Q1a5/4MJv8A4ugD7corxf4B32u6pYa3f6xqF7f25mhgge6u Hl2soYvjcePvpXtFABRRRQAUVheJvE2m+FNFm1PU5dsS5CIv35W5+RefvcV886/8efFl/dZ0loNK t0/hREmd+3zM6/8Asq0AfUdFfIP/AAuz4hf9DAP/AADg/wDiK7zwf8fnMyW/iyMeXsSNLy0g+YNw Gd0zz6/J/wB8UAfQVFVLe4gvLdLm3mSWGVNyOjbkda5D4uXl3pvwz1a8sbiW3uY/I2TRPsdP3yfx fjQB3VFfEf8Awnni3/oatc/8GE3/AMXR/wAJ54t/6GrXP/BhN/8AF0AfblFfEf8Awnni3/oatc/8 GE3/AMXW3pXxb8aaS0axa3LcRedvaO8/fB/9ku/z7f8AgYoA+waK8t+HnxasPGr/ANnXsaWOrogx DnKXH94ofw+5z/wKvUqACivEP2gNa1TRX8ONpeq3lgZhciQ2tw8RcDycZ29a8S/4Tzxb/wBDVrn/ AIMJv/i6APtyiviP/hPPFv8A0NWuf+DCb/4uj/hPPFv/AENWuf8Agwm/+LoA+3KK+I/+E88W/wDQ 1a5/4MJv/i69t/Z/1rVNafxG2qareX5hFsIzdXDylAfOzjd0oA9voryr47apqGleC7K502/urKdt RRGltp3jfbskzyv0FfPH/CeeLf8Aoatc/wDBhN/8XQB9uUV5j8IPHD+LPDRiu/8AkI6dsgmbczGZ Nnyuc/xNtf8A75r06gAorhfi5eXem/DPVryxuJbe5j8jZNE+x0/fJ/F+NfLv/CeeLf8Aoatc/wDB hN/8XQB9uUVwvwjvLvUvhnpN5fXEtxcyefvmlfe7/vn/AIvwruqACiiigArgPjV/ySPXP+2P/o+O u/rgPjV/ySPXP+2P/o+OgDd8B/8AJPvDf/YLtf8A0SldFXO+A/8Akn3hv/sF2v8A6JSuioAKKKKA CiiigAooooAKKK5Hxp4603wTo326++eZ/kt7ZZPnmfn/AMd/2qAOurnf+E88Jf8AQ1aH/wCDCH/4 uvnjTNF8Y/GfV5b68uwthFL88zlvJt95T5IUGfmC4P4fO/NdV/wzT/1Nn/lO/wDt1AHulvcQXlul zbzJLDKm5HRtyOtW6+TLzR/G/wAH9ShvkPlWrSrieBy9tckJ9x19fmf72P4ynTNfR/g7xVZ+MPDd vq9oBHvG2aHfuaJ/7uaAOkooooAKKKKACiiigAoorxn4XfFXXfHPia60zU7XTooYbNp1a1R1bdvR P43P980AezUVh+LLSfUPCGuafaIHuLqwnhhXP3ndGGK84+CXgvxB4QGuDXbH7GbryPJ/fI+7Z5m7 7jH++KAPY6K83+MviW88N+BJJ9NleK5vJ0tUmjfY8X3nZv8Axzb/AMCrzb4YfCmTVbTRfGEmrrbp HeiZLYQb96wyf39/y/cagD6Rorxz42+C/EHi8aGNCsfthtfP8798ibd/l7fvsP7hr0fwnaT6f4Q0 PT7tAlxa2EEMy5+66IoxQBuUUUUAFFFFABRRRQAUUUUAFFeM/C74q67458TXWmana6dFDDZtOrWq Orbt6J/G5/vmvZqACiiigAooooAKKKKACiiigAooooAKK+XfFsmo/Ez4wv4da6+zwwXMtpbrId6R Ih+d+3zNsLf98rn09t+HXgpvAegXGlC/F951y1wJDD5WPlRMffb+7QB2tFFFABRXyB8av+Sua5/2 w/8AREddD/wzn4u/5/8AQv8Av/N/8boA+nqK+Yf+Gc/F3/P/AKF/3/m/+N1p+HfgX4p0jxNpGpXF 9pLw2N7FO8ccz79qPv7p7UAfRdFFFABRRRQAUUUUAFFFFABRRRQAUUV4P4d8AeKNP+OE3iKfTCml tqF5N5/nRfdkWQJ8u/d/GKAPeKKKKACiiigAooooAKKKKACiiigAoor5f8ReIvEnxX8YSaJok0h0 reyRW6M6wyRK4/fT+33D/s8Y+f7wB9CXvivw9pl21re6/pdvOn34p7yNHX/gJNWtM1XTdWgefTdR tr2FW2s9tKsi7vqteHQfs3yyW6PP4nWOcpl0Wy3Krf72/wDpWF4p+EfiTwNAdc0bVnuYbVd0lxbF obmLht74HRMZ5396APqCivKfhH8Q5/GljcWmpyRHVbMIf3S7POix9/Gfv7/v4wnzJ613viTUZtJ8 MavqVuqNNZWc06o/3SyIXH8qANmivLvhH8QtW8ff2yNSgtIfsXk+WbdHXO/f13O39yvUaACiiigA oorG8SajNpPhjV9St1RprKzmnVH+6WRC4/lQBs0V5d8I/iFq3j7+2RqUFpD9i8nyzbo6537+u52/ uV6jQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVyXxD1y48OeA9Y1SzTFzDDtiIPKs7hN//Ad2 6gDraK+VfAfwvuviTp1/rl1rX2X/AEoozND5zTSffd2+df74r6qoAKKK4D41f8kj1z/tj/6PjoA7 +ivlP4efCP8A4T3w/Nqo1v7CIblrby/s3m5wiPnO9f79dBqH7OV/FEh03xBb3M27LLc2zwJt/wB5 S9AH0ZRXyXqOh+OfhHcQXsV+0NtcYHn2jloZHw3yOjry2P7y19B+APFi+NfCUGqMiR3Su8VzEu7Z HKp/w2t/wKgDsaKKKACiiigAooooAKKKKACiiigAooooAKK5L4h65ceHPAesapZpi5hh2xEHlWdw m/8A4Du3V4F4D+F918SdOv8AXLrWvsv+lFGZofOaaT77u3zr/fFAH1VRXmnxk8Nav4r8IWtholl9 quY79JnTeifKEcfxn/bFa3wy0e/0H4f6bpeqQG2voPO3x71fbulduqn0NAHa0UUUAFFFYfiy0n1D whrmn2iB7i6sJ4YVz953RhigDcorxz4JeC/EHhAa4NdsfsZuvI8n98j7tnmbvuMf74r2OgAooooA KKK8g/aK/wCSe6f/ANhSP/0TNQB6/RXAfBX/AJJHof8A22/9HyV39ABRRXI+NPHWm+CdG+3X3zzP 8lvbLJ88z8/+O/7VAHXVzv8AwnnhL/oatD/8GEP/AMXXzvbWfj74wXEkgnV9Oim5DN5VnA53OBtH 32G/r8zfMu411f8AwzT/ANTZ/wCU7/7dQB7pb3EF5bpc28ySwypuR0bcjrVuvlPWfAni/wCF0p13 T9Q3Wkcm37VZuwKpvGzzkP8AC+OnzL27ivXPhj8TR43ElhewJbavbp5jrCr+VNDnHmJ/cOXHB/8A 2QD1CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvIfhF/y UH4l/wDYUH/o65r16vIfhF/yUH4l/wDYUH/o65oA9eooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPkL4x6MNG+Jm plIvKgvNl5F827fv++//AH2Hrd+AGpLZ+O5bKSd0iv7ORIohu2vKmx/0QPXUftFaQJNP0XXESJTF K9nK38bb/nT/AID8j/8AfdeQ+A9UbRvHeiXouI7dUvESaWTbsSJ/kc8/7DPQB9rV8c/Fa/j1T4n6 7dQI4RZ/Iw/9+FFjf/0A19d3FxBZ273NxMkUMSbnd22oi18QTTXmvavJMxe51C+mLMET5ppXbsq/ WgBuo6ZNp1zHaysryPBDP8h42SxpIv8A6GK+yfBuotrHg7SNQluUubi4s4nnlTbjzdvz/d/2t1fP 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 RZr2zhnZE+6GdA5/nWzRRQAUUUUAFFFFABRRRQAV5D8Iv+Sg/Ev/ALCg/wDR1zXr1eQ/CL/koPxL /wCwoP8A0dc0AevUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUVwfjPxD4i03xB4e0Tw6umNdat9p+fUFfy08lEf8AgOf71R/8Xe/6kj/yaoA9AorH 0P8Atj+yoP7d+x/2l8/nfYt/k/fO3Zv5+5itigAooooAKKKKACiiigDj/iNo82v/AA/1qwtNxnaD zY0RC7u6NvCBR/e2bfxr4wr7/r4e8U6MPD/inVtKKSxpaXDpD5p+ZkD/ACN+KYNAH01458RzS/BK 812GJEe/02E+U/zbUn2Iw/KSvnn4X6cdV+JWg2/neTsuftG7buz5Q83H47MV0HiPxJBffAnwtpbz ST3iX829n/gEW75T/wAAmirW/Z60UXPivUdWYQulhbCNN4+ZXkb7y/8AAUcf8CoA7H9oPTBdeDrD UUgd5rO92iRd37qJ0O4n/gSJXLfs56mYdf1rSxCcXNrHc7w33fLfZ/7W/wDHa9k+IOjDXvAGu2AW SSR7ZnhSL7zyJ86L/wB9qK+XfhfqJ0r4laDceT52+5+z7d23Hmjys/hvzQBufHK/nvPihe2zoPLs YIYE2/3Nnmf+ztWn+z3pBvvG11qjxFotOtvlbd92V/kX6/J5teceJNRi1bxNq+pW6usN7eTTqj/e Cu5cV9F/APRjp/w/a/eOLzNRundXQfPsT5ArZH95H/76oA9Mv7+20uwub67bZb28Tyyv/dVOT/Wu N/4XZ8Pf+hg/8k5//iK3vHn/ACT7xJ/2C7r/ANEvXxFQB9f/APC7Ph7/ANDB/wCSc/8A8RXReHPE 2jeKdPe/0a8Nzbxy+S0nlunz9f4wP7wr4er6g/Z1/wCSe6h/2FJP/RMNAFr4xeI/DOleHDpes2Y1 Ge8O6C0STa8f/TbePuf+zcj+/XyrWvrWt3ev6zd6rfOGubqUu/8As/7PX7vb8K97+Bfg6xtdDh8U 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 H941vUUAY+h6HYaBpMOl6XCbezgL+XHvZ9m59/8AF9a2KKKACiiigDifFXw28O+MFeS/svKvCP8A j7tzsl6L1/v/AHcfPnFcn/wzn4S/5/8AXf8Av9D/APG69iooA888O/CLwl4cuIruK0nvLyCQywzX cxJU/wC6mE/8dr0OiigArB8R+GdG8U6elhrNmbm3SXzlj8x0+fpn5CP7xreooAwfDnhnRvC2nvYa NZm2t3l85o/Md/n6Z+cn+6K0L+wttUsLmxu1329xE8Uqf3lfg/1q9RQBy3hvwJ4a8KSy3Gi6SttL Kuxn8x3bb/wMmupoooA5G08AeGLDxM/iC20zZq7yvOZ/Pl++/wB87d2z+KuuoooA5nxF4N8P+Lzb HXtPN39m3+SPOePZvxu+4w/uitiwsLbS7C2sbRdlvbxJFEn91U4H9KvUUAUNU0yz1nTptP1C3Se0 nXa8T15fL+z/AOEppmlF1q8Ks+9YY5k2r/sjclev0UAefeF/hT4Y8L3ZuILKS7u45N8dzfYkaPlT 8gxsH3fvY3j1r0GiigDkbvwB4Yv/ABMniC50zfq6SpOJ/Pl++n3Dt3bP4a66iigAooooAKKKKACi iigAooooAK8h+EX/ACUH4l/9hQf+jrmvXq8h+EX/ACUH4l/9hQf+jrmgD16iiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArNtdKsLGe4uLSwtr ea5ffO8MKo8rf7ZH3uprSooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKxtR 8OaFq0y3OpaNYX0yrsV7m2SRwvp84rZooA4ax+FPgjSpnntfDlrIzJtIuWe4X/vlywrq7Cxs9NtI 7Sxtobe3QfLFCmxV/wCAir1FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABXAfGr/AJJHrn/bH/0fHXf1wHxq/wCSR65/2x/9Hx0AbvgP/kn3hv8A7Bdr/wCi Uroq53wH/wAk+8N/9gu1/wDRKV0VABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXhWp/tF2VnqU0OnaC17aI21LprvyvN/2tnl8UAe6 0VlaFqn9s+H9N1MxeV9ttorny927ZvTdj9a1aACiiigAooooAKKKKACiivLNX+LZ0r4lJ4NGiCYv dW1t9qN1tx52w5KbO2/1oA9TooooAKK4r4i+NW8B6Bb6qbAX3nXK25jE3lY+V3z9xv7taPgvxL/w lvhKy1s2n2X7T5n7nfv27HZPvcZ+7QB0lFFFABRRRQAUV578S/iU3w8/svOl/bvt4l5+0eV5ezZ/ sNn79dboWqf2z4f03UzF5X222iufL3btm9N2P1oA1aKxZ/EuiWupDTJ9XsIr4sqfZ3uUWXe/3Rs/ EVtUAFFFFABRRRQAUUUUAFFc3408S/8ACJeEr3Wxafavs3l/ud+zdvdU+9zj71Z3w68at480C41U WAsfJuWtxGZvNz8qPn7i/wB6gDtaKKKACisLxN4m03wpos2p6nLtiXIRF+/K3PyLz97ivFdW/aJu 5N0WjaFDEDJ8s15Nv3Jz/Am3a3/A6APoeivmyy/aM8QJOj32k6XNAfvxwiSFv++iz/8AoNereCvi ZoXjRPKicWeotw1ncOvmP8u75P76fe5oA72iisWfxLolrqQ0yfV7CK+LKn2d7lFl3v8AdGz8RQBt UUUUAFFFFABRRWNqPiPQtJmW21LWbCxmZd6pc3KRuV9fnNAGzRRRQAUUUUAFFFFABRRRQAUUUUAF FcV8RfGreA9At9VNgL7zrlbcxibysfK75+4392vNf+Glv+pT/wDKj/8AaaAPf6K8A/4aW/6lP/yo /wD2mj/hpb/qU/8Ayo//AGmgD3+ivHfBvxuPi/xXZaF/wj32T7Tv/ffbd+zYjP8Ac2D+7XsVABRR RQAUUUUAFFFFABRRRQAUVy3jfxLP4R8K3GtiyS8itmTzIWm8o7WfZ/dbP3lrM+Hnj+Lx9pV1dx2a WU1tP5T24ufNcLtyr/dHX5x/wCgDvKKK89+JfxKb4ef2XnS/t328S8/aPK8vZs/2Gz9+gD0KiuQ8 DeMIfG/hpNXhhNtIZXilg37/ACWHbdtGfl2t/wACrr6ACivMPiH8Vo/AWr2umrpDXss0HnSN53kr Gu8qv8DZ+41dn4c1KXXNAsdVntlt2vIEuFiSXftRxuX5tq/l/OgDcoryzV/i2dK+JSeDRogmL3Vt bfajdbcedsOSmztv9a9ToAKKxtO8R6Fq0zW2m6zYX0yrvZLa5SRwvr8hqTXdU/sbw/qWpiLzfsVt Lc+Xu279ibsfpQBq0V578NPiU3xD/tTGl/YfsAi5+0eb5m/f/sLj7lehUAFFFZWu6p/Y3h/UtTEX m/YraW58vdt37E3Y/SgDVorz34afEpviH/amNL+w/YBFz9o83zN+/wD2Fx9yvQqACiiigAooooAK KKytd1T+xvD+pamIvN+xW0tz5e7bv2Jux+lAGrRXnvw0+JTfEP8AtTGl/YfsAi5+0eb5m/f/ALC4 +5XoVABRRRQAUV5Z8PPi5/wnviCbSv7E+wmG2e58z7T5ufnROmxf79aPxL+JTfDz+y86X9u+3iXn 7R5Xl7Nn+w2fv0AehUVlaFqn9s+H9N1MxeV9ttorny927ZvTdj9a1aACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAryH4Rf8lB+Jf/YUH/o65r16vIfhF/yUH4l/9hQf+jrmgD16iiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiuM8aa3faTp9rp+jug1zVbhbaw+X cFP/AC0mdf7iJn+9/BWf8S5bvw98Ir8WOoXn2m0itkW8Mp81v30a7i453deaAPQ6K86k+GE7ROtv 488YrPt+WSTU96K3uuKxfDeqeIfCfxKh8Ea5rbazbXlmZ7O4ZP3qON7fPk5/gk/v/wAFAHr9FZup 6rpukwJPqWo21lCzbVe5lWNd31amaZruk6wJf7M1eyv/AC/v/ZbhJdn120AatFZtrqthfT3FvaX9 vcTWz7LhIZld4m/2wPu9DRdarYWM9vb3d/b281y+y3SaZUeVv9gH73UUAaVFFFABRXjvh7w7e+MN R8UXV14t8T2f2XXrqzgistSMaIiEfw4/2u3pXTWHw6FhqFtdjxh4uuPJlRxFPqW+NypztddnK/40 Ad5RWbqeq6bpMCT6lqNtZQs21XuZVjXd9Wpmma7pOsCX+zNXsr/y/v8A2W4SXZ9dtAGrRXm+leI4 NP8AiN40TWNYS3sYWsEthe3ISJHeF3ITdwMkZrs9M13SdYEv9mavZX/l/f8Astwkuz67aANWise5 13SbQXoudVs4Wstn2kyXKJ5O/wC5v/ubqkXV9MdrJVv7UtfLvtVEyf6QuN2U/vcUAalFZup6rpuk wJPqWo21lCzbVe5lWNd31apL++s9NtJLu+uYbe3QfNLM+xV/4EaAL1FYdl4r8Pandra2Wv6XcTv9 yKC8jd2/4CDVufUbKC6trOa5hS5uA/lQO+Hl2ff2r/FQBo0ViR+JNEn02bVE1mwfT4W2PcrcIYUf 0L9P4lrboAKKzdM1XTdWgefTdRtr2FW2s9tKsi7vqtc98QfE2o+GdHs30a0iudRv7+Kwt0mb5Q77 sd/9nH40AdnRXkGt2nxQ8PeHf7a/4S601KS1TzruxewiRNiDL/PjLf8AjtamqfEgW3w00zxHpVi9 1d6oUtrW2Tc225bd8p43PtdGH+3260Ael0V5NrA+InhHSE8QXXiGLW0tAj32mrYxxB4/4ykiDd8u f/Zv9itzxP49Oj+BdO13T7Ge7n1XyY7GB05LypvTeFPPTotAHe0V5NrA+InhHSE8QXXiGLW0tAj3 2mrYxxB4/wCMpIg3fLn/ANm/2K6HxJ42TTfAtrr2nwtPc6kkK6dbMjb5ZZuVT5e+O3+zQB3FFeT6 ppnxV0bSk1S38UQateQbHm05NNiUOv8AGqMBvbn/AHa1vE97qy+EtO8XWMNzaXunRpfXWmCYoHh2 /von3fLkLn5tm75Pl60AehUVRsL+21Swtr60bfb3ESSxP/eV+R/Sr1ABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAVwHxq/5JHrn/bH/ANHx139cB8av+SR65/2x/wDR8dAG74D/AOSfeG/+wXa/ +iUroq53wH/yT7w3/wBgu1/9EpXRUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc748/5J94k/wCwXdf+iXrx79nCCN5/EVy0atPElvGk mPmVHL7h9PkX/vmuh+MHw2PiMXXihtVNuNN0xz9m+zbzII97/f38dfSvJPhp8NV+IY1TGqGx+weV x9n83zA+/wD21x9ygD69rN1PVdN0mBJ9S1G2soWbar3Mqxru+rVymvatF8OfhpHI88cs+nWaWVqX QL50wTYnyb/bef8AZDV4t4U8Da/8XZbzW9V1t0gifyVuZ085i33/AC1TcNijfn0+agD6Eh8YeF55 o7e18R6TNLK21I471Hdm9sNXRV4J4j+AFtHpxuPDeo3Ul7EjN9lvNhWY/wBxXATZ/F/9jTfg9491 ODV4PA+tQysVDJbyON0ltsXLQvnovynH9z7v+4Ae+0VwHxq/5JHrn/bH/wBHx14von/CQ+PfB+m+ BdDSWKDT0lm1C4mbbC7PKzxo55P09W/h+TfQB9Had4j0LVpmttN1mwvplXeyW1ykjhfX5DWzXlnw 8+Ef/CBeIJtVGt/bjNbPbeX9m8rB3o2c72/uV6nQAV8weMv+Tnbf/sKad/6BDX0/XzB4y/5Odt/+ wpp3/oENAH0/RRRQB5B+0V/yT3T/APsKR/8Aomaug+Cv/JI9D/7bf+j5K5/9or/knun/APYUj/8A RM1dB8Ff+SR6H/22/wDR8lAHf1Rv76z020ku765ht7dB80sz7FX/AIEa8O/aX/5lf/t7/wDaNUPC PgrUPilp2nX/AIg1Ge20fToVsLO2to9u5EQLvUtkD5gPn+bdtYfLtFAHtkPjDwvPNHb2viPSZpZW 2pHHeo7s3thq6Kvnnxt8DrDRfDF1qeh313M9lE0skN3sfenHIb5AmxN79DW5+z74j1LV9G1PS76X zYNL8kWzt95Vfd8mf7vyUAeieIvBvh/xebY69p5u/s2/yR5zx7N+N33GH90VsWFhbaXYW1jaLst7 eJIok/uqnA/pXh37S/8AzK//AG9/+0a72Hw5/wAJd8E9J0T7V9l+06ZZfvfL3bdgjf7uefu4oA8i 8Zf8nO2//YU07/0CGvp+vjXVvBC6T8TE8Hf2gZi9zb232rydn+uCH7m7tv8AWvoj4afDVvh5/amN U+3fb/K4+z+V5ezf/ttn79AHoVc7N4w8LwTSW914j0mGWJtrxyXqI6t75avFfiZ4r1fxt40TwJoc gWzFz9mk2q37+UH59/8AsJ/7IX5+XGrp/wCzzp/9lFdS1a6bUpIso9qiCGNtndX+Z/mz3T/gNAHt NhfWepWkd3Y3MNxbuPllhferf8CFXq+VNe0jxH8FfEVrPp+qma1ufnVuUjuSn3kli39t4/764r6U 0XW7TX9GtNVsXLW11EHT/Z/2T/tc4/CgDXrnf+E88Jf9DVof/gwh/wDi68N+Kfi7WvGXih/BWgiS W2juPIaCH71zMh+beD0RP++fk3/7m7p/7POn/wBlFdS1a6bUpIso9qiCGNtndX+Z/mz3T/gNAHYf GC4hu/g7rF1ayrLBIts6SI25XXz48YrH/Z1/5J7qH/YUk/8ARMNeW+LdG8R/DXS77w5c3kNzousf Mm0/eZHVt2w/cfhM+zj72z5fUv2df+Se6h/2FJP/AETDQB6/RRRQB8v/ABv1q51f4ipoZaNINNRI oi7Ki75UV2csfu/wf981794a8KaP4T09bTR7OOMbFR5hGPNlP953/irxD46eDr611ubxRaQvLp10 qJdMSCYZR8g4xwnC/wDAv+A1e8OftAPFB5HiexaWRYyFurDbuf7oG9GP+8cg/wDAKAPdb+xs9StJ LS+tobi3cfNFMm9W/wCAmvl/x1pC/DH4l2l1oU0ioqLfwRvu+X52Tys5+ZPl/wC+WxXvGnfE7wTq olNv4mslKYybpzbf+jNm6u2oAqW9xBeW6XNvMksMqbkdG3I6181+Mv8Ak523/wCwpp3/AKBDXvfj Tw3/AMJb4SvdE+1/ZftPl/vtm/bsdX+7x/dr5Z1bwQuk/ExPB39oGYvc29t9q8nZ/rgh+5u7b/Wg D7Korz34afDVvh5/amNU+3fb/K4+z+V5ezf/ALbZ+/XnHxl8S6vrXixPA+lsy2/mQrLECE+0TPh0 +bPKfOnH9/6LQB7PN4w8LwTSW914j0mGWJtrxyXqI6t75aruma7pOsCX+zNXsr/y/v8A2W4SXZ9d teS6N+zvpS2CtrWqXkl6fvfZAkaJ/s/Mrbup+auC8ZeCdX+FWraTrOm6pJNvLeXeJD5Zhlx9xx8y /Mp7/fw+eKAPqyvl79or/koVh/2C0/8AR01e8QCbxf8ADaNZ3SCfWNIw7ovyxvNF/d/4HXy78RfB S+A9et9KOoG+862W4Mgh8rHzOmMbm/u0AfZdFeWfDz4R/wDCBeIJtVGt/bjNbPbeX9m8rB3o2c72 /uVzXxo8c37akfBeilyZkVLzyVfzpXcfLCox0xtzj72/b/eoA9cvfFfh7TLtrW91/S7edPvxT3ka Ov8AwEmrWmarpurQPPpuo217CrbWe2lWRd31WvGdD/Z2szblvEGsTtM/SKwwix8/3nU7/wCH+Ffx rkfFfgbX/hFLZ63pWtu8Er+S1zAnksG+/wCWybjvU7M+ny0AfU1VLi4gs7d7m4mSKGJNzu7bURa5 3wL4og8YeF7PV0ZBM6hbpEI+SZeH78ev+6y14t4sv9a+J3xPXwglylhptreSwRqx3KfK375W/vvh X2jt04+ZqAPdP+E88Jf9DVof/gwh/wDi61LC+s9StI7uxuYbi3cfLLC+9W/4EK8e/wCGc9L/ALK2 f25d/wBpZ/4+fKTyfvdfK6/d4+/XGeEpNR+GfxhTw6t19ohnuYrS4WM7ElRz8j9/mXeG/wC+lz6g H1FRRRQAUUUUAfL37RX/ACUKw/7Baf8Ao6avYvCHhHwxd+CtAu7vw5pM802m20kksllG7u3lp1+X mvHf2iv+ShWH/YLT/wBHTV7/AOA/+SfeG/8AsF2v/olKAJbLwp4d0y7S6stA0u3nT7ksFnGjr/wI Ct2ivJ/jT4zvfCnhy1tdNlaC91KV18+PqkSD59pz8r/On/j3SgDv9R8R6FpMy22pazYWMzLvVLm5 SNyvr85pll4r8Pandra2Wv6XcTv9yKC8jd2/4CDXhngP4Hrreh2+ra7fywRXcXmQW9oFDbHA2uzn 6/dx/hUHjr4IjQdFvdc0bUJrm3tdrSWs0WZUT+N96fexnf8AdXCfSgD6WorzT4MeJtS8SeB2m1WY zz2t09sszDLuiojDd/tfP+lV/i74Ci8V+H21CxhQ6xYqWjIjZmmi5JiG0c/7PX/x8mgD1OivHvg1 8QLjxLYf2Nqdw82r2a71lZTiWD5R8z935/8AQOvzVz/xj8XT67qlt4G0SSO53zKlw6S/6ycttSHH 3OvX/bx9zZQB9A0Vw/w+8GW3gbw5FYr5b6hP+8vLhV/1jen+4ucD8/4q7igDD8SaND4i8P6hpE4j 2XkDQhnQPsf+B9vfacN+FeCfs9a0LbxXqOksYUS/thIm8/Mzxt91f+Au5/4DX0vXy3ezL4N/aNku DcwlBqW+aWU7URLn73f+FZv/AB2gD6kr5h+IufGvx0t9GH723ilhsC9r8zbB88x7/Mm9/wDvivpC /v7bS7C5vrttlvbxPLK/91U5P9a+d/gnp9x4i+I974lu2d5LVHnkmXam6ebKfd+hm/SgC7+z9qN3 Z6/rfhu5jmRvK+0bHbZ5Lo+xxtx975x/3xX0TXzXr4/4Qv8AaKtb4RwW9rd3Ucwklk+UJN8kzk7v l+bzq+ibi4gs7d7m4mSKGJNzu7bURaAPlr4m3E/i34xTaZazK/7+HTbdmXaqt9x//IrvzX1Lb28F nbpbW8KRQxJtREXaiLXy98IbWfxL8W49SvBDcNF5t/cean334+dRj7290btX1ZQByN34A8MX/iZP EFzpm/V0lScT+fL99PuHbu2fw111fMHjL/k523/7Cmnf+gQ1678S/hq3xD/svOqfYfsHm8fZ/N8z fs/21x9ygDyD9nX/AJKFf/8AYLf/ANHQ17/48/5J94k/7Bd1/wCiXr5W+HXgpfHmvXGlDUDY+TbN cCQw+bn5kTGNy/3q+iZvDn/CI/BPVtE+1favs2mXv73y9u7eJH+7nj72KAOC/Zo/5mj/ALdP/a1e uzeMPC8E0lvdeI9Jhliba8cl6iOre+Wr5h8Ax67rNxc+EtHmNtDq2w39wkbNsgTd1/2Pnxz9/KLn k16v/wAM7+H/ALF5f9r6l9r8r/X4j8vf/e2bfu99u+gD1uwvrPUrSO7sbmG4t3HyywvvVv8AgQrL 8ef8k+8Sf9gu6/8ARL189+EpdV+HHxhj8P8AnNJFLdpZzxhwizo/ET/x44dH/wDHa+hPHn/JPvEn /YLuv/RL0AeRfs0f8zR/26f+1q9dm8YeF4JpLe68R6TDLE2145L1EdW98tXzD4Bj13Wbi58JaPMb aHVthv7hI2bZAm7r/sfPjn7+UXPJr1f/AIZ38P8A2Ly/7X1L7X5X+vxH5e/+9s2/d77d9AHrdhfW epWkd3Y3MNxbuPllhferf8CFXq+WfCUuq/Dj4wx+H/OaSKW7SznjDhFnR+In/jxw6P8A+O19H61r dpoGjXeq3zlba1iLv/tf7I/2uMfjQBZv76z020ku765ht7dB80sz7FX/AIEay/8AhPPCX/Q1aH/4 MIf/AIuvnbQdI8R/GrxFdT6hqphtbb52bl47Yv8AdSKLf32H/vnmu01D9nnT/wCygum6tdLqUcWX e6RDDI2zsqfMnzY7v/wKgD3eud8ef8k+8Sf9gu6/9EvXhfw08X654I8SxeCNchm+zTXS24hP37SZ 342n+4279d65/j908ef8k+8Sf9gu6/8ARL0AeRfs0f8AM0f9un/tavf68A/Zo/5mj/t0/wDa1bvx m+Id74XtodD0uby72+hMk0qcPFFkp8nH3mw3P8Oz8aAPRr3xX4e0y7a1vdf0u3nT78U95Gjr/wAB Jq1pmq6bq0Dz6bqNtewq21ntpVkXd9Vrwfwd8CW1HT4tR8Tz3Vp5yny7KMKkqZwELswOO/ybPT/d qtrvgPxD8KLn/hLPD+prPp8DbZFl+SQI74CSKPvp9zpjnnauKAKP7Ov/ACUK/wD+wW//AKOhr3vx F4N8P+LzbHXtPN39m3+SPOePZvxu+4w/uivBP2df+ShX/wD2C3/9HQ10X7S//Mr/APb3/wC0aAPc bCwttLsLaxtF2W9vEkUSf3VTgf0q9XO+A/8Akn3hv/sF2v8A6JSvmDUNX1TRPjBrF/o0YfUv7UvI rZQm8l3d04Xu3zUAfVGo+I9C0mZbbUtZsLGZl3qlzcpG5X1+c1Jpmu6TrAl/szV7K/8AL+/9luEl 2fXbXkun/ALTbmB7nX9b1C71OZjJM9syqu8/eyXRmc7y3z8Z9K888b+Ebz4W+KtPvdH1GUpIHltL k7EdGRvmQjPzfIy/7+78KAPrKisbw3qM2reGNI1K4VFmvbOGdkT7oZ0Dn+deF/FPxXqXjLxSPBWg b5beOcwSxJGV+0XCN8+Tn7iY/wDQm7IaAPa5vGHheCaS3uvEekwyxNteOS9RHVvfLVr29xBeW6XN vMksMqbkdG3I614np/7POn/2UV1LVrptSkiyj2qIIY22d1f5n+bPdP8AgNcF4s0rxH8OLbUPCs1y J9F1ZBMGVHKHY4w4z92T5U3gZ4b/AHTQB9aUVwHwV/5JHof/AG2/9HyV39ABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXkPwi/5KD8S/ +woP/R1zXr1eQ/CL/koPxL/7Cg/9HXNAHr1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAeaat9t1L47+HLRRGtppWmT37/3m83dD+P8H/j1XPjV/wAk j1z/ALY/+j46peMbK3sPin4I8RyJtjeabTZZv9t0fyV2/wC8z1r/ABN0e/174f6lpelwG5vp/J2R 71TdtlRurH0FAFT/AIu9/wBSR/5NVzfw9k1eP4ma1ZeK4riTxKlnmG+LD7O9mHX/AFa4HV9v/j33 XD7/AGSuDudM1hPjHa6zBpxn0p9H+wz3PnovkN5jSfc++3RB/wADoA86k1rT9d+KfiK/1rwxquvJ pbiwtbazsluY4UVnVmk4Gd3zMuf7zddqGprVPI+Juh614a8FeJNJtpWNpqEEti1tBsfCI+E/u5Lt njKL7vXQ39hrvw/8Va3r/h/w/wD23purbJrm2glZZ4JtxyQPnLoxkdvlX/vnZ82no0vjLxN4m03W NT06bw3pFrAzfZDcmV7x5FIG9ARt2f7S5/8AZQCrftH4a+NOn3e9IrXxNaSWsxa5ZP8ASIcbHKH5 T8uxE/3if96sqp4w+OVxMw8/TvDFuiJ++V4vtMh/uH+L7/To0KV0nxD8P3+veGkOkuV1XTrqO+sA GTa8yeu76tR8PPD9/oPhpzqzltV1G6kvr8Fk2pM/pt+i0AdtRWDoc2uzHUjrFnDb7L+VLPyf+Wtt /A7fMfmP4fSt6gDxjwlo3ibVL3xdLofi3+xraPxHeq8P9mxXO98r8+5/w49q7zw/onijTb15da8X nV7Zo9qw/wBmxW+1v725Px/OqngPR77R/wDhJvt8Ri+26/dXkHzK2+J9m1/0rtqAPn6TWtP134p+ Ir/WvDGq68mluLC1trOyW5jhRWdWaTgZ3fMy5/vN12oamtU8j4m6HrXhrwV4k0m2lY2moQS2LW0G x8Ij4T+7ku2eMovu9dDf2Gu/D/xVrev+H/D/APbem6tsmubaCVlngm3HJA+cujGR2+Vf++dnzaej S+MvE3ibTdY1PTpvDekWsDN9kNyZXvHkUgb0BG3Z/tLn/wBlAMPTfCem+Ifjj4xvdUtobuGxhtUW 2mj3KzyQp8+P+AN/31TfEfh2HwZ8SPCviHw7Zi0t9RvF06/hjwkOJNqINi4/2m/u7kQ0+9tfHXhv 4heIvEul6HHqGlXaw+ZarMiSzBIvvp/F8rDBH8W/7vdLFhYa78QPFWia/wCIPD/9iabpO+a2tp5W aeebcMEj5CiKY0b5l/763/KAUrPwvB4k+N/i1tSt47rTLRbNzbSOxVp/JTY5X7j/ACiUfN/f9zW/ 4ightPij8Oba3hWKCFdRRERdqqv2da09B0e/s/iH4w1W5g22Wo/Yvssm5Tv2RFXrN+INj4gi1nw9 4l0LThqJ0eS4Mtnu2O6OgB2ev3WH4p8j0AY/7RX/ACT3T/8AsKR/+iZq2/iPF4Rb+x5/FurTWltb 3RmhtU+dLlwR9+HY+9eCM9t/+3XL+L7Pxh8TfCm2Hw5JpkNu6XUMN5Kn2i5l+4yBDs2Kgabl/v8A yetbXjnRPEMPjDR/Gml2c2rxaZFNE+lLPscb0ceYnH+0OAN3yp/wEA89+Ies6FFYaZq/hfwtfaRc W1+sttqv9lJbW86Y3rt/v52oy716A13nxO0o65498CaYrBEnlvBP87Lvg2IZkynI3pvX8awvHcHj L4ieEZPsnhd9P06zm+0rDdy/6Xcbd6/JFjKYy/yN1+TZmu3v7O/13xn4G122sZorO1hupLrz9qPb GaFAqOvXf7dqALereBtJfwLqPhjS7C2tLe5hIjQEonndUd2HzN86pz1rgV8c3GlfAES+b9l1e2P9 ieV5UiNDMnyY/wBiQQjfn+//AN817jXgf/CMtffH+40y3vnTSrSdNdls0mfas2xOdjDbv3sv/AGx 7UAeq+CvD48KeD9M0QtvktYv3rFv42+d8f7O5jWhqdrpEhiv9Vt7JjY/vkubpE/0bvvDP9z7vWte vMfilpfiPXLTSLDR9JXUdON0ZtSgFyLczom3ahffwj/N+Kr6cgFTUvEetfEe3m0bwrp09roV4phu dbvE2p5R3o/kofv/AHcfj0T79Zvjywh8O6z8LdBsHdLCHU0/d/33SSH52x/F87n/AIG1dHB4i8d2 kKW9t8LkggiXaiJrlsqqvsNtN8Y6JrvjTwBCxsn0nxDbzi7tbeO6V/KlR2/5ap/s89vn2elAHUeP P+SfeJP+wXdf+iXrxe4uNUj0n4OWmozOGkvEfyww2lVmhEP3f+mT/wDj1dPean448d6OfC3/AAjk uiGXZBqupTOURRufeYU/jVtg7/xlDx89bnjfwTdal8OrXSNBmuBfaQYZtPfztru8K7B82OG25/u/ P6UAdL48/wCSfeJP+wXdf+iXrw3Xb3xBD4S+E8aYlvvO82C2LfJJseL7Nu5/uMo/4FXY3mp+OPHe jnwt/wAI5Lohl2QarqUzlEUbn3mFP41bYO/8ZQ8fPXQ+LPB95P4D0/S9Amb+0NFktptMkmkU5kh+ Rd+V2n5M+g3YoAxtX0Lx34YsdU8RQ+OW1BreIXM1ncaeqQyLDyV4b5Plz9wLv/Wuz0XUrHxz4Jgu zBus9UtWWaEs3U/I6bv++lrgb3xL498T6Ze+GP8AhAzY3dxA9rdX9xMyW6b/AJHdfl+bqSArv/wO u1ihs/hv8NmVNjQ6TZs37xvL86b/ANl3uf8Ax+gCl8H55bn4W6JJNK0jlZk3ud3ypM6qPyA/Ku+r j/hzo82gfD/RbC73CdYPNkR0KOju28oVP93ft/CuwoAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACuA+NX/JI9c/7Y/+j467+uA+NX/JI9c/7Y/+j46AN3wH/wAk+8N/9gu1/wDRKV0Vc74D/wCS feG/+wXa/wDolK6KgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigDnfHn/JPvEn/YLuv/RL15F+zR/zNH/bp/7Wr13x5/yT7xJ/2C7r/wBE vXkX7NH/ADNH/bp/7WoAtftHX80el6FpyohhuJppnOPmLRoqr/6Nb9K9F+Gunw6b8NfD9vEWeN7O Ocluu6b9436ua4T9oXSJ7jw7pesoXeOyneGRETgRzY+Yt/DyiL/wOur+EOvJrnw30xt6mayX7HMi K3ybPuD/AL42UAegV8ufEcR+FvjpFqlxaeVZ/abbUFWILl0G3ew/2t6PX1HXy7q91F47+PVqLT/i YWQ1CKJI5WR0kghGZSvJTYdjtj+Lf70Aex/Gr/kkeuf9sf8A0fHXMfs8WsEfgzUrtI4zM+osjSBf ndEjQqPw3v8A99V0/wAav+SR65/2x/8AR8dc/wDs6/8AJPdQ/wCwpJ/6JhoA9fooooAK+YPGX/Jz tv8A9hTTv/QIa+n6+Vfi1JeeHfjS+spCu8PbXttv+ZX2Ig/9DRqAPqqiqGl6nZ6zp0OoafcJPaTr uSVKv0AeQftFf8k90/8A7Ckf/omaug+Cv/JI9D/7bf8Ao+SuN/aG1i0/sHS9F3bryW5+2bB/CiI6 fNz6v/441dn8H4Jbb4W6JHNE0cgWZ9jLj5XmdlP5EfnQB59+0v8A8yv/ANvf/tGvVfAEEVr4A8PL HEkStp0Em1Bt+d03v+pzXlX7S/8AzK//AG9/+0a9d8B/8k+8N/8AYLtf/RKUAHjz/kn3iT/sF3X/ AKJevIv2aP8AmaP+3T/2tXrvjz/kn3iT/sF3X/ol68i/Zo/5mj/t0/8Aa1AB+0v/AMyv/wBvf/tG vXfAf/JPvDf/AGC7X/0SleRftL/8yv8A9vf/ALRr13wH/wAk+8N/9gu1/wDRKUAeBeMv+Tnbf/sK ad/6BDX0Vruqf2N4f1LUxF5v2K2lufL3bd+xN2P0r518Zf8AJztv/wBhTTv/AECGvpG/sLbVLC5s btd9vcRPFKn95X4P9aAPk/4WeMdK8D6/eapqaXkwe1Nsi20St1dGydzr/cr1z/hozwl/z4a7/wB+ Yf8A45XE/AfUpdJ8e32h3jG3a8hZPs7x/P58PPP935POr6YoA+b/AIl/FPwv458JnS7W21aG8imS aBpkjRN4+U7yHP8AAz13XwE1Ge8+G/kOE8uxvZYE2/3fkk/nI1dN4w8daX4I062vNVM8hnm8tYbb YZD1y+1nHye/+2tbPh7W4fEWhWmrW9vPbxXCblS4Ta4WgD50/Z9t4ZviFcs8Ss0GmvJGzL9x98af yZhX1FXy38G7tPDfxVn03VsQXMsUthgupVJt6Hb/AOOba+pKAPMfjlYQXnwvvbmRz5ljNDOm3+/v 8v8A9nas79nX/knuof8AYUk/9Ew0vx61yPT/AAHHpaSR+dqk6qVdGH7pPnZv++/L/wC+qT9nX/kn uof9hST/ANEw0Aev0UUUAFcDqvwk8F6srtLosVvL5WxZLP8AclP9oInybv8AgFeT3HjPXPB/xpuY td1TUG0qLUZN1s967RJDL9x9vzfdR1fZ7Y4r6Lt7iC8t0ubeZJYZU3I6NuR1oA8O139nOIoX0DW2 RgvEN+m/e3u6D/2SuH07WPFXwe8UfYZhJ5KOXmsmY/Z7lGA+dP8Avjh+o24P8SV9aV4H+0ZeWfk6 HaeXHLfbpZN6zfPDF8v8H+1j73/TP8gD2XRdbtNf0a01WxctbXUQdP8AZ/2T/tc4/Cvnfxl/yc7b /wDYU07/ANAhr2X4SWM1h8LNBiukCu0LyjJz8jyM6f8AjrivGvGX/Jztv/2FNO/9AhoA+n64bxRd eBvDV5Bq/iS106G8nl3Q3T2QeZnT+IbUL/Lhfm/3fau5r5J0b7J8SfjXuv8AznsNQuZn242N5KIx RPk6fIiL/jQB6nN+0N4YFu7W+m6s0235EeONEZvdt5rzL4h/ELV/Hml20p0V7DRIpuZM+cjXO04/ e7BzsP3K+jdL8I+GtGlgfT9DsLeaBdiTpbp5v937/wB+vN/2i7+JPDOkaaQ4muL0zq+PlCohRv8A 0atAHpPgP/kn3hv/ALBdr/6JSvAP2iv+ShWH/YLT/wBHTV7/AOA/+SfeG/8AsF2v/olK8A/aK/5K FYf9gtP/AEdNQB9Q18geF/GVhYfFObxfqMVysb3FxcpbW6rKwabeNvzMnTf1r6/r5d8HSJ4N+PM+ ngPZWc13NYCIhnzC/wDqU5G/73lfNQB6B/w0Z4S/58Nd/wC/MP8A8crD8Z/GLwn4s8Ianohs9aie 6i/dSGGLG9DvTo/3dyjNe/VzXizxRY+EdCn1jUvM8uNkjRIQpd2b+7u6+v8AwGgDy/8AZxv5pNL1 3TmRBDbzQzIcfMGkRlb/ANFL+tcx400LxF4A+IVx4x0+N7i2kupL2O7WLci73w8M39z75X39j933 bwl4qtfFujtq1naXlvb+c0cZu0C+YP7y+qf/ABNYHhX4t+HvGGtf2XYxXtvc+Uzp9rRI/M6fImHP zf8AxJoA4vSf2ibSTbFrOhTREx4aezmD7n46I+3av/A69G8O/Ejwv4pZY9M1FBeMgY2s/wAkoPXb j+P/AIBuqbWfh94T13f9t0CzeV5fOeWFPJd3/wBp0w/evnn4oeEofAfiu1m0e+xFc5ubaFJcT2hV vXrs/uN1+Q/3ckA+s6KzNKvJb/SbO9ubd7Wa4hSV7dz80TMv3K06ACiiigD5e/aK/wCShWH/AGC0 /wDR01e/+A/+SfeG/wDsF2v/AKJSvAP2iv8AkoVh/wBgtP8A0dNXv/gP/kn3hv8A7Bdr/wCiUoA6 Kub8TW/hw6a+peJLLT57WzVnEt5AkuwH+7wf9mukr5d+PWuPqHjuPS0kk8rS4FUqyKf3r/Ozf98b B/wGgD0KX45+B9Lb7HYWuoyWsKKkbWtskcW3/ZR3T/0GuR8T/GjUfFejapo+heH5o4PLczXIcyst sPvuU2fL/vfwV61pPwy8HaNYLaJ4fsbr+9LeQJNIzf7zj9Kk+JOoQ6Z8NfEE8oZ43spIAF67pv3a /q4oA5D9nX/knuof9hST/wBEw16/XkH7Ov8AyT3UP+wpJ/6Jhr1DVNTs9G06bUNQuEgtIF3PK9AH z38VtEuvBHja28VaHcC2+2yySkiTMkdz/wAtDsP8Dbv9r7x/2BW/8DfCUNws3ja+vo73ULiR4lUn zHhfPzs79nb/ANAfvvrm9O065+N3xFu7+9Z4tDtU25jKJMkPz+Sg+/licu3/AAL/AGKl8HavffCf 4gXPhrW2lGl3c2xJZAqJy/7u55/gwDv+b89mKAPpOiiigAr5w/aM0ww6/ouqGY4ubWS22Ffu+W+/ /wBrf+O19H15Z8eNMF78Mp7kTbPsN1Fcldv38nysf+RM0AZnxF8ZSXPwMs7+B1M+spDBLJbTbViZ k3zJ/wCOOmz3qT9nvSBY+CbrU3iCy6jc/K2770SfIvHb5/Nr5/1HxHd6l4f0bRJljW30oT+S6qd7 ec+9t3NfYnhbRj4f8LaTpQSJHtbdEm8o/KzhPnb8XyaAPJv2itGibS9J11BGk0M32N/k+Z1ZS6fP /s7H/wC+63dY8W3Gpfs8Ta4v7y4ubBLaZ5U4d2cQTNhenVzXY+PNFfxH4H1XSkSR5poC0KRuq+ZM nzonzdBvVa+U38VSTfDyHwpLGzJDqJvUneXOxNmzYE+rM1AHrv7OukCPT9a1x0iYyypZxN/Guz53 /wCA/On/AHxXvFcF8JtI/sX4Z6PGyRma5hF47wj7+/5l3f7WzYv/AAGu9oA+YPGX/Jztv/2FNO/9 Ahr6fr5g8Zf8nO2//YU07/0CGvp+gD5e/Z1/5KFf/wDYLf8A9HQ17/48/wCSfeJP+wXdf+iXrwD9 nX/koV//ANgt/wD0dDXv/jz/AJJ94k/7Bd1/6JegDx79nCCN5/EVy0atPElvGkmPmVHL7h9PkX/v mvoOvAP2aP8AmaP+3T/2tXv9AHzB4y/5Odt/+wpp3/oENe++PP8Akn3iT/sF3X/ol68C8Zf8nO2/ /YU07/0CGvffHn/JPvEn/YLuv/RL0AePfs4QRvP4iuWjVp4kt40kx8yo5fcPp8i/9819B14B+zR/ zNH/AG6f+1q9/oA+YPGX/Jztv/2FNO/9Ahr0n496jPZ/DfyECeXfXsUD7v7vzyfzjWvNvGX/ACc7 b/8AYU07/wBAhr1D446NLq3w4mmh3F7CZLsrGm7en3G/9D3/APAaAF+BthBZ/C+yuY3PmX00077v 7+/y/wD2Ra9OryH4C65HqHgOTS3kj87S52UKiMf3T/Orf99+Z/3zXr1AHzN+0HpZtfGNhqKQIkN5 ZbPMXb+9lRzvz/wF0r2nxHfw6x8KNW1OBHSG70OeeNW+9teEt/WvEPjLqkvir4l22iaW7zm1CWSx b12faXb5tvPX5kRv9znpXu3jC3htPhv4gtbaFIoYtJuUSNF2qi+S3QUAeU/s0f8AM0f9un/taud8 bRRXP7SaQTxLLDNqVgjxsu5XQpCMV0X7NH/M0f8Abp/7WrnviVI/h/49QazfRP8AZPPs71AoVmeJ Ngfj6xvQB9QVm6rpsOraPfabO7LDeQvA7L97a67D+NT29xBeW6XNvMksMqbkdG3I61jeL9dj8N+E 9S1Z2QSW0LvF5isytN/Av/fe0f4UAeBfs6/8lCv/APsFv/6Ohrov2l/+ZX/7e/8A2jXO/s6/8lCv /wDsFv8A+joa6L9pf/mV/wDt7/8AaNAHrvgP/kn3hv8A7Bdr/wCiUrwDwxDDdftI3EUsSyp/a1+5 Vlz8yecyn8wK9/8AAf8AyT7w3/2C7X/0SleBeDf+Tnbj/sKaj/6BNQB9P14B+0v/AMyv/wBvf/tG vf68A/aX/wCZX/7e/wD2jQB674D/AOSfeG/+wXa/+iUrwD4FwrqfxMub69MlxdRWc10kzuxcys6I 7n+9w717/wCA/wDkn3hv/sF2v/olK+ffg3dp4b+Ks+m6tiC5lilsMF1KpNvQ7f8AxzbQB9SV4z+0 PawSeDNNu3jjEyaiqLIV+dEeNyw/HYn/AHzXs1eHftDaxaf2Dpei7t15Lc/bNg/hREdPm59X/wDH GoA7L4K/8kj0P/tt/wCj5K7+uA+Cv/JI9D/7bf8Ao+Su/oAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8h+EX/JQfiX/ANhQf+jrmvXq 8h+EX/JQfiX/ANhQf+jrmgD16iiigArnZvGHheCaS3uvEekwyxNteOS9RHVvfLVxPxQ1G81jU9I8 AaPdSW17q7br6ZTjy7b+Lg/ezsfo38G3+Ot7T/hX4N0/TJNO/sSC4WRNjzXK+ZK3y7d2/wDg/wCA bKAOvt7iC8t0ubeZJYZU3I6NuR1qnPr2k2OoRWN1qllb3kwXyreW4RJG3cDamcmvMJIV+FvxI0bT tKDp4b19vJNh5jSGK5yqb03fd+/H/EeN/olc38Z47x/i5pcunTJHd2ekfbUd/wCEwNPN/wCyUAfR VZE+vaTY6hFY3WqWVveTBfKt5bhEkbdwNqZyai8N6zD4i8P6fq8Bj2XkCzFUcPsf+NN3facr+FfP Wr6hLr/xn0nXkljexfXksLXZP5uEgeH5l/2G8zfx/eagD6FvfFfh7TLtrW91/S7edPvxT3kaOv8A wEmn6d4j0LVpmttN1mwvplXeyW1ykjhfX5DXlllplhq37R/iq21Kwtb23XTY3WK5hWRd+y25w31p fi14P8NaV4TbxDp9tDpGrWk0ItHtG+z7339lX+IAu2fv/J7UAe11Rv76z020ku765ht7dB80sz7F X/gRqn4bnvbjwzpU+ph1vns4XuA6bH83Z8+Vx65rmvjV/wAkj1z/ALY/+j46AO0t7iC8t0ubeZJY ZU3I6NuR1qC61WwsZ7e3u7+3t5rl9luk0yo8rf7AP3uoryr4T6tf+Hn0zwpqwY2uo2cd9otwIflc OnmzRbh3Xd/P+8gqz8Xf+Sg/DT/sKH/0dbUAevUVyPizx5pPhKW0tbqO5vL+6YLFZ2SCSZh/e21R 0b4l6dq3ieDQH0jWtK1C5ieWFNTtRCXA9Buz/C//AHzQB3lFFFABRXHeM7/xfp8VmvhDRbbUZize dJdSqiRJ2G3emf8A7GuX+Al/caj4Q1bULuQvcXOszSyv/edkiNAHrNFeNfEQaXrXxP8ADWi6/boN Hs7Oa7vZ5Z9ioknyJvbjaN6Jzu/jFaugeB/hZNqkM+gJp89/aOlxH9m1N5nQo/3ivmHvigD1CiqG qanZ6Np02oahcJBaQLueV68J0jVL/W/j74b1i9Ro4L21mlsImTYyW2y4VN/+02wv/wADoA+haK8l +MEkF7c+E9BuoN9pd6n9oun83bsgiH7wn0TZI7Fv4dn5Fn4D+DuoTLa2A0y6uH+5BBrLu7fRRLQB 61RRWfqM11DYXMtla/a7lIXaGDzNnmv2Xf8Aw0AaFFeB6frHjDUPjd4VtfF9ha2FxBDctBb2xUrs eF8v99+6f+O16V8Q/Ep8K+Cb/VYpES8VfKtg7rnzXyOM5DbeX299lAHZUV423wf8KXekNpl7eeZ4 sktvtNxdi9eScybvnlCfxJv+TOz/AMfrT1n/AIS/RPg69g9zdX3iVV+zJcWEDzvJ8/bCf88cjeec /wC3QB6jRXk0nwT8OXHh145pLuXXJkLNrDzu0jzH5t5TfsP09P4s/NV34W+Idb1f4X/b7m0mvNRg 86OEySbPt20fJ8//AI5u/wBigD0yivA9P1jxhqHxu8K2vi+wtbC4ghuWgt7YqV2PC+X++/dP/Ha9 8oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwvFOg23ibwzqGjXLBVu4t gf8AuP1Rsf72DV3TobqGwtor26+13KQos0/l7PNfu2z+HmuN8cahr3/CW+FNE0PW/wCyjqgvPNn+ zJN/q0R1+V/x/OqV7ovxU0h0udM8VWGtqiOz2d3YJbb+PlRdn/xa0Aen0VyHgbxhD438NJq8MJtp DK8UsG/f5LDtu2jPy7W/4FXX0AFFFFABRRRQAUUUUAFFcVp/jVr/AOJWq+Dv7PCGwtluftXncuP3 fGzb/wBNB37V2tABRRRQAUUUUAFFFFABRXFah41aw+JWleDv7PDm/tmuftXncoP3nGzb/wBMz371 2tABRRRQBn6jDdTWFzFZXX2S5eF1hn8vf5T9m2fxc1heFPCn/CPNfXl7qMmqatqMgkvLyZdm/Zwi quflVc/54AzPG+qa2fEnhnw9omqrpb6q9y0t79mSZlEKb9ux/rXoFABRXFah41aw+JWleDv7PDm/ tmuftXncoP3nGzb/ANMz370n9t33/C3f7E84/wBnf2B9t8rav+u8/Zv3Y/u0AdtRRRQAUUUUAFFc p4g0TxRqV6kui+LzpFsse1of7NiuNzf3tz/h+VedeE73x94o8QeJdJHjk239i3X2Yyf2TA/nfO6Z /wBj7n60Ae4VzHiHw7J4hSztZp1i06OZZr21MKyC62neibm4VN4+b5MsOOKteHdO1nTbB4da1z+1 7hpNyTfZUt9qcfLtT8a3aACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4D41f8kj1z /tj/AOj467+uA+NX/JI9c/7Y/wDo+OgDd8B/8k+8N/8AYLtf/RKV0Vc74D/5J94b/wCwXa/+iUro qACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKAMPxZaT6h4Q1zT7RA9xdWE8MK5+87owxXnHwS8F+IPCA1wa7Y/YzdeR5P75H3bPM3fcY/3x XsdFAGRrWiWmv6Nd6VfIWtrqIo/+z/tD/a5z+FeADwj8RfhbrDXXh6L7faTOiObSLzUmXcdqSRH5 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 u2fw1oeI/DOjeKdPSw1mzNzbpL5yx+Y6fP0z8hH941vUUAYVj4V0Sw8Ox6BHpsL6Uh4tZv3yff3/ AMec/PzXD3/wF8F30yPbrqFhFtx5VtcblJ/vfvA5r1WigDnfDnhPRfCdvNFotgtosrb5jveRnP8A vOa5fXPg94V13xCdXuYbuKZn3yxQSBIZ277srn5u+3FelUUAclr/AIB8L+KtQS/1vTftV0kXlI4n lT5PTCMP7xrraKKAOB8W/DDw34vujd30E9vfkLvubWTa7oP738H44/hqKD4PeBxp8Nq+jGXygcyP cOHZvl+8yN/sivQ6KAMuLSrO30hNJW3X+z0h+zLA3zr5WzZsO6vPZPgJ4MbUvtSC/ih3KxshcZiP +znG/wD8fr1aigChpemWejadDp+n26QWkC7UiSuFh+EHhS38Wx+IYI7qN4ZhMlqrbYEkB67du7G7 5vvY/wCA8V6TRQByN34A8MX/AImTxBc6Zv1dJUnE/ny/fT7h27tn8Nb+qaZZ6zp02n6hbpPaTrte J6v0UAeV/wDCiPBH9rfbfKu/I6fYftP7n7uP+un+19+vRdL0yz0bTodP0+3SC0gXakSVfooA5LQP APhfwrqD3+iab9luni8p3M8r/J6Ydj/dFGv+AfC/irUEv9b037VdJF5SOJ5U+T0wjD+8a62igDH1 rQNM8QWD2Wp2cVzbv/BKmdp5+Zf7rc/ergZPgJ4MbUvtSC/ih3KxshcZiP8As5xv/wDH69WooA5y w8I6JpnhqbQrLT1h064R0lgWR/mD8N8+d/tTPDvg3w/4QNydB082n2nZ5w855N+zO377H+8a6aig AooooAKKKKACvIfhF/yUH4l/9hQf+jrmvXq8h+EX/JQfiX/2FB/6OuaAPXqKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKlxcQWdu9zcTJFDEm53dtqItZH/CeeEv+ hq0P/wAGEP8A8XWpf2Ftqlhc2N2u+3uInilT+8r8H+tcb/wpP4e/9C//AOTk/wD8XQBvf8J54S/6 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 UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB458bfGniDwgNDOhX/wBjN15/ nfuUfds8vb99T/fNcvBqnxzn0qLVoJZJLGaAXMciQ2bMyFdwwmN9XP2l/wDmV/8At7/9o1674D/5 J94b/wCwXa/+iUoA80+GHxQ1rWfEb+GvE0cS3ojfy5DB5MzTJyyOg+X7uf7v3O5Ne218xfFv/il/ jVZ64f35f7LqAhzs+58hTd/2x/8AHqv/ABD8Rax4+8eS+BtEuTHYCQQtG7eWssyFmd3OzfsTkbef uB6APo6ivl/xZ8KdX+HWmp4k0rXpJfszbJpoUNtJCH+TcuHP9/b+Ne1/DbxT/wAJd4GsdQlcPdxH 7PdnP/LVPf8A2vlb/gWKAO1oor48+GXh3UPFXiC90fT9T/s5J7F/tUuzczQ70+T/AL62elAH2HRX yT4k0nUfg741sE07WGuJzCly77HhWRd5/dOqudyfuxnpXqPxo8e3XhyOz0TSbuW21C5Rpp504ZIe UH8PVvmO5CGXZQB7LRXzZ/woDV/+Ec+2f2hD/bPleZ/ZvlfJv67PO343Y9sf+hVt/CvxLe+NPC+v +DtW1KeW/ktpfJupyZn8mRdjfXYzDq/8eOi0Adr/AMLI/wCLtf8ACCf2Vz/z+faf+mPnfc2fh96v Q6+Q/wDhW/8Axdr/AIQT+1Tn/n8+zf8ATHzvub/w+9X1PoWmf2N4f0zTDL5v2K2itvM27d+xNn9K ANWivIP2iv8Aknun/wDYUj/9EzV0HwV/5JHof/bb/wBHyUAd/RXy9+zr/wAlCv8A/sFv/wCjoat/ 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 7mx95KAPprwndz6h4Q0PULtw9xdWEE0zY+87opzW5XO+A/8Akn3hv/sF2v8A6JSuioAKKK+Xv2df +ShX/wD2C3/9HQ0AfUNFfL37RX/JQrD/ALBaf+jpq7f9oLxHqWkaNpml2MvlQap5wuXX7zKm35M/ 3fnoA9qor5ct/hla31h9v8F+NItX1aIpNBZxQ/ZphtcLv+eTem31x2HtXqFjr3iLwj8JLvVfE9k/ 9q6ehhRnlSbzznZC77W9WCPzvO3NAHqdFfLPhzR9L+IFtfa14x8dJZ6hueGGO6mjVl/jR/nb/V/O /wAibenWtv4Q+K7rSPGr+B1vBqOiyTzJbS7/APVmPe+9MfwPs+5/tZz13AH0XXzx488feOLH4qXn hzQNU8tHlt4baAwQnLuicbnT++9fQ9fKHxSv59I+ON7qkCI01pPazxq/3dyQxPQB2H/GQ3+f7Pr0 r4d/8Jf/AGFcf8Jtn+0/tLeX/qf9TsTp5PH39/vXi3/DRni7/nw0L/vxN/8AHK9Dk+JV1F8EovFN 0kEOrXpkgt1gXCedvdFPzb/uqm/5uuygD1uivmLwt8M9b+JVvN4r1jW2tjeSkJI0PmtPj5G6Ou1e Nv4Vc+Hmu6x8PviMPBmuXUj2rN9mEPm+ZFFM2XjePjo+7/Y/1nzfcoA+kaK+VPiR9v8A+F9Xf9lY /tP7TZ/Zc7ced5cOz73H3q9F0jwFqXgz4feOLnVtUW9v9S02V5SoZgGRJud7cvu39wKAPZqK+Sfh n4J1DxtHrFhb62+nWEawm4REaQTt8+3K7lz916f4bsPEdr48n8D6H4mubGF7ua3eVHdFPlH55AnZ 8Rf+y78UAfWdFfJvjLwdqPwo1zR72w1szzSCR4Z1h8po2X73yfN8uH/9C4r6I+INlreoeCtQtvD0 k0eqP5fkmCbyn++u7D54+TdQB1VFcB8LdO8U6b4ZuYfFrXDX7XjOhubr7Q3lbEx825u+/iu/oAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8A/aX/AOZX/wC3v/2j W/4d+LvgzSfBelWtxqrm9tNNhje3S3l3b0QfJnZs9s13XiLwb4f8Xm2Ovaebv7Nv8kec8ezfjd9x h/dFYv8AwpP4e/8AQv8A/k5P/wDF0AeR6Ctx8TfjSuvWFpPbadbXUN1K7jzCiQquzef7z7Bx9fvb KL6WDwD+0LJfakZhp8lzLc+cYT92ZG5A/iVXbH/AK+hNF0DTPD9gllplnFbW6fwRJjcePmb+83H3 qq+I/Cei+LLeGLWrBbtYm3wne8bIf95DQB558YPHHhy58AXelWOrWt/dXzIsYs50m2bHVyz7T8vS tL4GaPdaT8Oonu1Ef2+6e7iT+LYUVO/+5u/KpNI+B/g/SpGle3ub+QMrxi9m3IhX/ZQIG9Pmr0+g Ar5e/Z1/5KFf/wDYLf8A9HQ19Q1yWgeAfC/hXUHv9E037LdPF5TuZ5X+T0w7H+6KAPC/2iv+ShWH /YLT/wBHTVsftFaNKuqaTrqCR4ZoTZv+7+VGVi6/N/tb3/74r1zX/APhfxVqCX+t6b9quki8pHE8 qfJ6YRh/eNb2qaZZ6zp02n6hbpPaTrteJ6AOQ/4Wl4P/AOEb/tz+2otnk+Z9l81PtW7ps8rP3s/4 /d5ry/8AZ50e7/t7VNa27bOK2+x7z/HI7o/y/wDfH/j613X/AAojwR/a323yrvyOn2H7T+5+7j/r p/tffr0XS9Ms9G06HT9Pt0gtIF2pElAHgep6paaN+1HLe39ysFojoryt91d1ntT/ANCFfQFvcQXl ulzbzJLDKm5HRtyOtcV4v+FHh3xlqCalqAu7W6C7XksnRDL7vuQ5rsrCwttLsLaxtF2W9vEkUSf3 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 F9kJ4iziwa8S535f5UTZ8/r139uf4q09Bn1TxB+zb4gheZrl7GbZFubBSCLyZT/3yN9dpH8BPBi6 l9qcX8sO5mFkbjEQ/wBnON//AI/Xo+l6ZZ6Np0On6fbpBaQLtSJKAPmPwD4X8A+ItHlfX9ek0vUI Ztjo95FCsidVdN6fh/wH/arq/h7p3gSD4nwweH5PEl3qFm8w89/Je02hGTeWTnZ/dP8AtpXY6v8A A/wfqsiypb3NhIWZ5BZTbUct/suHC+ny11vhzwnovhO3mi0WwW0WVt8x3vIzn/ec0AdFXzB4y/5O dt/+wpp3/oENfT9cjd+APDF/4mTxBc6Zv1dJUnE/ny/fT7h27tn8NAHXV5h8cdGl1b4cTTQ7i9hM l2VjTdvT7jf+h7/+A16fRQB418H/ABx4ctvAFppV9q1rYXVizrILydId+92cMm4/N1rhY3Hjr9oS LUdGDvaLeQ3JldGX91Cqbn6ZG7Z8v+8ucV6hq/wP8H6rIsqW9zYSFmeQWU21HLf7Lhwvp8tdb4c8 J6L4Tt5otFsFtFlbfMd7yM5/3nNAHgXjL/k523/7Cmnf+gQ17748/wCSfeJP+wXdf+iXqnd+APDF /wCJk8QXOmb9XSVJxP58v30+4du7Z/DXQX9hbapYXNjdrvt7iJ4pU/vK/B/rQB4d+zR/zNH/AG6f +1q5/wAG/wDJztx/2FNR/wDQJq958O+DfD/hA3J0HTzafadnnDznk37M7fvsf7xqvaeAPDFh4mfx BbaZs1d5XnM/ny/ff7527tn8VAHl37S//Mr/APb3/wC0a9j8UeILPwr4fudbvo5HtrYpvWJfm+dw n/s1VfEXg3w/4vNsde083f2bf5I8549m/G77jD+6Kva5odhr+kzaXqkJuLOcp5ke9k37X3/w/SgD N8G+MbHxxpM2o6bDdQwRTGFhcqquW2K/8LH+/XVVg+HPDOjeFtPew0azNtbvL5zR+Y7/AD9M/OT/ AHRW9QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUV4x41+JGqaL4+t7e3dbfQdPuLaHVXliD72mUv2y3yopPy/xDntXs 9ABRRXjvjrxh4g0f4t+GdDstQ8rTbz7MZ4fIR9++Z0fDFc/coA9ioorzTV/Emr23xw0Dw7DebdJv LFpprcInzuEm5343/wACUAel0UVwvxG8cQ+BvDv2pVSa/uZTHbQu38f99v8AZX/4mgDuqK8KS7+N 95JHq0Vnb28TNC6aWViQMpznIc716fPl9/z/APfPV+BPHt/r+san4d8R6Wmm67YqHZIi+yVS3XH8 ON0f8Z376APSqKKKACiiigAorB8VW2uXWgXEPhy8htNWfZ5E82NifON3VW/h3DpXG+JPFHiH4ffD mwvdaFpqmuSTvayTK2yIO+90fhVyAFUEfLQB6hRXGtceIvEPw1s7vRbq1stcvrS2njmZf3KM+x34 w/bf61qeFbbXLXQLeHxHeQ3erJv8+eHGx/nO3oq/w7R0oA3qKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiub8aeJf+ES8JXuti0+1fZvL/c79m7e6p97nH3qr/DzxFd+K/BOna1fJElxc+ZvWJfl +WR0/wDZaAOsorxz4JeNPEHi8a4ddv8A7YbXyPJ/com3f5m77ij+4K9joAKKKKACiiigAoorxz4J eNPEHi8a4ddv/thtfI8n9yibd/mbvuKP7goA9joorzT4N+JdX8V+Ebq/1u9+1XEd+8KPsRPlCIf4 B/tmgD0uiivKvHPxF1LSPEll4c8LWEOo67O26SOQF0Uf3MK/D8b8twqY9aAPVaK8KguvjdpKG6uL WDUk8h2kt3WI+VzzxEUZn+XOE3/f/vV6N4G8YQ+N/DSavDCbaQyvFLBv3+Sw7btoz8u1v+BUAdfR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFcVrlj42m8Y6bc6Lq9nBoMZh+2W0qjfL8 /wA+z5P7n+3QB2tFFFABRRRQAUV5p8ZPEur+FPCNrf6Je/ZbiS/SF32I/wApRz/GP9gV1/hO7n1D whoeoXbh7i6sIJpmx953RTmgDcooooAKKK800jxJq9z8cNf8OzXm7SbOxWaG3KJ8jlIed+N/8b0A el0VxWh2PjaHxjqVzrWr2c+gyGb7HbRKN8Xz/Jv+T+5/t12tABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUVxWh2PjaHxjqVzrWr2c+gyGb7HbRKN8Xz/Jv+T+5/t12tABRXmfxF8S6xoni7wVp +nXfkW2pX5hu02o29N8Ixlhx99q9MoAKKKKACiiigAorzL4ZfEW+8f3OtyS2FvZ21mIfJjV97jfv 3b3/AOAf3RXptABRRRQAUV5p8ZPEur+FPCNrf6Je/ZbiS/SF32I/ylHP8Y/2BVm6/wCEx174d+Hr vw1qtrZ6xcQW89zcXKIUdGhy/wDA/O/Z2oA9CorM0qO7h0myj1GVJb9IUW4lQfK0oT5m/nWnQAUU UUAFFFFABRXFf2f41/4WH9t/tqx/4RPOfsO397nycdfL/wCenz/frtaACiiigAooryf4Y+I/EvjD 4c6zd3WprLrHnzW9ncPEkaRt5KbPuLj77+9AHrFFcn4Ns/FNlpE8fizUra+v/P3xz2ybUEO1Pl4R O+/t3rrKACiszVY7ubSb2PTpUiv3hdbeVx8qylPlb+VY3g2z8U2WkTx+LNStr6/8/fHPbJtQQ7U+ XhE77+3egDrKKK800jxJq9z8cNf8OzXm7SbOxWaG3KJ8jlIed+N/8b0Ael0UUUAFFFFABRXFfE3W L/Qfh/qWqaXcG2voPJ2SbFfbulRDww9DR8MtYv8AXvh/puqapcG5vp/O3ybFTdtldBwo9BQB2tFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF eWjxVr9j8d/+EcvZS2i31tus4zsG35N+/j5vvJInNAHqVFcz421keH/BOs6ssvkTQ2riGQLu2yt8 if8Aj5WvMPhd4/8AE2o+Kl0jxdM7C+s/tOnedZiJn7/JsQZRk3nPP3PzAPdaK5bx5rT+HPA+q6oj yJNDAVheNFby5n+RHw3Ub2WjwFc6lfeB9IvtZuEuL+5h855lUL8r/On/AI4UoA6miivOfHPjq68P ajZeHPD9i1/4iv8A54LdwSiIT99j/wABfvgY3N7gHo1FeTa74v8AHvguS21PxDpui3mjeaI7ptJM 3mQA9/n4/wD1fw7q9LsL+21Swtr60bfb3ESSxP8A3lfkf0oAvUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFAHhnjz423Wh+IZ9M8P29vKLV3iuZ71HIaUdUQBl4Xpn/Ldv8OPHtv460d5 Xh+z6lZ7Eu41+6N/3WU/3W29P/114x8SPhb4js/E9/qllY3Gp2d9dPNG1pFvdGd3fYyA7/8Agdeo fBvwHqngzT9TuNX2Qz37R4tlfd5Spv8A4v8Agf6UAep0UUUAFFFFABRRRQAVh+JNZh8O+H9Q1ecx 7LOBpgruE3v/AAJu7bjhfxrcryD4tyz+ItR0HwBZTMlzqUwubl1b/VwpuH3P4/4n+9/yxoAj8NeC JNf+D98LxduseJd9/PM+xN77t8JOxPucK+z/AG3rb+DviaLxB4CtLbEQvNLSO0mQDHyKPkbv/D/4 8r1i/wDDOfhL/n/13/v9D/8AG6x/CttH8MPjD/wjUFzu0nW7dDC9zMokV/m2bjsHzb1dNv8Atr34 oA96rwH4p/8AJwngr/ty/wDSp69+rxj4yacdP8UeE/GH2OWS2065T7fNFzsjSVHT5f8Av5QB7PXj /iD/AJOf8Kf9gt//AEC6rr4viV4Ml0436eJLEwqjPsaXbL8v/TI/P6/w15zoeqxfEH44W+taRA/9 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 IVFsqs4bYz/xMP7lef3Gj/ELwE0GqaZ4hvfFVo0qC8sLhXd9n+xl3Yfe/h/2M76zfjrb6s/h+21Z 9bebSLm7hFvpr2HktC/kv8+84f8Av/I39/2oA98orJ0O11Cy0uK31TUzqV4u7fdeQsO/5v7i9K1q ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPkH4o+E 9Y0Xxjq17d2kn2S9vZJ4LlIyYn3s77N/9/g/LXrPwJ8J6v4dsNXvNUspLUX7wrDDNGUl+Tf8zL/D 98V7LRQAUUUUAFFFFABRRRQAV458btaml0vTPCGnsH1LWblP3ACfMm/5A277u6TZ/wB8PXsdcnf+ BtM1PxnY+KLprhruyh8qKHKmLHz/ADldud/z56+npQBw0fwd8U2lslvb/FDVoYYk2okcciKi/QT1 m+B7K+8B/GK98N39/LerrVt5sdw8a5uX+/5j5fd/z3T6817vXI674H0rxB4g0rWbpp47zSZRJC8O 1fM+dX2OdmSnHT/begDrq8a8TyxWv7SXheaaRYo/7N2bmbb8z/aUUfqK9lrwvx/otp4k+POg6RqI k+zXWkuj7G2suPtJVv0FAHpfj+eK1+H/AIhaSVIkbTp49zHb87psT9TivGdY0e7f9mPRHdPK+x3P 2xll+VnR5ZUTb/3+VvpXbn4PSX1+Rr3i7WtX0tJhLDYzyt7/AH23/wB0smVCf0r0n7BZf2f/AGd9 kt/sfk+T9n8v5NnTbsx92gDzrRPBlpr2j2mqWPjzxs1tdRB0/wCJt93/AGfufe7VY8GeGvDlh441 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 B1lFc/4X0e70Xw/b6ff6pPqdxCX3XkwO+TL7ucs3rjr2roKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKxYPEuiX WpHTINXsJb4MyfZ0uUaXen3hs/A1h/E7WLzQPh1rGoWDlLlIkRH7pvdULdPvfPQB21YNx4Y0e58U 23iGaz36taQ+VDP5j/InzDG3O3+N6wfhppF5Z+GbTU9Q1zUtTm1O1guW+2zeYkOU34TPT7//AI7X eUAFFZup6rpukwJPqWo21lCzbVe5lWNd31amaZruk6wJf7M1eyv/AC/v/ZbhJdn120AatFFeS/Gf x7rfgy00yHRpYYXvxNvmkj3umzZ9zPy/x+9AHrVFFZP9v6R/a/8AZH9qWf8Aaef+PP7QnnZ27/ud fu85oA1qKzdT1XTdJgSfUtRtrKFm2q9zKsa7vq1M0zXdJ1gS/wBmavZX/l/f+y3CS7PrtoA1aKo3 99Z6baSXd9cw29ug+aWZ9ir/AMCNcD8RfFNlN8M9du/DmuwSXFuYMzaddgvFvmT+ND8ufmFAHplF c74NmluPA/h+4nlaWWbTraSR2bczuY1OamvfFfh7TLtrW91/S7edPvxT3kaOv/ASaANyiiigAoqj f31nptpJd31zDb26D5pZn2Kv/AjUGma7pOsCX+zNXsr/AMv7/wBluEl2fXbQBq0UVkQa9pN9qEtj a6pZXF5CG823iuEeRdvB3JnIoA16KK8H8E+Kb2P4weMF1rX500q0F0EW8uz5MOLpET7x2r12/jQB 7xRWVpmu6TrAl/szV7K/8v7/ANluEl2fXbWrQAUUVUuLiCzt3ubiZIoYk3O7ttRFoAt0VzsPjDwv PNHb2viPSZpZW2pHHeo7s3thqd4o0e71rw/cafYapPplxMU23kIO+PD7uMMvpjr3oAr+IvBfh7xT t/tnSormSLG2blJMDPyb1+fb85+WoPD/AMPfCvhq5+1aVo8ENz2lZnmdP9xnJ2/e7Vf8L6Pd6L4f t9Pv9Un1O4hL7ryYHfJl93OWb1x17Vb1PXdJ0cRf2nq9lYeZ9z7VcJFv+m6gDVoqpb3EF5bpc28y SwypuR0bcjrUGp6rpukwJPqWo21lCzbVe5lWNd31agDSorN0zVdN1aB59N1G2vYVbaz20qyLu+q0 zU9d0nRxF/aer2Vh5n3PtVwkW/6bqANWisrTNd0nWBL/AGZq9lf+X9/7LcJLs+u2n6nqum6TAk+p ajbWULNtV7mVY13fVqANKisbTvEehatM1tpus2F9Mq72S2uUkcL6/Ia2aACiuU8ZeHNR8S6VBaad 4gutFnjn85rm33bnXaw2fK6cfNn/AIDWxpVnLYaTZ2VzcPdTW8KRPcOPmlZV5egDTorG1HxHoWkz LbalrNhYzMu9UublI3K+vzmtmgAooryX4Q+O9c8cXfiCXVni8u2+ziGGGPYsW7fv5+9/COpoA9ao rwubxHqFt+0e9jPrVzFosKb3ga6ZbZUFnv5X7vX569b07xHoWrTNbabrNhfTKu9ktrlJHC+vyGgD ZoorD/4Snw//AGj9h/t3TPtnm+R9m+2J5m/P3dmfvZ4oA3KKKKACivEP2f8AWtU1p/Ebapqt5fmE WwjN1cPKUB87ON3Svb6ACivKvgTqmoar4LvbnUr+6vZ11F0WW5neR9uyPHLfU16Pf31nptpJd31z Db26D5pZn2Kv/AjQBeorN0zVdN1aB59N1G2vYVbaz20qyLu+q1zWu+FdW1Txjp2s2viq9sbKz8ky 6bFv2T7XL/Phx977v3e3egDt6K8ll8da5L8drbwiksMWlRBy6LHiSb/RvM+dj/tn+HFen3FxBZ27 3NxMkUMSbnd22oi0AW6KxtO8R6Fq0zW2m6zYX0yrvZLa5SRwvr8hrZoAKKw7LxX4e1O7W1stf0u4 nf7kUF5G7t/wEGuG+BOqahqvgu9udSv7q9nXUXRZbmd5H27I8ct9TQB6rRRXgH/CSeNfihrus2Xh LVYdN0S0KIJfMMTPl/3b79nmB329sYxj/eAPf6K8E1FPih8M9Om1aXXrfWdJhnO+O6ZpXZXOxHff 84GdnyI//s9en3HiiCf4e3HifTGSVF017yNHO7Dqm/Y+334YUAdZRXnPwh8U6r4v8MX+parMjTf2 i8caIm1UTZGwX/x412mp6rpukwJPqWo21lCzbVe5lWNd31agDSorK0zXdJ1gS/2Zq9lf+X9/7LcJ Ls+u2vOpfHWuS/Ha28IpLDFpUQcuix4km/0bzPnY/wC2f4cUAetUUVh2Xivw9qd2trZa/pdxO/3I oLyN3b/gINAG5RRXO/8ACeeEv+hq0P8A8GEP/wAXQBqX9hbapYXNjdrvt7iJ4pU/vK/B/rWX4c8J 6L4Tt5otFsFtFlbfMd7yM5/3nNdFRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRXkHxq1XWvD0Xh3XtLvnght7zy5ovOdUuW4dN6L95P3b/99V6pb3EF5bpc28ySwypuR0bcjrQB bor5Zi8Z+Jo/EX/Ca/2lqx8KnW2i8p7neNjfP5Xk7/8Anl+HvX1NQAUV5R8GdU1DxHaeIvEF1fXc kN3qbpb2cszOlqn38L/39x2+4K9XoAKK8++Jfi698O6dZWWiKkmuatcfZbONiPl6Dfz8nV0+9/fr B1u0+KHh7w7/AG1/wl1pqUlqnnXdi9hEibEGX+fGW/8AHaAPX6K8/TxRNr3wau/EUJe3uJNIuG3R krsmRGRtvP8AfX5a4Hwd4J8WeL/Clnrq/EvXLMXXmfuN8z7Njsn3vOH93NAHv1FeP/8ACofF/wD0 VjXfym/+P11/j/xYvgrwlPqiokl0zpFbRNu2SSsf8Nzf8BoA7GivI9P+HniPWrUXvjLxhrP22by5 fsmnz+TFbOvTp8pb7n3FGHyfmrGnu/E/wl8RaVLq3iG41zw7qMnk3M10jj7M398cvg9X/wBva/8A vUAe60V5V8dtU1DSvBdlc6bf3VlO2oojS207xvt2SZ5X6CvVaACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvJ/iTdXeueKPD3gaxvntl1CR5b/yZHV/s 2xxs3fc+dfO+U5+4vavWK8U+Kktz4S8f+GPHRXzrWHNjOgT/AFY+bp83LMjv/wB8UAbGtfBPwlda NdQaVpgtr9ov9HnN1N8r/wAOdxf5fWuCv7iDxf8As/vrWqGe81nRJvs0d1O56vNFn/fGxkHze9ep 6l8TvCVh4dn1S31qwvCIDLDapc/vZW/gTZ99M8fw/Jz6V5pFoNxov7MOpvcud+oyw323H3VeaHZ/ 46gb/gVAHpvwx8M6PovhGwv9NsvJudTsbaa7fezb32Zzhjx99+ld3XO+A/8Akn3hv/sF2v8A6JSu ioA8f1vwfpR+KNz4g8ZalpH9kSxIthbX16VZWTZxsf5Cmd/y8/frj9VvvCdr8XPC134HuYEmkv0t b5bWHbEoLonyfLtO9GcfJU2jxeEJ/it4sHjsx/axqO6wN8XVNis/3z9zZs8r79Vtd13RtY+IvgyH wzp1vbaHbanCUlhsvs6zXDyRb8cdk8n3+vy0AfSdfOH7Q+jWNjq2k6pbw7bzUvONzJub5/LSFE/I V9H14R+0jZXM2neH76NP9HgmmhkfPR3CFf8A0B6AJfjXo+neH/hTpWlaZAbeyi1RNkZdn2bkmc/e 9ya6zwb4M8Py+HdD1ubToZNRmhg1J7yZd8z3LQ/M5d+Tz8/+/wDNXM/HTUrTWfhlp19p06z28mqh VlQ/K+1J0b/0E16V4D/5J94b/wCwXa/+iUoA4HW/B+lH4o3PiDxlqWkf2RLEi2FtfXpVlZNnGx/k KZ3/AC8/frj9VvvCdr8XPC134HuYEmkv0tb5bWHbEoLonyfLtO9GcfJU2jxeEJ/it4sHjsx/axqO 6wN8XVNis/3z9zZs8r79Vtd13RtY+IvgyHwzp1vbaHbanCUlhsvs6zXDyRb8cdk8n3+vy0AdVrdl D8QPjaPDusJu0vQ7B5jb5/17yKn8SbXT76ev+r/26ofGTwHpmkeGp9e8P6f9jczJDfpA3lwtBn+5 0++sX3f/AK9XvEN2fh58YX8VajbySaLrFstm93Ev/Hq/ydc/e/1Qft998btnOd8WviFpWu+FW0nw 9ePeNKyzXjRQ/ukh+Xbvcj5fneL8trYPFAHU6trF5oP7PdpqVi+24TR7NEfum9ETcP8Aa+euL8J3 3wb0zwvBb6o0E19dWqC9aezmlZH2fPsfZ8v3v4a7a/0S88S/AGw0nT0R7ubSbJo0c7d2zY+3/wAc xWb4L+KXh6z8JW2m63dyaPfaPClrc21wjb/3ZVPl+T2+59/7/wDd3kAp/BPXbZr7XfC1ldyXNhbT vdabJKG3tCX2Mf8A0X/d5d69urz7wH4s1jxnPqepNpq2Xh4PssNyHzp/7zbt3/sn8f3/AJTXoNAH h+r6dD48+PFzoutkSaXpGnb1ttzKJd6J/tfK++Yc8f6tBUXxU8PaV4Ei0vxd4es47HUotSSNkiOy GRNjdUUjH+rP3Nv32/C7qdw3gL4zXPivWVK6HrNv9l+2pvcRMiJ95VQ/N+5PH+3x9x6yvid4psfi CND8JeF7lL64urxZnmjV9sPykLv+Tph2d/7mw5oAi+PmqpcQeDNW024cLIk9zazLuVh/qXRx/OvW tE8C+GdAltrjTNHt4Li3VlimHzON33vmPJ7ivH/2hLC30zT/AAhYWcey2t4rmGJP7qr5P9BX0RQA V8y+FfC2l+L/AI4+LLLVo2ktoZ72fylfbubz9n/s9fTVfMvhXxTpfhD44+LL3VpGjtpp72DzVTdt bz9//slAHQfFTw5YeC5tH8Y+G7WHTb+G/WOSGBXRJsrxlVYbEwjKQn399R/FP/k4TwV/25f+lT1N 8SNet/iZe2HgzwmP7RmS5FzPeDiGIJvT73935/vf7u3fvo+LllJpvxM8HeKLshNLSaGGaYo7CLy5 t/zfVG6d9rUAdz8av+SR65/2x/8AR8dcd47tdSuf2f8Aw9/Z0cjpHa2cl2kR6wrB/Fz8y79h/DNL 8WPHOm654HudM0GeK+E8MN5eOh4t7fem36PvMfy/72cVup4tk8HfD3wdenSnuNLls7aG8vEkI+yI Y0+fZsO/+P8AL/aoA55Jfg54v0JNOQWuiyogdHdUtrhQvy/65so//fbfpx03xWtDY/BjU7QTz3Jh hto/Onfe77Jo/mdu7GuS+Imr/DHWPCk91amzbVLrfNbtYweXcPMD/wAtfl4XnPz/AH+dtWdYstTs P2Yjbassq30cMIZJfvRp9pTYvPT5Nny0AUf+bRv8/wDP/Wv8K/BGgav8Nra81TT4r+a7WaPzLpd/ kRiV12Q/3P42+Xnc9ZH/ADaN/n/n/r0D4K/8kj0P/tt/6PkoA5b4Fw3Gk6j4x8ONP51tpl+qIdm3 c+XR2/8AISVyqax4S1D4p+I734guD9guhbadbus0kQVHb+Fd/wDdX5fufO/Fdp8Iv+Sg/Ev/ALCg /wDR1zWNpmtL8MviT4i/4SOB49N1+4e7tdQjDtHw7tsOP9/Hsf8AYffQBi6n4p8F6H8RdC8Q+Drq OK3lcw6rDFbSwwpASibtgRM/xN3+dFNafiqaw0L41S6l400yS50Se3RLFnj8+GMbEV/l7ov77K8/ f3bK6u/+Jp1XxRYeHvBMcWpyvL/pl4Ymkitog21m+8u/13btv3QNxfia+8faEde1Lwx4z0y30yLz kW2F5++ivk3nY5+TYifIpy3r1+SgCLwxpHgXUvFsHiTwnqixXIieM6fZSrCjx8pueHbv67D/AN8N 9ed+LBh034jeHdZ8Q2FxfeGYYfLeFMOnmnf/AA7uD/qz237O+2sm8tNA1D4w+H3+HyOZIbgPqLae my3REcI2w9hs3hz9x9ydS9eieIPiBp/h/wAT3GieKNNFno89rug1F98qXf3N6bEQ/wB9s/T/AG6A MrSNP+GvifxJpuqeGtThsb+zmDJBYYtGuCPmw0LoCy7Q3KgcFvw9br5u+I8PhbVNe0i08AIsniIT 7ANGXZFsxvD71G3eP769Bv3EbRX0jQB5B+0V/wAk90//ALCkf/omaue+Kf8Ayb34K/7cv/SV66H9 or/knun/APYUj/8ARM1c98U/+Te/BX/bl/6SvQB02h/DfQdW+F1jBLbLPqGo6fDL9vuY/Nmhd4l2 bW4wiYUBM/dWnfs/Xlzc/Dd4Jm3JaX8sMOR9xNqP/wChO1dt4D/5J94b/wCwXa/+iUrgv2df+Se6 h/2FJP8A0TDQB6Prmh2Gv6TNpeqQm4s5ynmR72Tftff/AA/SvCP2eNGsb7VtW1S4h3Xmm+SbaTc3 yeYkyP8AmK+j6+fPgNPFoeveItE1KVbfUpZoreO33BmZ4/O3/wDfO2gCj4g0Oz8SftLz6RqEbtZz MjSIjbd+yzR9v/jorc+LOh2Xg99A8YeHbe2068s7zynht4fLSUYZhu24/uMh/v76q/8AN3P+f+fC ug/aK/5J7p//AGFI/wD0TNQBc+OesXWk/DqVLRhH9vuktJX/AIthRn7f7m3865RZ/gePD0mkRXce JV+a8ezma53dN4fy/lPQ4+5/s12fxn8M6l4k8DrDpUJnntbpLloVOXdFR1O3/a+f9Kh0740+EZ/D 39p3F29vdRxjzbDazzbvm+Vez/c+/wC67tlAEPwL8RtrHgdtOupd9xpUvkrndu8lvuc/99r/AMAr 1euH8AeINf8AFOjS6xq1hFYxXEx+wQIrbvJ/vu275vT7qfd/267igDwD9mj/AJmj/t0/9rV7/Xgm l6tD8JviBrsOr6c0Oka3P5tlc2ijykQO2V2+ibzu/u7OF+cVt+Ifjn4b0/S3/sSWTVNQkRvJ/cuk MbcYMm/Ycc/w5+7/AA0AL+zr/wAk91D/ALCkn/omGuH+BPh7T/ENxrMuqxfa4bLyTHazfPC7N5vz un8bL823/fb8PT/g34avPDfgSODUoniubyd7p4ZE2PF91FX/AMc3f8CriP2aP+Zo/wC3T/2tQBZs 9Hh8HftG2dlpGy3stWsnla2jTCKm1/k/77h38Y/u1X+Kf/Jwngr/ALcv/Sp63vEH/Jz/AIU/7Bb/ APoF1WD8U/8Ak4TwV/25f+lT0AYH/CE+Hf8AhoX/AIRf7B/xJun2bzn/AOfXzPv7t/366n4sanp0 /wASPDui+JLpofDcMP2y5ADfO/zj5tnX7ipwON71Q1qaLw7+0yms6tKtrYvF9oErt1X7Iyf+hoy1 vfEWO68NfEXQvH8lk11pNlAbS6MMnzxbzIN3/kbj6Y+XIoA5LxvqnwxuPDcTeFLlLLWtOeN7N7SC aFmwyj5mK/Mf4933/kHvW5428VXPi/wb4M0m3kWH/hKZkW7mij+RGR0V0CP/ANNW/vfwd91dDrvx i0K00eP/AIRudtZ1W8+SztVif75cqN/HqPuffbKf3t1Z/wARNP8AEZ0Pwt4tu7NLm+0Kdby/s7dd qoh2SPyWf7nlhON/UvxQBr678LfDp8NMmh6Q1pq9lE8umzW8pjl8/O5MuT83zgff+4Omys79nX/k nuof9hST/wBEw1c1T4v+H7jwvNLod9PLrN5G0dlZLBumFwUXb8vTh3X/AHsNt3VT/Z1/5J7qH/YU k/8ARMNAHr9eOzeBfFvgrWb/AFbwHNaT217Nvn0i4hSMY6KiN/dXe56p0/jr2Kvnrwp4n/4VNrep eEvEtpN9ie6M9vfxpgsjfLv2Z+5tT+H7vzjmgDpj8UPE/huOIeMPBF1HAih7m/sG8yJc/dx/B/d/ 5aVu+OItE8ZfC++1JSl/aQ2c1/aSqzpslSF9r4/H7rVzfjD4veG9R8P3mj6E9zq2oarDJZxJFC6B HcbB9/r97+HNX/B3hPVdP+B97o00Nx/aV7aXJS1uH/1TurbEUH7n8Lf77N0oAxv2etGsB4fvtd8n /iYrdPZedubiLZC+3b/vVoa34P0o/FG58QeMtS0j+yJYkWwtr69KsrJs42P8hTO/5efv1T/Z61Gz Xwve6T56m/a9luhF/H5WyFN/5tWDo8XhCf4reLB47Mf2sajusDfF1TYrP98/c2bPK+/QBDqt94Tt fi54Wu/A9zAk0l+lrfLaw7YlBdE+T5dp3ozj5Kpf8IT4d/4aF/4Rf7B/xJun2bzn/wCfXzPv7t/3 6ta7rujax8RfBkPhnTre20O21OEpLDZfZ1muHki3447J5Pv9flrQ1qaLw7+0yms6tKtrYvF9oErt 1X7Iyf8AoaMtAG58b9VVU8N6LfXL2+jajebr+aEtvWKMpnjv98t908qlc54lvvg5ceDrmx0Z4Ir2 GJ5LNobSYSvNglEd2T50yQPnNdh8Y9N1JJ/DniixtRdQ6Bcm6uYkb59m9H/75/d1Z1H40+EYPD39 p2929xdSRnyrDayTbvl+Vuyff+/7Nt30AZFvqereN/2fLkWM09zrMUH2ScQ7zJIEddwzn52eI5/2 t+KwvDN/8K9c8JWmg6nBaaZqEkIinurqEJKZQm95VuecfP2Z+2zZg4rvJvGPivQ/h3D4j1fQEudQ L77iytiYRbw8/O2d+emf+B/7NYXijxL8J9f0DUL+9uLG5eY+UZYLXbfs6pldm9d/bG9vk/hNAHpP hnTbTSPDtjaWF/LfWkcQ8q4mm81mT+H5h/Dit2vLfgdaaja/Dxf7QSVUkunltFl/54siH5cfdXfv NepUAFFFYNx4n0e28U23h6a82ardw+bDB5b/ADp83O7G3+B+KAN6isHxH4m0bwtp6X+s3htreSXy Vk8t3+fr/AD/AHTW9QAUVg+HPE2jeKdPe/0a8Nzbxy+S0nlunz9f4wP7wo8R+JtG8Lael/rN4ba3 kl8lZPLd/n6/wA/3TQBvUVRv7+20uwub67bZb28Tyyv/AHVTk/1qroeuWGv6VDqmlzG4s5y/lybG TftfZ/F9DQBsUVg2/ifR7nxTc+HobzfqtpD5s0Hlv8ifLzuxt/jTiptc1yw0DSptU1SY29nAU8yT Yz7Nz7P4fqKANiiqNhf22qWFtfWjb7e4iSWJ/wC8r8j+lZ/hzxNo3inT3v8ARrw3NvHL5LSeW6fP 1/jA/vCgDeorBuPE+j23im28PTXmzVbuHzYYPLf50+bndjb/AAPxWhf39tpdhc3122y3t4nllf8A uqnJ/rQBeorH0PXLDX9Kh1TS5jcWc5fy5NjJv2vs/i+hqHRvFGja3fajY6fdmW506XybtTGy+W+W 4+Yf7DflQBvUVg6z4o0bRL7TrHULsxXOoy+TaKI2bzHyvHyj/bX863qACisHRvFGja3fajY6fdmW 506XybtTGy+W+W4+Yf7DflRceJ9HtvFNt4emvNmq3cPmwweW/wA6fNzuxt/gfigDeorH1zXLDQNK m1TVJjb2cBTzJNjPs3Ps/h+oq1YX9tqlhbX1o2+3uIklif8AvK/I/pQBeorBt/E+j3Pim58PQ3m/ VbSHzZoPLf5E+Xndjb/GnFGs+KNG0S+06x1C7MVzqMvk2iiNm8x8rx8o/wBtfzoA3qKo39/baXYX N9dtst7eJ5ZX/uqnJ/rVXQ9csNf0qHVNLmNxZzl/Lk2Mm/a+z+L6GgDYorBuPE+j23im28PTXmzV buHzYYPLf50+bndjb/A/FHiPxNo3hbT0v9ZvDbW8kvkrJ5bv8/X+AH+6aAN6iisHw54m0bxTp73+ jXhubeOXyWk8t0+fr/GB/eFAG9RWD4j8TaN4W09L/Wbw21vJL5KyeW7/AD9f4Af7prQv7+20uwub 67bZb28Tyyv/AHVTk/1oAvUVj6Hrlhr+lQ6ppcxuLOcv5cmxk37X2fxfQ1Db+J9HufFNz4ehvN+q 2kPmzQeW/wAifLzuxt/jTigDeorH1zXLDQNKm1TVJjb2cBTzJNjPs3Ps/h+oq1YX9tqlhbX1o2+3 uIklif8AvK/I/pQBeorB8OeJtG8U6e9/o14bm3jl8lpPLdPn6/xgf3hRceJ9HtvFNt4emvNmq3cP mwweW/zp83O7G3+B+KAN6iqN/f22l2FzfXbbLe3ieWV/7qpyf61V0PXLDX9Kh1TS5jcWc5fy5NjJ v2vs/i+hoA2KKwdG8UaNrd9qNjp92ZbnTpfJu1MbL5b5bj5h/sN+VGs+KNG0S+06x1C7MVzqMvk2 iiNm8x8rx8o/21/OgDeoorB0bxRo2t32o2On3ZludOl8m7UxsvlvluPmH+w35UAb1FYNx4n0e28U 23h6a82ardw+bDB5b/Onzc7sbf4H4qbXNcsNA0qbVNUmNvZwFPMk2M+zc+z+H6igDYoqjYX9tqlh bX1o2+3uIklif+8r8j+lZ9x4n0e28U23h6a82ardw+bDB5b/ADp83O7G3+B+KAN6isHxH4m0bwtp 6X+s3htreSXyVk8t3+fr/AD/AHTW9QAUVg+HPE2jeKdPe/0a8Nzbxy+S0nlunz9f4wP7wo1nxRo2 iX2nWOoXZiudRl8m0URs3mPlePlH+2v50Ab1FY+ua5YaBpU2qapMbezgKeZJsZ9m59n8P1FWrC/t tUsLa+tG329xEksT/wB5X5H9KAL1FYOjeKNG1u+1Gx0+7Mtzp0vk3amNl8t8tx8w/wBhvyo8R+Jt G8Lael/rN4ba3kl8lZPLd/n6/wAAP900Ab1FUb+/ttLsLm+u22W9vE8sr/3VTk/1qroeuWGv6VDq mlzG4s5y/lybGTftfZ/F9DQBsUVg2/ifR7nxTc+HobzfqtpD5s0Hlv8AIny87sbf404qbXNcsNA0 qbVNUmNvZwFPMk2M+zc+z+H6igDYoqjYX9tqlhbX1o2+3uIklif+8r8j+lZ/hzxNo3inT3v9GvDc 28cvktJ5bp8/X+MD+8KAN6isG48T6PbeKbbw9NebNVu4fNhg8t/nT5ud2Nv8D8VvUAFFYPhzxNo3 inT3v9GvDc28cvktJ5bp8/X+MD+8KLfxPo9z4pufD0N5v1W0h82aDy3+RPl53Y2/xpxQBvUVg+I/ E2jeFtPS/wBZvDbW8kvkrJ5bv8/X+AH+6a3qACisHRvFGja3fajY6fdmW506XybtTGy+W+W4+Yf7 DflRceJ9HtvFNt4emvNmq3cPmwweW/zp83O7G3+B+KAN6isfXNcsNA0qbVNUmNvZwFPMk2M+zc+z +H6irVhf22qWFtfWjb7e4iSWJ/7yvyP6UAXqKwbfxPo9z4pufD0N5v1W0h82aDy3+RPl53Y2/wAa cUaz4o0bRL7TrHULsxXOoy+TaKI2bzHyvHyj/bX86AN6iqN/f22l2FzfXbbLe3ieWV/7qpyf61V0 PXLDX9Kh1TS5jcWc5fy5NjJv2vs/i+hoA2KKwdZ8UaNol9p1jqF2YrnUZfJtFEbN5j5Xj5R/tr+d Ta5rlhoGlTapqkxt7OAp5kmxn2bn2fw/UUAbFFUbC/ttUsLa+tG329xEksT/AN5X5H9Kz9G8UaNr d9qNjp92ZbnTpfJu1MbL5b5bj5h/sN+VAG9RWD4j8TaN4W09L/Wbw21vJL5KyeW7/P1/gB/umtC/ v7bS7C5vrttlvbxPLK/91U5P9aAL1FY+h65Ya/pUOqaXMbiznL+XJsZN+19n8X0NQ2/ifR7nxTc+ HobzfqtpD5s0Hlv8ifLzuxt/jTigDeorH1zXLDQNKm1TVJjb2cBTzJNjPs3Ps/h+oq1YX9tqlhbX 1o2+3uIklif+8r8j+lAF6isHw54m0bxTp73+jXhubeOXyWk8t0+fr/GB/eFFx4n0e28U23h6a82a rdw+bDB5b/Onzc7sbf4H4oA3qKKwfDnibRvFOnvf6NeG5t45fJaTy3T5+v8AGB/eFAG9RWDb+J9H ufFNz4ehvN+q2kPmzQeW/wAifLzuxt/jTijxH4m0bwtp6X+s3htreSXyVk8t3+fr/AD/AHTQBvUU Vg6N4o0bW77UbHT7sy3OnS+TdqY2Xy3y3HzD/Yb8qAN6isG48T6PbeKbbw9NebNVu4fNhg8t/nT5 ud2Nv8D8VNrmuWGgaVNqmqTG3s4CnmSbGfZufZ/D9RQBsUVRsL+21Swtr60bfb3ESSxP/eV+R/Ss +38T6Pc+Kbnw9Deb9VtIfNmg8t/kT5ed2Nv8acUAb1FYOs+KNG0S+06x1C7MVzqMvk2iiNm8x8rx 8o/21/OtC/v7bS7C5vrttlvbxPLK/wDdVOT/AFoAvUVj6Hrlhr+lQ6ppcxuLOcv5cmxk37X2fxfQ 1DrPijRtEvtOsdQuzFc6jL5NoojZvMfK8fKP9tfzoA3qKx9c1yw0DSptU1SY29nAU8yTYz7Nz7P4 fqKtWF/bapYW19aNvt7iJJYn/vK/I/pQBeorB0bxRo2t32o2On3ZludOl8m7UxsvlvluPmH+w35U eI/E2jeFtPS/1m8NtbyS+Ssnlu/z9f4Af7poA3qKo39/baXYXN9dtst7eJ5ZX/uqnJ/rVXQ9csNf 0qHVNLmNxZzl/Lk2Mm/a+z+L6GgDYorBt/E+j3Pim58PQ3m/VbSHzZoPLf5E+Xndjb/GnFTa5rlh oGlTapqkxt7OAp5kmxn2bn2fw/UUAbFFUbC/ttUsLa+tG329xEksT/3lfkf0rP8ADnibRvFOnvf6 NeG5t45fJaTy3T5+v8YH94UAb1FYNx4n0e28U23h6a82ardw+bDB5b/Onzc7sbf4H4reoAKKwfDn ibRvFOnvf6NeG5t45fJaTy3T5+v8YH94UW/ifR7nxTc+HobzfqtpD5s0Hlv8ifLzuxt/jTigDeor B8R+JtG8Lael/rN4ba3kl8lZPLd/n6/wA/3TW9QAUVg6N4o0bW77UbHT7sy3OnS+TdqY2Xy3y3Hz D/Yb8qLjxPo9t4ptvD015s1W7h82GDy3+dPm53Y2/wAD8UAb1FY+ua5YaBpU2qapMbezgKeZJsZ9 m59n8P1FWrC/ttUsLa+tG329xEksT/3lfkf0oAvUVg2/ifR7nxTc+HobzfqtpD5s0Hlv8ifLzuxt /jTijWfFGjaJfadY6hdmK51GXybRRGzeY+V4+Uf7a/nQBvUVRv7+20uwub67bZb28Tyyv/dVOT/W quh65Ya/pUOqaXMbiznL+XJsZN+19n8X0NAGxRWDrPijRtEvtOsdQuzFc6jL5NoojZvMfK8fKP8A bX86m1zXLDQNKm1TVJjb2cBTzJNjPs3Ps/h+ooA2KKo2F/bapYW19aNvt7iJJYn/ALyvyP6Vn6N4 o0bW77UbHT7sy3OnS+TdqY2Xy3y3HzD/AGG/KgDeorB8R+JtG8Lael/rN4ba3kl8lZPLd/n6/wAA P901oX9/baXYXN9dtst7eJ5ZX/uqnJ/rQBeorH0PXLDX9Kh1TS5jcWc5fy5NjJv2vs/i+hqG38T6 Pc+Kbnw9Deb9VtIfNmg8t/kT5ed2Nv8AGnFAG9RWPrmuWGgaVNqmqTG3s4CnmSbGfZufZ/D9RVqw v7bVLC2vrRt9vcRJLE/95X5H9KAL1FYPhzxNo3inT3v9GvDc28cvktJ5bp8/X+MD+8KLjxPo9t4p tvD015s1W7h82GDy3+dPm53Y2/wPxQBvUUVg+HPE2jeKdPe/0a8Nzbxy+S0nlunz9f4wP7woA3qK wbfxPo9z4pufD0N5v1W0h82aDy3+RPl53Y2/xpxR4j8TaN4W09L/AFm8NtbyS+Ssnlu/z9f4Af7p oA3qKKwdG8UaNrd9qNjp92ZbnTpfJu1MbL5b5bj5h/sN+VAG9RWDceJ9HtvFNt4emvNmq3cPmwwe W/zp83O7G3+B+Km1zXLDQNKm1TVJjb2cBTzJNjPs3Ps/h+ooA2KKo2F/bapYW19aNvt7iJJYn/vK /I/pWfb+J9HufFNz4ehvN+q2kPmzQeW/yJ8vO7G3+NOKAN6isHWfFGjaJfadY6hdmK51GXybRRGz eY+V4+Uf7a/nWhf39tpdhc3122y3t4nllf8AuqnJ/rQBeorH0PXLDX9Kh1TS5jcWc5fy5NjJv2vs /i+hqHWfFGjaJfadY6hdmK51GXybRRGzeY+V4+Uf7a/nQBvUVj65rlhoGlTapqkxt7OAp5kmxn2b n2fw/UVasL+21Swtr60bfb3ESSxP/eV+R/SgC9RWDo3ijRtbvtRsdPuzLc6dL5N2pjZfLfLcfMP9 hvyo8R+JtG8Lael/rN4ba3kl8lZPLd/n6/wA/wB00Ab1FUb+/ttLsLm+u22W9vE8sr/3VTk/1qro euWGv6VDqmlzG4s5y/lybGTftfZ/F9DQBsUVg2/ifR7nxTc+HobzfqtpD5s0Hlv8ifLzuxt/jTij xH4m0bwtp6X+s3htreSXyVk8t3+fr/AD/dNAGB8WdI/tr4Z6xGqRia2hN4jzD7mz5m2/7Wzev/Aq 5fRvGIP7O8+p+c0dzp9m2nA225Wim/1cXP0aJs+9etXFvBeW721xCksMqbXR13I618lyi6j+0fDO H7MdviH9xdvlMyfNAd45+X7n6/eoA9G/4QaL/hnLbsg+2eT/AG5u3ybN2N//AH35PyY6f+hVr6t4 v3/s8JqRuRJcXenrY5u3/eTP/qZj97LvxI9ep/YLL+z/AOzvslv9j8nyfs/l/Js6bdmPu18sWI1C 9uNP+F11G88Nr4gbzZYizsiD5HCcfKn+tf8AGgD6G+HOjzaB8P8ARbC73CdYPNkR0KOju28oVP8A d37fwq9N4w8LwTSW914j0mGWJtrxyXqI6t75auirnZvB/heeaS4uvDmkzSytueSSyR3ZvfK0AcZ8 YI9OTSdKvzcSw+Iba58zRUt4/Okmn3p8mz+JPufT5f8AcfmvEXiL4p3vhG7fVfD9tp+jXMBF7cW0 O+4hhbG/908393Pp/wAB7a3xQkXQPiR4N8Sah5k+jwyPE8TozRW75/1vf5/m3ev7muz1T4keEdK0 6e8bxBp9wIk3eTa3Ucsrn+6q5oAwtOGlr+z3dJoztJZ/2HdAOy7WZ9km87f9/fXD/D3WPijbeC9P g8OeG9Mu9IUP5E88i72+dt3/AC2T+Pd2rV8B6Rd6R+z3r73Y2fbra8u4k/iCeTs7/wC5u/Gn/DP4 m+EPD/w90zS9V1b7PfQedvQW0r7d0ruOUTHQigDX03XPi/LqtompeF9IgsGnRbmaOVN6RbvnYfvv TNQfF3/koPw0/wCwof8A0dbVvf8AC7Ph7/0MH/knP/8AEVn/ABa8Marq+mabrOhCSTVdFuTcwRJk 7l+U/KuDuYbE/wDHvagD1CivPfC/xY8K+INLjmn1W1065CL51veTBNjd9rvjf+FcV4+1q1+J2saX 4N8NSfbbdLozX15HGWSDYNgfdkblAdv947Nrc0AbH7RX/JPdP/7Ckf8A6Jmr1+vIP2iv+Se6f/2F I/8A0TNXr9ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABVS4t4Ly3e2uIUlhlTa6Ou5HWrdFAHHad8OfCOm6xJqVpoFtHdiTejncyo27d8iN8if8AAcYr o7+xs9StJLS+tobi3cfNFMm9W/4CavUUAVLe3gs7dLa3hSKGJNqIi7URat0UUAY2o+HNC1aZbnUt GsL6ZV2K9zbJI4X0+cU6TQtKmNkZdJs3Fh/x57rdD9n/AOuf9z7q9PSteigAqjf2NnqVpJaX1tDc W7j5opk3q3/ATV6igDD/AOEX8P8A9m/Yf7C0z7F5vn/ZvsaeXvx97Zj72O9aNvbwWdultbwpFDEm 1ERdqItW6KAMbUfDmhatMtzqWjWF9Mq7Fe5tkkcL6fOKdJoWlTGyMuk2biw/4891uh+z/wDXP+59 1enpWvRQBRv7Gz1K0ktL62huLdx80Uyb1b/gJqlH4b0SDTZtLTRrBNPmYO9stughd/dOn8K1t0UA VLe3gs7dLa3hSKGJNqIi7URazb3wp4d1O7e6vdA0u4nf78s9nG7t/wACIrdooAKKKKAKN/Y2epWk lpfW0NxbuPmimTerf8BNQaZoWk6OJf7M0iysPM+/9lt0i3/XbWrRQBlanoWk6wIv7T0iyv8Ay/uf ardJdn03Vq0UUAFYo8N6Ik91cro1gs94jpcuLZN0yv8AfDnHz5962qKAMrTNC0nRxL/ZmkWVh5n3 /stukW/67anv7Gz1K0ktL62huLdx80Uyb1b/AICavUUAYkfhvRINNm0tNGsE0+Zg72y26CF3906f wrWhb28FnbpbW8KRQxJtREXaiLVuigDCsvCnh3TLtLqy0DS7edPuSwWcaOv/AAICr9/Y2epWklpf W0NxbuPmimTerf8AATV6igDJ/sDSP7I/sj+y7P8AszP/AB5/Z08nO7f9zp97nFWLCxs9NtI7Sxto be3QfLFCmxV/4CKvUUAZtrpVhYz3FxaWFtbzXL753hhVHlb/AGyPvdTRqeladq0CQalp1tewq25Y 7mJZF3fRq0qKAM3TNK07SYHg03TrayhZtzR20Sxru+i0anpWnatAkGpadbXsKtuWO5iWRd30atKi gDN0zStO0mB4NN062soWbc0dtEsa7votSX9jZ6laSWl9bQ3Fu4+aKZN6t/wE1eooAytM0LSdHEv9 maRZWHmff+y26Rb/AK7a1aKKAM3U9K07VoEg1LTra9hVtyx3MSyLu+jVFc6FpF3p8dhd6ZZz2cO3 ybWa3R402/3V7Vr0UAVLe3gs7dLa3hSKGJNqIi7URag0zStO0mB4NN062soWbc0dtEsa7votaVFA BWLP4a0S61IanPpFhLfBlf7Q9sjS70+6d/XtW1RQBk/2BpH9r/2v/Zdn/aef+Pz7OnnZ27Pv9fu8 YqTU9K07VoEg1LTra9hVtyx3MSyLu+jVpUUAFYf/AAi/h/8AtL7d/YWmfbfN8/7T9jTzN+fvb8fe z3rcooAKKKKAKN/Y2epWklpfW0NxbuPmimTerf8AATVCy8KeHdMu0urLQNLt50+5LBZxo6/8CArd ooAKytM0LSdHEv8AZmkWVh5n3/stukW/67a1aKAMt9IsJNUi1OXT7Z9QiXZHdPCpmRfQP/wJvzpk +g6TfahFfXWl2VxeQhfKuJbdHkXbyNr4yK16KAMrU9C0nWBF/aekWV/5f3PtVukuz6bqm+wWX9n/ ANnfZLf7H5Pk/Z/L+TZ027Mfdq/RQBjad4c0LSZmudN0awsZmXYz21skblfT5BWzRRQBjad4c0LS ZmudN0awsZmXYz21skblfT5BU+maVp2kwPBpunW1lCzbmjtoljXd9FrSooAKo39jZ6laSWl9bQ3F u4+aKZN6t/wE1eooAxtO8OaFpMzXOm6NYWMzLsZ7a2SNyvp8grZoooAxYPDWiWupHU4NIsIr4sz/ AGhLZFl3v947+vel1Hw5oWrTLc6lo1hfTKuxXubZJHC+nzitmigDIk0LSpjZGXSbNxYf8ee63Q/Z /wDrn/c+6vT0p2p6FpOsCL+09Isr/wAv7n2q3SXZ9N1atFAFS3t4LO3S2t4UihiTaiIu1EWs2y8K eHdMu0urLQNLt50+5LBZxo6/8CArdooAKw/+EX8P/wBpfbv7C0z7b5vn/afsaeZvz97fj72e9blF ABRRRQAVlvpFhJqkWpy6fbPqES7I7p4VMyL6B/8AgTfnWpRQBm6npWnatAkGpadbXsKtuWO5iWRd 30atKiigDN0zStO0mB4NN062soWbc0dtEsa7votGp6Vp2rQJBqWnW17CrbljuYlkXd9GrSooAqXF vBeW721xCksMqbXR13I60ywsbPTbSO0sbaG3t0HyxQpsVf8AgIq9RQBlppFhHqkupxafbJqEq7JL pIVEzr6F/wDgK/lU1/Y2epWklpfW0NxbuPmimTerf8BNXqKAKlvbwWdultbwpFDEm1ERdqItQaZp WnaTA8Gm6dbWULNuaO2iWNd30WtKigDLfSLCTVItTl0+2fUIl2R3TwqZkX0D/wDAm/OrNxbwXlu9 tcQpLDKm10ddyOtW6KAKNhY2em2kdpY20NvboPlihTYq/wDARUdrpVhYz3FxaWFtbzXL753hhVHl b/bI+91NaVFAGbdaVYX09vcXdhbXE1s++B5oVd4m/wBgn7vQVpUUUAZtrpVhYz3FxaWFtbzXL753 hhVHlb/bI+91NNfSLCTVItTl0+2fUIl2R3TwqZkX0D/8Cb861KKAKN/Y2epWklpfW0NxbuPmimTe rf8AATT7e3gs7dLa3hSKGJNqIi7URat0UAZaaRYR6pLqcWn2yahKuyS6SFRM6+hf/gK/lTrrSrC+ nt7i7sLa4mtn3wPNCrvE3+wT93oK0qKAKlxbwXlu9tcQpLDKm10ddyOtMsLGz020jtLG2ht7dB8s UKbFX/gIq9RQBlvpFhJqkWpy6fbPqES7I7p4VMyL6B/+BN+dO1PStO1aBINS062vYVbcsdzEsi7v o1aVFABWbpmladpMDwabp1tZQs25o7aJY13fRa0qKAM3U9K07VoEg1LTra9hVtyx3MSyLu+jVPcW 8F5bvbXEKSwyptdHXcjrVuigCjYWNnptpHaWNtDb26D5YoU2Kv8AwEVCmkWEeqS6nFp9smoSrsku khUTOvoX/wCAr+ValFAFG/sbPUrSS0vraG4t3HzRTJvVv+Amn29vBZ26W1vCkUMSbURF2oi1booA zdM0rTtJgeDTdOtrKFm3NHbRLGu76LTX0iwk1SLU5dPtn1CJdkd08KmZF9A//Am/OtSigCpcW8F5 bvbXEKSwyptdHXcjrTLCxs9NtI7Sxtobe3QfLFCmxV/4CKvUUAZtrpVhYz3FxaWFtbzXL753hhVH lb/bI+91NF1pVhfT29xd2FtcTWz74HmhV3ib/YJ+70FaVFABWba6VYWM9xcWlhbW81y++d4YVR5W /wBsj73U1pUUAZb6RYSapFqcun2z6hEuyO6eFTMi+gf/AIE351Nf2NnqVpJaX1tDcW7j5opk3q3/ AAE1eooAqW9vBZ26W1vCkUMSbURF2oi1WfSLCTVItTl0+2fUIl2R3TwqZkX0D/8AAm/OtSigDN1P StO1aBINS062vYVbcsdzEsi7vo1aVFFAGbpmladpMDwabp1tZQs25o7aJY13fRaLrSrC+nt7i7sL a4mtn3wPNCrvE3+wT93oK0qKAKN/Y2epWklpfW0NxbuPmimTerf8BNPt7eCzt0treFIoYk2oiLtR Fq3RQBm2ulWFjPcXFpYW1vNcvvneGFUeVv8AbI+91NGp6Vp2rQJBqWnW17CrbljuYlkXd9GrSooA qXFvBeW721xCksMqbXR13I60ywsbPTbSO0sbaG3t0HyxQpsVf+Air1FAGWmkWEeqS6nFp9smoSrs kukhUTOvoX/4Cv5VNf2NnqVpJaX1tDcW7j5opk3q3/ATV6igCpb28FnbpbW8KRQxJtREXaiLUGma Vp2kwPBpunW1lCzbmjtoljXd9FrSooAy30iwk1SLU5dPtn1CJdkd08KmZF9A/wDwJvzrUoooAzdM 0rTtJgeDTdOtrKFm3NHbRLGu76LTU0iwj1SXU4tPtk1CVdkl0kKiZ19C/wDwFfyrUooAzdT0rTtW gSDUtOtr2FW3LHcxLIu76NWlRRQBm2ulWFjPcXFpYW1vNcvvneGFUeVv9sj73U019IsJNUi1OXT7 Z9QiXZHdPCpmRfQP/wACb861KKAKN/Y2epWklpfW0NxbuPmimTerf8BNPt7eCzt0treFIoYk2oiL tRFq3RQBlppFhHqkupxafbJqEq7JLpIVEzr6F/8AgK/lTrrSrC+nt7i7sLa4mtn3wPNCrvE3+wT9 3oK0qKAKlxbwXlu9tcQpLDKm10ddyOtMsLGz020jtLG2ht7dB8sUKbFX/gIq9RQBm3WlWF9Pb3F3 YW1xNbPvgeaFXeJv9gn7vQVJf2NnqVpJaX1tDcW7j5opk3q3/ATV6igCpb28FnbpbW8KRQxJtREX aiLUFrpVhYz3FxaWFtbzXL753hhVHlb/AGyPvdTWlRQBm6npWnatAkGpadbXsKtuWO5iWRd30ap7 i3gvLd7a4hSWGVNro67kdat0UAUbCxs9NtI7Sxtobe3QfLFCmxV/4CKhTSLCPVJdTi0+2TUJV2SX SQqJnX0L/wDAV/KtSigCjf2NnqVpJaX1tDcW7j5opk3q3/ATT7e3gs7dLa3hSKGJNqIi7URat0UA ZumaVp2kwPBpunW1lCzbmjtoljXd9Fpr6RYSapFqcun2z6hEuyO6eFTMi+gf/gTfnWpRQAVm6ZpW naTA8Gm6dbWULNuaO2iWNd30WtKigDLTSLCPVJdTi0+2TUJV2SXSQqJnX0L/APAV/KnanpWnatAk GpadbXsKtuWO5iWRd30atKigArNtdKsLGe4uLSwtrea5ffO8MKo8rf7ZH3uprSooAy30iwk1SLU5 dPtn1CJdkd08KmZF9A//AAJvzqa/sbPUrSS0vraG4t3HzRTJvVv+Amr1FAFS3t4LO3S2t4UihiTa iIu1EWqyaRYR6pLqcWn2yahKuyS6SFRM6+hf/gK/lWpRQBm3WlWF9Pb3F3YW1xNbPvgeaFXeJv8A YJ+70FT3FvBeW721xCksMqbXR13I61booAo2FjZ6baR2ljbQ29ug+WKFNir/AMBFR3WlWF9Pb3F3 YW1xNbPvgeaFXeJv9gn7vQVpUUAUb+xs9StJLS+tobi3cfNFMm9W/wCAmn29vBZ26W1vCkUMSbUR F2oi1booAzbXSrCxnuLi0sLa3muX3zvDCqPK3+2R97qaNT0rTtWgSDUtOtr2FW3LHcxLIu76NWlR QBUuLeC8t3triFJYZU2ujruR1plhY2em2kdpY20NvboPlihTYq/8BFXqKAMtNIsI9Ul1OLT7ZNQl XZJdJComdfQv/wABX8qmv7Gz1K0ktL62huLdx80Uyb1b/gJq9RQBUt7eCzt0treFIoYk2oiLtRFq DTNK07SYHg03TrayhZtzR20Sxru+i1pUUAZb6RYSapFqcun2z6hEuyO6eFTMi+gf/gTfnWpRRQBm 6ZpWnaTA8Gm6dbWULNuaO2iWNd30WmppFhHqkupxafbJqEq7JLpIVEzr6F/+Ar+ValFAGbqeladq 0CQalp1tewq25Y7mJZF3fRq0qKKAM210qwsZ7i4tLC2t5rl987wwqjyt/tkfe6mmvpFhJqkWpy6f bPqES7I7p4VMyL6B/wDgTfnWpRQBRv7Gz1K0ktL62huLdx80Uyb1b/gJp9vbwWdultbwpFDEm1ER dqItW6KAMtNIsI9Ul1OLT7ZNQlXZJdJComdfQv8A8BX8qddaVYX09vcXdhbXE1s++B5oVd4m/wBg n7vQVpUUAVLi3gvLd7a4hSWGVNro67kdaZYWNnptpHaWNtDb26D5YoU2Kv8AwEVeooAzbrSrC+nt 7i7sLa4mtn3wPNCrvE3+wT93oKkv7Gz1K0ktL62huLdx80Uyb1b/AICavUUAVLe3gs7dLa3hSKGJ NqIi7URagtdKsLGe4uLSwtrea5ffO8MKo8rf7ZH3uprSooAzdT0rTtWgSDUtOtr2FW3LHcxLIu76 NU9xbwXlu9tcQpLDKm10ddyOtW6KAKNhY2em2kdpY20NvboPlihTYq/8BFQppFhHqkupxafbJqEq 7JLpIVEzr6F/+Ar+ValFAFG/sbPUrSS0vraG4t3HzRTJvVv+Amn29vBZ26W1vCkUMSbURF2oi1bo oAzdM0rTtJgeDTdOtrKFm3NHbRLGu76LTX0iwk1SLU5dPtn1CJdkd08KmZF9A/8AwJvzrUooAKzd M0rTtJgeDTdOtrKFm3NHbRLGu76LWlRQBlppFhHqkupxafbJqEq7JLpIVEzr6F/+Ar+VO1PStO1a BINS062vYVbcsdzEsi7vo1aVFABWba6VYWM9xcWlhbW81y++d4YVR5W/2yPvdTWlRQBlvpFhJqkW py6fbPqES7I7p4VMyL6B/wDgTfnU1/Y2epWklpfW0NxbuPmimTerf8BNXqKAKlvbwWdultbwpFDE m1ERdqItVk0iwj1SXU4tPtk1CVdkl0kKiZ19C/8AwFfyrUooAzbrSrC+nt7i7sLa4mtn3wPNCrvE 3+wT93oKnuLeC8t3triFJYZU2ujruR1q3RQBRsLGz020jtLG2ht7dB8sUKbFX/gIqO60qwvp7e4u 7C2uJrZ98DzQq7xN/sE/d6CtKigCjf2NnqVpJaX1tDcW7j5opk3q3/ATT7e3gs7dLa3hSKGJNqIi 7URat0UAZtrpVhYz3FxaWFtbzXL753hhVHlb/bI+91NGp6Vp2rQJBqWnW17CrbljuYlkXd9GrSoo AqXFvBeW721xCksMqbXR13I60ywsbPTbSO0sbaG3t0HyxQpsVf8AgIq9RQBlppFhHqkupxafbJqE q7JLpIVEzr6F/wDgK/lTtT0rTtWgSDUtOtr2FW3LHcxLIu76NWlRQAViz+GtEutSGpz6RYS3wZX+ 0PbI0u9Punf17VtUUAFYsHhrRLXUjqcGkWEV8WZ/tCWyLLvf7x39e9bVFABRRRQBRv7Gz1K0ktL6 2huLdx80Uyb1b/gJrloPhh4Msr+e9i8NWUkswYsksfmJ/wAAR/kWu3ooAqXFvBeW721xCksMqbXR 13I61kf8IH4S/wChV0P/AMF8P/xFdFRQBzv/AAgfhL/oVdD/APBfD/8AEV0VFFAHHax8OfCGvyi6 v9AtXuCXdpIt0Ls7cnfsK7/+BVraN4b0jw9EYdK022tF2IjtFHseTZ93c/8AF36+tbdFAGbqelad q0CQalp1tewq25Y7mJZF3fRq0qKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KK8M8efG260PxDPpnh+3t5Rau8VzPeo5DSjqiAMvC9M/5bt/hx49t/HWjvK8P2fUrPYl3Gv3Rv8A usp/utt6f/roA7yiiigAooooAKKKKACiisPxJrMPh3w/qGrzmPZZwNMFdwm9/wCBN3bccL+NAHmn jX4kapovj63t7d1t9B0+4todVeWIPvaZS/bLfKik/L/EOe1ez1454a8ESa/8H74Xi7dY8S77+eZ9 ib33b4Sdifc4V9n+29bfwd8TReIPAVpbYiF5paR2kyAY+RR8jd/4f/HlegD0ivPPiN401HwsNGsd Ds4LjVdUufKhS5T92R/32uHLvH/49XodeDfFzRC/xE8JE6pqif2pqAQKtz8tphoU3wf3G53/AFoA 9E8EWHjawN//AMJlq9nqJkCG2NqoTZ9/fn5E/wBiu1ryb4lajd+Afhaltp+o391dS3AtEv7q533C 7t7sxf8A4Bt7VDD8DdJfSFmm1LUY/E2/7S+qrdbnW525/wC+N/z/AN//AG6APX6K8CtPHWo6r8Ad WnXUpYtZ02aG2e4juv3zL5ybH+X1U7M/x7HrU8DeD7Txr4Y0zxNr11qGoau+zbM126eSkMzquwqO N2wb+c9W4bmgD2mivC/Gd5B4q+J934W13xC+i+HNPskM6m5SJLuY7H/j/wB9f7/3P9qsvxTP4Z+H 82ma94C1uAgXSLfaTZ6l5y3KDcd7/O/+7/wOgD1PxvYeNr82H/CG6vZ6cYw5uTdKH3/c2Y+R/wDb rta8K+OviG+sYvDFzoWs3NtFcpO++yuXRJl/c7eUPzda1viheX+veJ9E8A6deyWD6ikl1d3A3f6r Y/yfK3z/AHXOzp9ygD1+ivEPFXw5h8F+HLrxD4Pu9Tsb6zt/Km8py4uIj8kjOeob+PI+RNn3V+8D +3dX/wCGY/7Y/tW+/tL/AJ/PtL+d/wAfmz7+c/d4oA9vorxHwP4LtvHngK01HxZqF/qtxMk0do0l yw+yLvdfl5O9+M7nz/Av8FXfgpfatAPEvhvVbn7T/Yt0kMTb3fZ95NiF/wCAeUNv1oA9hoor558S 3XiHWfj5J4bsvEOp2NnLNDujgvXiVY/JR32YP3vv0AfQ1FeEeOfh/bfD/QI/Evg+8vdPvLHyo7nN 1xMm7knj5n3hPk+5x9yu81681rxB8LVu/DUTxarqFnBNDGsyB0D7N43v/sFxuoA7uivEJvhP4Xtf Ba3PiXUnsdavlV59R1G+H7q5ZNzoM/I/z7v9o/P89S+A/Emqav8AAzxBeXd1M95p8V4kV15rebkQ +ZvL/wB/L9aAPaq8xk+It63xgtvBENhAlum/zrlmLvJ/o3nJtH8HP+9XH/DrwvD8S/DMt/4s1HVN RmtJJrG28yfIiGxH3jP8eWP389E/u1z3/CMH/hoj+wP7a1vP/QQ+2f6Z/wAe2/8A1n/jv+7QB9P0 V4h+0BrWqaK/hxtL1W8sDMLkSG1uHiLgeTjO3rVjxr8MbaDwzf6/FfXM3iayj+3yau87I8zp87YX 7ifKPkC427E5oA9norzzwd4rupPg7beI79PtE9rYTO/z8y+TvT7395tn61514R0rwd4n06PxF468 VxXur3G9Pst7qSxC2Td/d3huu8gfdw/3KAPoiivF/htr0Wm+ONV8Gw+IP7X0tYUl024e5V9oVE/d Jj7/AMjDp/zxb5OuOZ+F+mv8S47238WarqepWOmTJNFay3blGeRWT5znfxsG35uPn/v8gH0dRXz9 4+s9O0XxT4R8Na9dX6+DLWz3kySO++VS/wDEoyT/AKtf9hH+XZmur0X4e6BF4hsPEXgXXIrS2t3M N3FaS/a4p1yHZC+/5OP/AGWgCl8bfGniDwgNDOhX/wBjN15/nfuUfds8vb99T/fNex14B+0v/wAy v/29/wDtGtHxT8KNO03wLc6rZXNy/iXT0+2tq8ly6PKyfO5x+B2d+E+egD1vVY7ubSb2PTpUiv3h dbeVx8qylPlb+VY3g2z8U2WkTx+LNStr6/8AP3xz2ybUEO1Pl4RO+/t3rD0/xNe678DbnXTNJFfn SrnfOjbHE0aOm/5fu8oG/GvO9D8Sa3P+z54j1OTV9Qa+g1JEjumuXMqLvt+A/X+NvzoA+jKK8H8B fD+Hx34Ti1rxdqmp6rJcmZLKOS/kkFsmdm8ZHD70b1Q/LWp8O73UvD/jzX/Al3ey31jZxJcWUk02 8wRfIEX7nPySJ/sJt4oA9kooooAKK4X4n2Xim+8Mw2/hFphftdIZhDOkLmHY/wDGx/vbPeuE8XfD Xwb4S8LST2uqvpur2yvcWd1NegTXTxjfsC/KM8qPkGfufiAe60VxPwx1i81/4daPqF+5e5eJ0d+7 7HZA3T73yV0Ot6b/AGzpU1j9uvbHzSn+kWU3lSp82flegDyXS/EfxH+IzXl/4YvdM0nSra5eGJpo /nmB6bv9Z86rt/uffr2+vB/gBoRn0ZtcGq6nH9nv5UNhHc/6NN+5Ubnj7t8/X/ZWrniW3uviB8X5 /B897c2eiafZCW7ghm2mfIVww+X+88XDf3DjmgD2yivBvGWgWfwmnsPFHhm5v7S0nv44LvSvPJhm XY2OWz/df7277+RtxSfEbX9Sf4reGrDS9evINN1W2tkc2Vz8jpNM6b06pv2dHoA96orzyw8K6H8N NM1jVtHtrp5I9MLzRtcvsm8lXbf6B2/T+HHzZ868I6V4O8T6dH4i8deK4r3V7jen2W91JYhbJu/u 7w3XeQPu4f7lAH0RXFaHY+NofGOpXOtavZz6DIZvsdtEo3xfP8m/5P7n+3XGfDbXotN8car4Nh8Q f2vpawpLptw9yr7QqJ+6TH3/AJGHT/ni3ydcZfhLxTfwfFXxzLqep6hc6Zp1vfzJa+czqiRzp9xG Oz7uaAPfKK8F8H+ALf4h6ddeLPFt7cXkuoiVbWCGd/8AQ03uCUJ9H37E+5/vUzRG13w78ctN8Iza vqdxo9vC8dpFM7IkkPku6cfxbG+Td/sdtuAAe+0V4P8AFLV9fg+Lnh3SdJ1+805byG2j/dO20O8z pvZPuPR8Sfh7aeF/DCeJvDt3eWmq2E266vnvXMtwJPkZy/8Af3v/ALH3n9qAPeKKxvDeozat4Y0j UrhUWa9s4Z2RPuhnQOf51g/E691HT/h1rFzo8ky3scSlZISd6JvXe3/fG/5qAO3rB8VW2uXWgXEP hy8htNWfZ5E82NifON3VW/h3DpXjXhrwR8N/FPgy0s7XUIo/EU8I3TNct5qzbd7YhYjei5P8P3R9 7+Ou18bLrHhT4KXqHW7ifU7VYl/tFMwyvmde4P8AcO2gDsPCttrlroFvD4jvIbvVk3+fPDjY/wA5 29FX+HaOlb1eIf27q/8AwzH/AGx/at9/aX/P59pfzv8Aj82ffzn7vFN+H/ga08deB4NX8Valqer3 dyZfspuLuQi0+ZkOwbvvfKG5/wBn0oA9xor54+HXhu98SX+t+G/EmrXl5pGhTfZzp0dzJ5MknKff 4fYvk5RP5c79DQ9Ki+H3xwt9F0id/wCytZtHlaGTefK5kZQOfm2mLG8/wP8A8CoA93or5v0221vx t8XPEPh6fxJq8Ojxz3hmgivXUGEOUCIpymPnTjptrX8Z6GPhHd6d4n8MSXFvYzXqxXemi5bZL8mV QcHqFl5cttLgrQBrfG3xp4g8IDQzoV/9jN15/nfuUfds8vb99T/fNex14B+0v/zK/wD29/8AtGup +MWvXunx6Do9pqT6QNVvNkupI+zyIkKA5/7+bs7k+570AerUV8/ax4U+HmheFZrvw34sht9es4Hm t7uDVlaaYhG+TarjG7Oz5BXp/wAPPEp8VeCbDVZZEe8ZfKuQjrnzUwOcYC7uH29t9AG7ruqf2N4f 1LUxF5v2K2lufL3bd+xN2P0rmvhl4xu/G2gXuqXNvBbhL94Yo4f7mxH+b1b5zUvxN0pdS8B6sft1 5afZ7Wa4/wBFm8vztkT/ACP/AHkPda4X9nrTC3h6+1U317xdPbfY/N/0b7kL79n/AD07bvSgD2+i vnH4X6a/xLjvbfxZqup6lY6ZMk0VrLduUZ5FZPnOd/Gwbfm4+f8Av83/ABXPfeFfir4J8N6Xq2or poisopImunAmH2l0+fHX0oA9/orhfi5eXem/DPVryxuJbe5j8jZNE+x0/fJ/F+NcX8Q9U1lfgRot 1bz3Ltd21nHfyjLs0Tw/PvY/3n2D8f8AaoA9urm/GniX/hEvCV7rYtPtX2by/wBzv2bt7qn3ucfe rzKy+Hnw78SaPAvgzWhb6tBtnjvEuGe5GxsbmhZlK/XC/wAJrX+L+lXL/C37Xc6rePc2EUSziFxD DeO8kSFpE6dfmX+6aAOu+HniK78V+CdO1q+SJLi58zesS/L8sjp/7LXWV5X8EdK+z/Du1vxf30v2 zd/o0s+6GHZNIP3afwburV6pQAUUV438RL3UvEHjzQPAlpey2NjeRPcXskM2wzxfOHX7nHyRv/sP u5oA9korwrxp8PbH4f8Aht/FHhfUtS07UNPSGNiJvMW5+dfv599hx9z5PuVS+KXjzUxofgrXdB1K ex+2QzXEi29zvQuPJ+R+z7G3L8w9aAPoKiuE8O/DnRfDOrDVrOTUZdS2zJPcTzs73G995Z8cP/k/ f5ru6ACivKvHXhLXvF/jbTdOllvIfCP2TbfNa3KLmb53GUP3+Vi/gNcV8QdL0P4bapY6z4P1OK21 SCdIbnSlvHcuv3wXXfv2fKny9OVoA+iq4X4l+MJ/BPhI6lbQpJdyzJDAkqb03feO/Df3Efp7V3Ve IftC6YV8PWOqi+vebpLb7H5v+jfcmffs/wCenbd6UAdd4NtPH41WS+8Vapp8mnTQF47G1QbraYup 2ZCc7fnX77V6DXIxWR8DeENWuV1DUtX+ywzXmdTufMc7E+5v28L8lebeBvh/bfEDQJPEvjC8vdQv L7zY7bF1xCm7gjj5X3l/k+5z9ygD3eivG/Ad/P4a+I2r+AJ9WnvLSCFJdOkvpvmTCJiFB/uP7fcy Frlfhfpr/EuO9t/Fmq6nqVjpkyTRWst25RnkVk+c538bBt+bj5/7/IB9HUV4z8QryfwjoPhjwhpO q3Ol2t5OsB1OS6O6GFNg+9kY5fd99MbNv3KxNY8KfDzQvCs134b8WQ2+vWcDzW93BqytNMQjfJtV xjdnZ8goA9j8VW2uXWgXEPhy8htNWfZ5E82NifON3VW/h3DpR4VttctdAt4fEd5Dd6sm/wA+eHGx /nO3oq/w7R0rzfVfF93rX7Pc/iC1vpLfVlWGOaa3n2SJMs0aP9zGzcPm2+j1RbxtqGjfs+Wd+97c XOqXzS2cdy0jPIrPLL8+/cH4RW2n120Ae6UV41Y/A+z/ALHEl/qV6PE3m/ajqsMrZWf/ANmXfht3 D+6VH8ENa1zWNQ8U/wDCQXt9Pcwyw/urln/cvmbegQ/c6fc9qAPaaK+cPhPY3vxAGsWviPWNQvdK tvJaTT5bhtkrnfsLvu37V2fd7naf4a29BsbnwF8cIvDemzt/YWqQvcx2jzuyxfI3vw4eHb/F8n6A HulFFeQfFC8v9e8T6J4B069ksH1FJLq7uBu/1Wx/k+Vvn+652dPuUAev0V4h4q+HMPgvw5deIfB9 3qdjfWdv5U3lOXFxEfkkZz1Dfx5HyJs+6v3gf27q/wDwzH/bH9q339pf8/n2l/O/4/Nn385+7xQB 7fRXi3gbwfaeNfDGmeJteutQ1DV32bZmu3TyUhmdV2FRxu2Dfznq3Dc1qeOvCWveL/G2m6dLLeQ+ Efsm2+a1uUXM3zuMofv8rF/AaAPVaK+dfiDpeh/DbVLHWfB+pxW2qQTpDc6Ut47l1++C679+z5U+ Xpytbf7QGtapor+HG0vVbywMwuRIbW4eIuB5OM7etAHt9ZWu6p/Y3h/UtTEXm/YraW58vdt37E3Y /SvLfGvwxtoPDN/r8V9czeJrKP7fJq7zsjzOnzthfuJ8o+QLjbsTmpRJe+L/ANnuLUL7Ub23ubex uZHa2nKfaPJWVNkpP31bblh3oA6j4ZeMbvxtoF7qlzbwW4S/eGKOH+5sR/m9W+c13VeIfs9aYW8P X2qm+veLp7b7H5v+jfchffs/56dt3pUFvpUvxT+JPiC11m6u10HQ7hIBp6XO1HkV3Tf93+LbL/t/ PjfxQB7tRXg+pWUPwh8eaENL1K6j0HWJpUurC5mHkwfcG/d/s7kP9/8Ad/f+eo9cuNS1z47X3hCb WNTg0i+hEUsFvcdFFssny7gQvzJ+r/3zQB75WVruqf2N4f1LUxF5v2K2lufL3bd+xN2P0rM8M+Et I8JC5g0aK4gguJhM0LTOyIduz5Nx9v8APy1S+JulLqXgPVj9uvLT7PazXH+izeX52yJ/kf8AvIe6 0ARfDLxjd+NtAvdUubeC3CX7wxRw/wBzYj/N6t85ruq8Q/Z60wt4evtVN9e8XT232Pzf9G+5C+/Z /wA9O270rA+F+mv8S47238WarqepWOmTJNFay3blGeRWT5znfxsG35uPn/v8gH0dRXgHiue+8K/F XwT4b0vVtRXTRFZRSRNdOBMPtLp8+OvpXovxcvLvTfhnq15Y3Etvcx+RsmifY6fvk/i/GgDuqK8R +IeqayvwI0W6t57l2u7azjv5Rl2aJ4fn3sf7z7B+P+1TLL4efDvxJo8C+DNaFvq0G2eO8S4Z7kbG xuaFmUr9cL/CaAPTfGniX/hEvCV7rYtPtX2by/3O/Zu3uqfe5x96q/w88RXfivwTp2tXyRJcXPmb 1iX5flkdP/Za5H4v6Vcv8Lftdzqt49zYRRLOIXEMN47yRIWkTp1+Zf7pqb4I6V9n+Hdrfi/vpftm 7/RpZ90MOyaQfu0/g3dWoA9Urm/GPiqz8H+G7jV7sCTYNsMO/a0r/wB3NdJXjXjCeHXfjz4O0JpU 8mwV7zML/Ms3zPtbn/pin/fVAHf+ELfxDb+HLf8A4SW8N1qr/PMMIFj/ANkbFxXTV5b8cbrUrX4e t/Z7yqkl0kV20Q/5Ysj/AH8/dXfsFYFl8PPh34k0eBfBmtC31aDbPHeJcM9yNjY3NCzKV+uF/hNA HuNFcR4x1m/8IfDS81Ay/atStbZIftIRU3zPtTzdnQfO27bXnGheFPh7quhx6j4m8XQX2tajao80 1zqyLJbts6Ab/vLlfv7/ALnSgD36ivJvhJ4rudQm1nw5eayurTaZcN9nvZJ9z3EO8rvA7rxndvb7 61xfhw+GPiFe3niDxv4kAiS7ZLPR7vUEhSGIoP8Ac9V+5t/1eTuoA+jaK8M8Nazp3hL4oQeHtE15 L7w5qcJ8iL7UskNlNvdwiN+fHU+av38DPudAHFa5Y+NpvGOm3Oi6vZwaDGYftltKo3y/P8+z5P7n +3Xa14d8RNb1Oz+NvhOws9SvILK4Nn51vFcOiSbrl870HXjjmoPilq+vwfFzw7pOk6/eact5DbR/ unbaHeZ03sn3HoA94orwf4k/D208L+GE8TeHbu8tNVsJt11fPeuZbgSfIzl/7+9/9j7z+1X/AIm6 9qs/wP03ULNmhfUUtjf/AGVCEETw/OpP8Kb9q9e+3vQB7TXN+NPEv/CJeEr3Wxafavs3l/ud+zdv dU+9zj71eZWXw8+HfiTR4F8Ga0LfVoNs8d4lwz3I2Njc0LMpX64X+E1r/F/Srl/hb9rudVvHubCK JZxC4hhvHeSJC0idOvzL/dNAHXfDzxFd+K/BOna1fJElxc+ZvWJfl+WR0/8AZa6yvFPANnJp/wAB 9T1m31K/824027eON5vktnj84Awj+D1/Wsz4deF4fiX4Zlv/ABZqOqajNaSTWNt5k+RENiPvGf48 sfv56J/doA9+orwjx9q2paR8Z/COl2Gp30Ni62aSQfanKzD7S6/P83z/APAvSu9+Ll5d6b8M9WvL G4lt7mPyNk0T7HT98n8X40Ad1RXjvjTxdqWh/BDQr63uJft2oWtrbm63/OpeHe79fvfIf++qmtvg npf9k+dd3t4PEr7Zm1RLp2eG5670+7uXfz83z/7VAHR/EnxnP4G8MpqdtZrdSzTi2RXfaqMUd95/ vfcqdrjxF4h+Gtnd6LdWtlrl9aW08czL+5Rn2O/GH7b/AFrxz4h6Nr9t8MdHvvFV3eHUYrlbRreS 986J1/fOkzqv/LXGE3Bm+X36dXewXfhv9nYXthq+pm6ktbO5jme6O+33+RlI2/hj/wBn3oA9M8K2 2uWugW8PiO8hu9WTf588ONj/ADnb0Vf4do6VvV45o3irUdL/AGdj4hkup7rUlhlVZ5pC7+Y1w0aP luu3d/47iqXhr4SaX4k8LW2seJbrUb3WNWghme8F5uaJT93bv6nZsVt4f/ZoA9woryn4V+Irt7zx D4X1PUZL+80i7dIrqZ8zTwhnThfvfKyZzlv9Zj0rhvhPY3vxAGsWviPWNQvdKtvJaTT5bhtkrnfs Lvu37V2fd7naf4aAPo+ivC9BsbnwF8cIvDemzt/YWqQvcx2jzuyxfI3vw4eHb/F8n6U/Fcuk6l8a ZrLxzfTx6JDboNMjl3RwuzqmfmQcLu3/AD/7HL/JigD6AorzPwp4E03SfEUfiDwjrmzQ7iERy2ED efDMU3LlZS3Z/wD2fn5q9MoA4X4l+MJ/BPhI6lbQpJdyzJDAkqb03feO/Df3Efp7VB4NtPH41WS+ 8Vapp8mnTQF47G1QbraYup2ZCc7fnX77VyP7QumFfD1jqovr3m6S2+x+b/o33Jn37P8Anp23eleg xWR8DeENWuV1DUtX+ywzXmdTufMc7E+5v28L8lAHXUV4R4G+H9t8QNAk8S+MLy91C8vvNjtsXXEK buCOPlfeX+T7nP3K0/Ad/P4a+I2r+AJ9WnvLSCFJdOkvpvmTCJiFB/uP7fcyFoA9kor5x+F+mv8A EuO9t/Fmq6nqVjpkyTRWst25RnkVk+c538bBt+bj5/7/AD71omj2+gaLaaVavI8FpF5SPK258UAa lFeb/GXxLeeG/Akk+myvFc3k6WqTRvseL7zs3/jm3/gVcjH4I+HCabKw8cWz6+8nn/202qp5yTdd +zf/AH+f7/zffoA92oryf4Z63P49+HNxY3+o3K6jbSfZ5rmC62XAT76SfJyP7v8At7DmsPSfHmo/ D+bXfD/jG5ubuWxRp9MuZw++9XLYXf8AP9/j12fOP4aAPdKK8a8Jy+IH8P6j8RfEOo3k8jW015aa Okrw26Rqp/h/2tvydf753t0zfh/4DtvHOjr4t8YXNxq9zevMkKPcOqIm/wD2PufOJPk+583SgD3e ivOvA+g+IvCuo6xpV5dTXvh9PLGmS3M2+SMbeUCAfcHC/wAI+T5U+euFuZtJ8d/ELXrfxf4ibT9G 0e5SK206a+SGOd0d0dv/AB1/9v8AeD5xigD3+ivn9NT0HwF480N/CviGB9B1KV4r7T49QWWG2+4n nFiW2/wvz/cb5tnRfjDqXiMfFDRtC0XW73TxfW0EaLBcvCnmPM6bn2de1AHv9cN8SfGc/gbwymp2 1mt1LNOLZFd9qoxR33n+99yuN8WfCvT9E8N3uu6DqWqW/iCwimu21CS7YPcZ+Z/MbGd+wOPk29fm rlPiDd3PiX4R+G/FV7e3v2maZLOS1E3+juyedmbZt++2z9aAPbrK81TXfANtf2ssMGr32nJNCw/1 aTPFkf3vk31H4Ns/FNlpE8fizUra+v8Az98c9sm1BDtT5eETvv7d65zRLOXRPgXcXUGo38s0uiPe xyTzlmtm+zfci/uIuPlxWV8JfFF+vwq1/XdSurnUp7Ge4lT7TcO7siQo+zc340AeyUV4R4G+H9t8 QNAk8S+MLy91C8vvNjtsXXEKbuCOPlfeX+T7nP3K0/Ad/P4a+I2r+AJ9WnvLSCFJdOkvpvmTCJiF B/uP7fcyFoA9kor558OjU/FXxc8UaDea/qZ0ZJbnz7IXL7ZYkn2+SP7idOV/hyn8dXNW0Fvhp8V/ Dh8PzS2+l61MkMtq87um/fsbjPIAlDJu3fP+VAHvVFeFfFea3l+Ifh+w8UT3EXhBYTPKAH2ySjf/ AHeT/wAs1/2N/wDDvrf0X4e6BF4hsPEXgXXIrS2t3MN3FaS/a4p1yHZC+/5OP/ZaANLxJ4g1Twd4 x0++vbjzPC2pNHZukkkUf2K4/v8A3clNqn+L+/8A7Ar0SuP+JWnw6l8NfEFvKWSNLOScFeu6H94v 6oKpfCbV/wC2vhno8jPGJbaH7G6Qn7mz5V3c/e2bG/4FQB3tFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeWeC/FmvXXxT8T+GtacyxW4e 4sxhf3UO/wCT7g+bckydf7tep14T468nwp8d/DfiNreNLS/UQzXDzbFD48l3P93Yjp+VAHd/FXxR P4W8A3WoWN19nvpJo4LZ9ob59+W/8cV65v4R+NPEOs6lqmheKpJBq1rHHLDHNbeTLs/j3jaMdU/7 7qH4uq3iTxb4S8Gwyu0VzMbm9hQqrrEON4du4Tz+PajWA/hj9oDStUEjxWfiCL7NK7bW8yUJs2f3 0G77N6daAOn+LHim58J+BpLyxmeC+mmSG2mRFcI/3zkN/sI4rq9Kju4dJso9RlSW/SFFuJUHytKE +Zv515Z8SDP4g+Kvg3woY0+zK326eOVsxTJuY7WT/chcf8Dr2agArzbxX411iLxZZeEvCNnb3ury r9ouZrn/AFNrEf7+3kdQ3b+DG/fivSa8V8ZX48B/FODxJppTUtS1q3+zzaOWYTEDYqum1f8AYXh/ R8dfkALWqeO/FvgvVbL/AITLTdKk0e8dYzeaYZwsT7ud+7rhN7bQvzfnWr8ZPEur+FPCNrf6Je/Z biS/SF32I/ylHP8AGP8AYFcB4r8U3fjWTR9D8TaNJ4T01rxJZJ9QMweX+DbGxi2J8rv975PXb36v 9or/AJJ7p/8A2FI//RM1ACf2B8cP+hw0P/vyn/xitTw5o/xQtvEdpN4j8R6ZeaQpbzoII0Dt8h2/ 8sU/j296y/8Ahb3i/wD6JPrv5zf/ABiuh8H+Ntc8SavNZan4N1DRYUgMyXN1v2u+5RsG6NP72f8A gNAB478cXeg3Gn6NoNil/wCIdSkxFbuflRP77d+30+V+flrHXwp8UpLJbwePrb+1kVk8j7Cn2f73 9/Z/sj+Cqukj7X+0xr/2kCb7FpqC23/P5PyQ/c/uf6x/++29a9hoA8s8BeNNV/4SbUfBnix4zrdo d8VwrqqXCYDdP721t3H8OeBtqxq/iTV7b44aB4dhvNuk3li001uET53CTc78b/4Ert30iwk1SLU5 dPtn1CJdkd08KmZF9A//AAJvzrzPxB/yc/4U/wCwW/8A6BdUAewUUV598T/Euo6DodpbaG8Y13U7 uO1sgWTdz1fa/X+5/wADoA9Borx6b4G2Vwy30viXXpdb2JIL9pUb98o+Rsff7f3/APgVc/H4v12f 4M+JrS91Ce38Q6HdQ2zywyOkyKZUQF5EPzN99P8AgP40AfQNFeN+FPBWo+LIPDninxVq1689nFbT 6fbRFfLRUP3nc797vtR2+71/759koA8t8J+J9ck+K/ifwpqtzHcQwL9ps2jRE8mIsu1OF+b5JU65 +571f+K3iy+8NeGLdNGYf2xf3aW9qihXcc/MUQj5+yY/265jxvbjw98dvBuvpbxONTJs3VflZnP7 nexx/dmT/virHiX/AIqv45+H9FXMlvoEf9oXMkfyvG+VcAlvvJxB93++/wDwEA6f4VeKJ/FPgG11 C+uvtF9HNJBcvtC/Pvyv/jjJWJqPifV7r426d4X02/uF06G3E2pww26N5b7Xf5ndPucwj/gf9+qn w2B0L4n+M/Crjy4nl/tC1ih/1MSE9l/hbbLCOn8FRfDNG1z4l+NPFMkzXEazmytrhAvlSxb/AF/i 2pFDz/tUAezVUuLiCzt3ubiZIoYk3O7ttRFq3Wbqumw6to99ps7ssN5C8Dsv3trrsP40AecaF4v8 e+NJLnU/D2m6LZ6N5pjtW1YzeZOB3+Tj/wDX/Ftq/wCBPHt/r+san4d8R6Wmm67YqHZIi+yVS3XH 8ON0f8Z3764bwj4/1Pwrp1z4W0jw/J4ptdLmdI7/AEvftkR3ZwHwj46vz+WfvVrfDO4j8Q/EjxH4 jvpYbbWZYhE2loX8y2RXCOH3J9790n3f73RaAOi0jxJq9z8cNf8ADs15u0mzsVmhtyifI5SHnfjf /G9cf4w+IninQ/idqFvbXrDw9pclrPeW8cUW/wAhxDv+8N/LyY/4FW34f/5Of8V/9gtP/QLWsubR 4PEHxy8c6NOFAvNEEQZ03hHKW2x9p67T81AHuleN/Gf4h6p4TutN03Qr5La7mV57ljCHYJ9xMbht 5w//AHwOldD8H9Vm1DwFbWt3HKl5pU0lhOsq7ShQ5Vf+AoyrXmPihh4isPiP4tLs1nC1tpVg6XSz RSKk0Rfb9dkb8cfvG+9QB2/iPWvF0Pw20DxTpF/G9zb2cF5qNq1sr/aEZF3NwPlwd5+XZ8hbkba7 jwh4ltPFvhu21W0aP96g86JW3eVLjLIaPAf/ACT7w3/2C7X/ANEpXkmoX2ofBPxBqVtZ2qyaDrEL zacrTbvs9wiZwVyPl3Mob/Y2fOdhFAHSeNPGur3PjvSfBfhW+NrqMk3+nTmBX8pNgf5Q/DfJvf8A 75Ga9Mto3it0SSaSV0Ta0r7dz/7Xy15z8LPB13pFhceI9YR/7f1tzLcLPEiPCu8tt4/v8s3T+Ebf lr1OgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlz4kfC3xHZ+J7/VLKxuNTs7 66eaNrSLe6M7u+xkB3/8Dr1D4N+A9U8Gafqdxq+yGe/aPFsr7vKVN/8AF/wP9K9TooAKKKKACiii gAooooAK8g+Lcs/iLUdB8AWUzJc6lMLm5dW/1cKbh9z+P+J/vf8ALGvX65pfCWhp4qm8R/2en9sT KEa7aR3Iwmz7udi/JgUAcF/wzn4S/wCf/Xf+/wBD/wDG6x/CttH8MPjD/wAI1Bc7tJ1u3QwvczKJ Ff5tm47B829XTb/tr34r3quc1nwloviS6srrVbVpZ7BzJaslw8TQudvdH6/KlAHR15D8Xf8AkoPw 0/7Ch/8AR1tXr1YOs+F9G1u+06+1C0Mtzp0vnWjCRl8t8rz8p/2F/KgDhvjzp11qnw8RrOBpRaXq XU2z+GIJIC//AI8K6T/hYvhdvDba6NVtvISBJ3hFyhmR3TesRXf/AKw7X+TP8Jrs64L/AIVJ4H+2 /bP+Edh87zfM2732bs/3N+zb/s4oA8Z0PQZLL9nvxTq0qOjajPbrGNy7WjhmQbh/wJ5B/wABr2T4 K/8AJI9D/wC23/o+Sul1Dw/pOq6C+h3Vmj6cyon2ZCUUKvKD5eg+QU7Q9DsNA0mHS9LhNvZwF/Lj 3s+zc+/+L60AeP6umk6L8eby78WafE2kavbJHaT3caTQ7wsS7j/c+4yZ/wBrP3ea1/Fus/D7w7Ba x2PhfQNY1O6ZBb2NnbQu779pDfLG2Mhl2/388V6Prvh/SvEunNYavZpdW+7eEfK7W9mH1rK8P/D3 wr4auftWlaPBDc9pWZ5nT/cZydv3u1AHkv7QUJtdM8HwfZ4bYpFcL5MP3I+IflX/AGa6Tx7Knhj4 u+FvGN+X/sdYZLKSZFZvKfE2N3/f0e/yPXf+IvBvh/xebY69p5u/s2/yR5zx7N+N33GH90VgfE/W 30bTLf7boKap4buGeLVgP9ZGvybGX/x78QnzJQBS+JvjbRrL4eX0VhqmnXNzqEBit0SYSiRHfY7g IfaT5v761yX/ADaN/n/n/qvquofDm20K/svAGk/2j4g1CF7aKNLS4lkVHRt7J5n3fkL/AHP5V6d4 f8E2S/C+w8KavbPND5KNc27zf8td/muhdO2/9KAIfgr/AMkj0P8A7bf+j5KwPhF/yUH4l/8AYUH/ AKOua9G0PQ7DQNJh0vS4Tb2cBfy497Ps3Pv/AIvrUOjeF9G0S+1G+0+0MVzqMvnXbGRm8x8tz8x/ 22/OgDer501PVLTRv2o5b2/uVgtEdFeVvurus9qf+hCvouvne/s7TUv2p5LO+t4ri2kGJIZU3o/+ hf3aAOo+L3i3SbvwdL4dsLmO91LVGhW3t7RvOf76OGwn98bSn97fVb4jXut+E/gz4cgtbqXTr5Ta WdyYZMOu2B9yb0P95P4a7nRvhv4S8M6gNR0nRlgu1UqsrTySbP8AvtzXQ6pplnrOnTafqFuk9pOu 14noA8buvCHww8H+Gv7buGg1hv3k9ibq/wB/2lk/5ZoE+R039fkb7/zcVS+Fn/JvfjX/ALff/SVK 9K0r4ZeEdF1FNQ07RoUuo+UeV3m299y72OG6fNV7TPBWgaP4fu9E0+w8nS7zf58HnO2/emx/mLZH y0AcR+zr/wAk91D/ALCkn/omGsC7I0/9qE312xt7YxNN5sp2JsFkcuX/ALvyP/3xXsHhzwzo3hbT 3sNGszbW7y+c0fmO/wA/TPzk/wB0VU8SeBPDXiuWK41rSVuZYl2K/mOjbf8AgBFAHlP7S/8AzK// AG9/+0a9d8ef8k+8Sf8AYLuv/RL1X1vwN4f8Rw2UGsWD3aWCFIN9zLvXO3OW3/Pnav3s9K3L+wtt UsLmxu1329xE8Uqf3lfg/wBaAPM/ANncal+zoLG3XfcXWn38ESk/fd3mAFYnwtPga48LnStd07SY Nc095lu11K2hjmb53ct8/J2IOf7m09q9d0PQ7DQNJh0vS4Tb2cBfy497Ps3Pv/i+tY+s/Dfwl4m1 A6jq2jLPdsoVpVnkj3/98OKAOb8M6r4Z1Tx9Pp/hXwrpgi0+IvLrMUSIEfG3ZGFT5uo/iTjf/wAC 5T9mj/maP+3T/wBrV7PougaZ4fsEstMs4ra3T+CJMbjx8zf3m4+9VHw74N8P+EDcnQdPNp9p2ecP OeTfszt++x/vGgDD8ReJPCV/rl14R8U26xLHD9pWfURHFbyfwZhdn+/87DP+y9eYfEXw7ongrW9I vPBF5LZ6+k/krp1szTOD2fkt13Imz+Pf7NXueu+F9E8T232XWdOhu1UfIZB86Z/uOPmX7vas7w/8 PfCvhq5+1aVo8ENz2lZnmdP9xnJ2/e7UAeX/ALS//Mr/APb3/wC0a9d8ef8AJPvEn/YLuv8A0S9R +IvBvh/xebY69p5u/s2/yR5zx7N+N33GH90VsX9hbapYXNjdrvt7iJ4pU/vK/B/rQB5Z4O/5Nhuf +wXqH/oc1cB4e/5Nh8V/9hRP/Q7WvoG18M6PY+GG8OW1mY9LeB4fs/mPyj/fG7O7nca4T4ieGdI8 J/BXxBZaJafZbaSWGZoy7v8AP50IP3z6KKAE+EPibQrf4aWVtc6va289h5puElmVDEGm+9hv4P3i Dd/tYqj8P5z4n+MniXxXp0MzaK9sLSO4ddu+QeT/APEFvxWk+HXw/wDC/ij4Z6JeatpEE91++zKj PEz4mcfO6Eb/ALvevW9L0yz0bTodP0+3SC0gXakSUARJq9hJqkumRahbPqES75LVJVMyL6lO33l/ OtSuGsfD5T4m3ev2+k/ZYnsDDNetcbzdu3lbNqD7qosX+z9+u5oA8a+Mt/MmoeFNHbVpNO0jVLp4 dQaKUQ/uconzN/c2u/8As+tY3irw18NPBnguWWIQX2r3FqVsZJbsu8olDIs2xfk2quSH2fw/3q9k 13w/pXiXTmsNXs0urfdvCPldrezD61g2fwx8G6VHcR2WiQxrcxNBI7O7vsdGVtju3y/K7Z20AQfB X/kkeh/9tv8A0fJXf1j6HodhoGkw6XpcJt7OAv5ce9n2bn3/AMX1rYoA8g/Z1/5J7qH/AGFJP/RM NV2uY/Cv7QV/qOskWun6vYeVbXc7qkWUSHdvc9P9UeP9pP79ek+HPDOjeFtPew0azNtbvL5zR+Y7 /P0z85P90VJrvh/SvEunNYavZpdW+7eEfK7W9mH1oA8q+NusWHiDStE8OaRdRXup3d8k8McE6MB8 hCbjv+Xf5ylPUVheONPi0n4zeANNtmdobODT4Ed/vbUuXSvXfD/w98K+Grn7VpWjwQ3PaVmeZ0/3 Gcnb97tVjU/Bmg6xr9nreoWRm1S0CeTOJnTZsfeny7sfeoAt+LLSfUPCGuafaIHuLqwnhhXP3ndG GK8m+Fp8DXHhc6VrunaTBrmnvMt2upW0MczfO7lvn5OxBz/c2ntXutcfrPw38JeJtQOo6toyz3bK FaVZ5I9//fDigDm/DOq+GdU8fT6f4V8K6YItPiLy6zFEiBHxt2RhU+bqP4k43/8AAuB8J2E+sfFf 4k6ZAyLNd2ep26M/3Qzzov8AWvetF0DTPD9gllplnFbW6fwRJjcePmb+83H3qoaZ4M0HR9fvNb0+ yMOqXYfzpzM779773+Xdj71AHDfCHxbpNp4Oi8O39zHZalpbTLcW923kv993LYf+4Nxf+7srn4vE lt4k/aa0uW0lintLSJ7eGaIff2wSu3/j7v8AlSXOt+B9Z1K7b4l6FHpniW3Ihm8r7QI5k52thP6/ 7Hzf3dTwhZw+J/iqniLStHNl4b0u0aLTZoLYW8UrlmV/l/i+/N9z0TdzxQBnfFP/AJOE8Ff9uX/p U9d/8av+SR65/wBsf/R8dbGp+DNB1jX7PW9QsjNqloE8mcTOmzY+9Pl3Y+9V/XNDsNf0mbS9UhNx ZzlPMj3sm/a+/wDh+lAFXwH/AMk+8N/9gu1/9EpUfi3xVa+EtHXVry0vLi385Y5DaIG8sf3m9E/+ KrYsLC20uwtrG0XZb28SRRJ/dVOB/Sn3FvBeW721xCksMqbXR13I60AeTeJ/Bvww1Tw5f6xBeaXp 4+4t/ZXGUSVF3bViRwjPtz8n3q5SzudSuP2ZdZ/tGSSRI7qOO0eQdYVlgHy/3lD7x+GK9S/4VJ4H +2/bP+Edh87zfM2732bs/wBzfs2/7OK6PUPD+k6roL6HdWaPpzKifZkJRQq8oPl6D5BQB41/zaN/ n/n/AK9A+Cv/ACSPQ/8Att/6PkrZ/wCEM0H/AIRX/hFP7P8A+JJ/z7ee/wDf8z7+7f8Af5q9oeh2 GgaTDpelwm3s4C/lx72fZuff/F9aAPOfhF/yUH4l/wDYUH/o65pviD/k5/wp/wBgt/8A0C6r0LRv C+jaJfajfafaGK51GXzrtjIzeY+W5+Y/7bfnRceGNHufFNt4hms9+rWkPlQz+Y/yJ8wxtzt/jegD w/wPrmnaH8d/Fc2rXsVpDNLewpJM+xN32kP97t91q3fjDrNl4l/s3wdobf2lrTX/AJrw23zeUVR0 2s/8L8/8B2HfgVg+DdF0/wAQ/Gzxrp2q2cV1asb87JUztP2hBuX+43+1Xs3hvwJ4a8KSy3Gi6Stt LKuxn8x3bb/wMmgDyn9pf/mV/wDt7/8AaNbPxttGjv8AwlrNzYtd6Pp14734CI42O8Py7Sed21q9 A8ReDfD/AIvNsde083f2bf5I8549m/G77jD+6K27i3gvLd7a4hSWGVNro67kdaAPN7y9+FVl4eOu LYeG5bcJ8iQ2MDySsNuUROu/504/h3fNiug+H00WoeE01GDw/a6HBeyNPHZ22PmXjDt8iffx6fc2 fhWtPhJ4E0+ZLqDw5BJInQTyvKv4o7bTXeUAc74yhluPA/iC3giaWWbTrmONFXczuY2GK86/Z7uI l8F3lo06edJqU0kaZ+ZlRIA34fOv/fVez1yGlfDzwxoOstq2mab9kvmDbnimlRDuP3dm/Ztz/Dj0 oA8v/Zo/5mj/ALdP/a1S/FaCSz+M/g3VJ9kNhvtl853VV/d3O9/yDqa9U8O+DfD/AIQNydB082n2 nZ5w855N+zO377H+8aua74f0rxLpzWGr2aXVvu3hHyu1vZh9aAPPPjX4ktG+Hc2n2TpdS6gkM5MT 7gltvU+d/ul9if8AA6v2/irSfD/gHwba6zZyS2Op2NtZvMYka2T90n+uZjjZ8x/75f0rWg+GPg+1 0u506LRIEtbv/XHc29vnR9u/dv2bkT5a6FdA0z+xYdHksIJ9NhiSFLadfOTYn3PvdccUAeO/EHwV 8OYPCE+tabe2NndSmSeze0uN6XTqfmjRN+Nm7A+T7n6Vf1K51fV/2aHub8XNxqLW6PIzpl2iS4+V zkcjy1Db/T5q660+EngTT5kuoPDkEkidBPK8q/ijttNdjcW8F5bvbXEKSwyptdHXcjrQBwfwXuoH +GOj2scieckcztHu+dUe4mCn8dj/APfNdra6rYX09xb2l/b3E1s+y4SGZXeJv9sD7vQ1keHfAnh3 wpJLNodg9pJMm2T/AEiZ0b6q7ms/wx4bfSvFXibU4tLGmQX06bd1x5r3Lq7u83fYr7/uf7P8NAHc 14z41J8PfGjwp4lv4Smj+T9ie5IUKkz+cPmP8P3w+f8Aer2aqGqaZZ6zp02n6hbpPaTrteJ6APLv jJ4t0WT4cXNnbaja3c2pPEIVt5kf5Fl3b+v3f3Lr/vcV558VtEbw94I8B6VIsiTQw3LTRyMr7Jn8 l3UFf9pmr23Svhl4R0XUU1DTtGhS6j5R5Xebb33LvY4bp81aHiLwb4f8Xm2Ovaebv7Nv8kec8ezf jd9xh/dFAHTUUUUAeBeIra18Z/GXUfDHiTXbq20i2hhaygW5SJHm2x4T5x8z/vn/ANuue+LNn4J8 PQQaJ4YtLb7Y05lu5Y7hpWiMe5Nh3Fv7zZX/AGK918SeBPDXiuWK41rSVuZYl2K/mOjbf+AEVSk+ GPg+XSU0d9FiFiswmCxyOrs4Dj533b3++/egDtq8g/aK/wCSe6f/ANhSP/0TNXr9YPiPwzo3inT0 sNZszc26S+csfmOnz9M/IR/eNADvFlpPqHhDXNPtED3F1YTwwrn7zujDFcB8I/E2mWPgaHRb+8t7 LU9NmuI5re7mSKT5XaR22k/cVWP/AHw/pXrdcfrPw38JeJtQOo6toyz3bKFaVZ5I9/8A3w4oA878 HQW3i749a/4jtNzWOnLsWWN02vLs8kdPvIwWVgR/s1U/Zo/5mj/t0/8Aa1ez6LoGmeH7BLLTLOK2 t0/giTG48fM395uPvVR8O+DfD/hA3J0HTzafadnnDznk37M7fvsf7xoA8/8AjbaNHf8AhLWbmxa7 0fTrx3vwERxsd4fl2k87trVp3l78KrLw8dcWw8Ny24T5EhsYHklYbcoidd/zpx/Du+bFekXFvBeW 721xCksMqbXR13I61x1p8JPAmnzJdQeHIJJE6CeV5V/FHbaaAOO8RXMd5+z9q2p2/h+20K3vXimj s7XoyGaMb3wiffx/3xsrnb7SLvVv2YtHe1XcbG5e7lT+Ip5sycf997vwr3fXNDsNf0mbS9UhNxZz lPMj3sm/a+/+H6Vi6ta3PgzwDPb+D9LSSWzXfa2bb5t2X3uPvb2PL0ANsfiL4Yu/Dy622tW8NsUB kSZwkkL/ADHY6dd/yOMfxbPlzXn3wC1CXWNa8aanOqrNdzwTuq/d3u0z1R0nxF8Fwg1ubRorfUSj TSWEkMsqiTn5ET/U/wC50H+5XYfCDRtRtrfW9f1uwmsNU1u/aZoGXbhMk8KfnX5nf73bZ+IByf7N H/M0f9un/tat/wAQf8nP+FP+wW//AKBdV3Xh3wb4f8IG5Og6ebT7Ts84ec8m/Znb99j/AHjVi48M aPc+KbbxDNZ79WtIfKhn8x/kT5hjbnb/ABvQBvV4149lTwx8XfC3jG/L/wBjrDJZSTIrN5T4mxu/ 7+j3+R69lrzr4n62+jaZb/bdBTVPDdwzxasB/rI1+TYy/wDj34hPmSgCl8TfG2jWXw8vorDVNOub nUIDFbokwlEiO+x3AQ+0nzf31rkv+bRv8/8AP/VfVdQ+HNtoV/ZeANJ/tHxBqEL20UaWlxLIqOjb 2TzPu/IX+5/KvTvD/gmyX4X2HhTV7Z5ofJRrm3eb/lrv810Lp23/AKUAQ/BX/kkeh/8Abb/0fJXA +Ira18Z/GXUfDHiTXbq20i2hhaygW5SJHm2x4T5x8z/vn/269l0PQ7DQNJh0vS4Tb2cBfy497Ps3 Pv8A4vrWd4k8CeGvFcsVxrWkrcyxLsV/MdG2/wDACKAPCvizZ+CfD0EGieGLS2+2NOZbuWO4aVoj HuTYdxb+82V/2K3/ANpf/mV/+3v/ANo16TJ8MfB8ukpo76LELFZhMFjkdXZwHHzvu3v99+9aHiLw b4f8Xm2Ovaebv7Nv8kec8ezfjd9xh/dFAEnjz/kn3iT/ALBd1/6JeuC8Ewy3P7NjwQRNLLPpt/Gk aLuZ3LzYFeo39hbapYXNjdrvt7iJ4pU/vK/B/rVXQ9DsNA0mHS9LhNvZwF/Lj3s+zc+/+L60AeYf s93ES+C7y0adPOk1KaSNM/MyokAb8PnX/vqofBeo2/g74peNbTxA8emnUpjfWstw6RxPF50n8R/3 /wDx1677Svh54Y0HWW1bTNN+yXzBtzxTSoh3H7uzfs25/hx6Vd8R+E9F8WW8MWtWC3axNvhO942Q /wC8hoA8p+KIsPG/xC8LeEtPmFw8Ms32traVP3Sl13p/vokL/L1+71qD/m7n/P8Az4V6v4d8F+Hv C27+xtKitpJc7puXkwcfJvb59vyD5ad/whmg/wDCVf8ACV/2f/xO/wDn589/7nl/c3bPucUAdNXO +MoZbjwP4gt4Imllm065jjRV3M7mNhiuiooA8Y/Z7uIl8F3lo06edJqU0kaZ+ZlRIA34fOv/AH1W P+zR/wAzR/26f+1q9Q0r4eeGNB1ltW0zTfsl8wbc8U0qIdx+7s37Nuf4celWfDvg3w/4QNydB082 n2nZ5w855N+zO377H+8aAPK/itBJZ/Gfwbqk+yGw32y+c7qq/u7ne/5B1Nbvxr8SWjfDubT7J0up dQSGcmJ9wS23qfO/3S+xP+B16Hrvh/SvEunNYavZpdW+7eEfK7W9mH1rBg+GPg+10u506LRIEtbv /XHc29vnR9u/dv2bkT5aAMm38VaT4f8AAPg211mzklsdTsbazeYxI1sn7pP9czHGz5j/AN8v6Vyn xB8FfDmDwhPrWm3tjZ3Upkns3tLjel06n5o0TfjZuwPk+5+lexLoGmf2LDo8lhBPpsMSQpbTr5yb E+597rjiuatPhJ4E0+ZLqDw5BJInQTyvKv4o7bTQByOpXOr6v+zQ9zfi5uNRa3R5GdMu0SXHyucj keWobf6fNXR/Be6gf4Y6PaxyJ5yRzO0e751R7iYKfx2P/wB813lxbwXlu9tcQpLDKm10ddyOtYPh 3wJ4d8KSSzaHYPaSTJtk/wBImdG+qu5oA6mvEdR002P7Uuk3PnbxfWzXOzb9zFu8X/tOvbq84+Kv h291bRrPWNGjkfWtFm+12mxC7vyN6hen8KN0Odm3+KgDY8W+KdJ8P/2fa61aSS2Wpz/Y3lMaPbx/ 9dmc8Lyf++H9K81+IPgr4cweEJ9a029sbO6lMk9m9pcb0unU/NGib8bN2B8n3P0r07QdW0bx34Th uzb215bzon2m1mAnWKXAJRgw52ms60+EngTT5kuoPDkEkidBPK8q/ijttNAHLyRa/wCKf2dNssVz fatNAr7JFzNKiXO5Dg/f+Rc/7dHgO5+G+qeCrGW5s/DqXlpaxpeG8toFdGXYju+4fdZ2+/8A7frX slcNqfwq8F6xqE+o6joay3U7b5pEnmTe3rtV8UAZfw+1jQfEGs6rceHPC9lY6banyE1GOBYXuM/w bQn3OM/e/ufJ6cT8K7LwxZNfeFfF2k2UfiGK7G1NStY2LowRFRHbryOnfzPl617rYWNnptpHaWNt Db26D5YoU2Kv/ARWJ4k8CeGvFcsVxrWkrcyxLsV/MdG2/wDACKAOKs9Y8GzfEKw0Pwx4X0bU5VxN PqNtCiRWm0btyuqNvbp6fNsG7P3fXqwdC8L6J4YtvsujadDaKw+cxj53x/fc/M33u9b1AHgPxT/5 OE8Ff9uX/pU9HxT/AOThPBX/AG5f+lT16vqfgzQdY1+z1vULIzapaBPJnEzps2PvT5d2PvUan4M0 HWNfs9b1CyM2qWgTyZxM6bNj70+Xdj71AGP8av8Akkeuf9sf/R8dULfxVpPh/wAA+DbXWbOSWx1O xtrN5jEjWyfuk/1zMcbPmP8A3y/pXba5odhr+kzaXqkJuLOcp5ke9k37X3/w/SlXQNM/sWHR5LCC fTYYkhS2nXzk2J9z73XHFAHjvxB8FfDmDwhPrWm3tjZ3Upkns3tLjel06n5o0TfjZuwPk+5+lX9S udX1f9mh7m/Fzcai1ujyM6ZdokuPlc5HI8tQ2/0+auutPhJ4E0+ZLqDw5BJInQTyvKv4o7bTXY3F vBeW721xCksMqbXR13I60AeR+D7qF/2c7y1SSIyx6Pfuyb/mRXefaf8Axx/++asfs6/8k91D/sKS f+iYa67Svht4T0aC+g07THggvoWt7mP7XMyyofXL+5rT8OeGdG8Lae9ho1mba3eXzmj8x3+fpn5y f7ooA8j+K0Eln8Z/BuqT7IbDfbL5zuqr+7ud7/kHU1u/GvxJaN8O5tPsnS6l1BIZyYn3BLbep87/ AHS+xP8Agdeh674f0rxLpzWGr2aXVvu3hHyu1vZh9awYPhj4PtdLudOi0SBLW7/1x3Nvb50fbv3b 9m5E+WgDgfiDp15qf7P3hk2ls0osobO4m2fwRi2OW/8AHhXo1r4+8MT6ANXfWrKOARRuyPOhkh3o XCOq/wDLT5X+T/ZNdFYWFtpdhbWNouy3t4kiiT+6qcD+lch/wqTwP9t+2f8ACOw+d5vmbd77N2f7 m/Zt/wBnFAHl3jbxFq/jf4PJrd3pv2eFNe/deUrbfs/lsm926H522buORXUeKbiCX9mxUSVWMOma ekiq33H/AHD/APs6fnXqF5omm3uiNpE9lCdOeHyvs4XYgX2x92sOD4b+FLTRLzRYdNZdOu3V5rcX c2x2Xn+/8vQUAee6Zpd3rP7LkdlYWzXF06OyRL95gt5vfH4LXXeAPGXh+XwFo4OrWlu9nYJHcxXF yiPDsxDvcb/lQsOP99Olddoeh2GgaTDpelwm3s4C/lx72fZuff8AxfWue1P4VeC9Y1CfUdR0NZbq dt80iTzJvb12q+KAOJ+DVmur+L/FnjNI5ltrq6eG1LlBw7+a+9R/FxF/30fwz/2aP+Zo/wC3T/2t XuNhY2em2kdpY20NvboPlihTYq/8BFY/h3wb4f8ACBuToOnm0+07POHnPJv2Z2/fY/3jQBwviD/k 5/wp/wBgt/8A0C6rYv8AV/BfjTVtQ8MeILKOK90+ZYEj1LZC8zO//Lu2/f8ANtXpj7yV1Vx4Y0e5 8U23iGaz36taQ+VDP5j/ACJ8wxtzt/jeqviLwX4e8U7f7Z0qK5kixtm5STAz8m9fn2/OfloA8eud N0vwj8YdBg8Eai/mXE6w3+n2x87yV3gOrP8ATd8rcp5e7+7X0TXL+HfBfh7wtu/sbSoraSXO6bl5 MHHyb2+fb8g+WuooA8g/aK/5J7p//YUj/wDRM1eh+LLSfUPCGuafaIHuLqwnhhXP3ndGGKb4j8M6 N4p09LDWbM3NukvnLH5jp8/TPyEf3jW9QB5J8I/E2mWPgaHRb+8t7LU9NmuI5re7mSKT5XaR22k/ cVWP/fD+lY3g6C28XfHrX/Edpuax05diyxum15dnkjp95GCysCP9mvRNZ+G/hLxNqB1HVtGWe7ZQ rSrPJHv/AO+HFbGi6Bpnh+wSy0yzitrdP4IkxuPHzN/ebj71AHjH7NH/ADNH/bp/7Wr3+uZ8O+Df D/hA3J0HTzafadnnDznk37M7fvsf7xrpqAPKPjzp11qnw8RrOBpRaXqXU2z+GIJIC/8A48Kks734 VXvh4a41h4bitynzpNYwJJEx3YR067/kfj+Lb8ua9Trgv+FSeB/tv2z/AIR2HzvN8zbvfZuz/c37 Nv8As4oAreAdZ0jUNH1PWrLw1ZeHtJ80qkwCw/aET+N8IqbBk/xt/GO1ecahY698cGv9YtM2ukaa JotPgYI0lxNhG2N83y7vkzn5U+X73zNXt+r+GdJ1rR00e8tAdOTZ/o0LNCmE+6nyH7v+zV/S9Ms9 G06HT9Pt0gtIF2pElAHmXh3xZP46+Hus6DdyH/hLYLG4guLORPJd32siNjP0Df3XP8Py0vwj8TaZ Y+BodFv7y3stT02a4jmt7uZIpPldpHbaT9xVY/8AfD+ldunhTSIvFE3iWK0ddXmTbJOtw/zLsCY2 btn8Cdqp6z8N/CXibUDqOraMs92yhWlWeSPf/wB8OKAMnw78QG8T/EPVdLsIbebQtPt8/b498m+b cg+/90Jy+PXZuzXCaKnh3Rfip4qsPGmmWUb6jcteWU+qQRvF5e93yGcYTfvH/fG379e06LoGmeH7 BLLTLOK2t0/giTG48fM395uPvVV8R+E9F8WW8MWtWC3axNvhO942Q/7yGgDgtb1PwPYeILDQtF8I +H9Y1W7n8iSCG3hRbYj7xd1R/f5cfwt+PMfF67g0344eFb65bZbWsNnPK2PuItzITXr3h3wX4e8L bv7G0qK2klzum5eTBx8m9vn2/IPlryb4qxRXPx48I288SSwzJZxujruV0Ny+RQB3HxD8b+HbTwFq MSapb3MupWc0NvHbTLIz7w6bwB/BkN83+zXnHizRNS079nPw9aXdpNHNbah5s6Mv+pVzNt3/AN3/ AFif99V61Z/DDwfY6susWuiRR3ySedG4lk2o3sm/ZXT6pplnrOnTafqFuk9pOu14noA4aO4im+A1 wkUqs0PhnZIqn7jfYw/8mWuO+ENpPqXwP8U2Nsu+5upryCJf77tbRgV6fpvgfw/o2k32k6fp7Raf fK8dzEbmVldSu0/eb5fT5aueHPDOjeFtPew0azNtbvL5zR+Y7/P0z85P90UAcF8I/E2mWPgaHRb+ 8t7LU9NmuI5re7mSKT5XaR22k/cVWP8A3w/pWN4OgtvF3x61/wAR2m5rHTl2LLG6bXl2eSOn3kYL KwI/2a9E1n4b+EvE2oHUdW0ZZ7tlCtKs8ke//vhxWxougaZ4fsEstMs4ra3T+CJMbjx8zf3m4+9Q B4z8LP8Ak4Txr/2+/wDpUldB8Xf+Sg/DT/sKH/0dbV2+meDNB0fX7zW9PsjDql2H86czO+/e+9/l 3Y+9VnWfC+ja3fadfahaGW506XzrRhIy+W+V5+U/7C/lQBzfiLxJ4Sv9cuvCPim3WJY4ftKz6iI4 reT+DMLs/wB/52Gf9l68w+Ivh3RPBWt6ReeCLyWz19J/JXTrZmmcHs/JbruRNn8e/wBmr3PXfC+i eJ7b7LrOnQ3aqPkMg+dM/wBxx8y/d7VneH/h74V8NXP2rStHghue0rM8zp/uM5O373agDT8WXc+n +ENc1C0cJcWthPNC2PuuiMc1xHwH0wWXwyguTNv+3XUtyF2/cwfKx/5DzVX4oXlx4n1Gw+HmkSM1 xeTJNqTp+8+yW67TmQfUh/vZ+Rf74r0+wsLbS7C2sbRdlvbxJFEn91U4H9KAI7XVbC+nuLe0v7e4 mtn2XCQzK7xN/tgfd6Gmvq9hHqkWmS6hbJqEq747V5VEzr6hO/3W/KqujeF9G0S+1G+0+0MVzqMv nXbGRm8x8tz8x/22/Oi48MaPc+KbbxDNZ79WtIfKhn8x/kT5hjbnb/G9AGhf31nptpJd31zDb26D 5pZn2Kv/AAI0+3uILy3S5t5klhlTcjo25HWqWuaHYa/pM2l6pCbiznKeZHvZN+19/wDD9KtWFhba XYW1jaLst7eJIok/uqnA/pQBCmr2EmqS6ZFqFs+oRLvktUlUzIvqU7feX86ddarYWM9vb3d/b281 y+y3SaZUeVv9gH73UVTt/DGj23im58Qw2ezVruHypp/Mf50+UY252/wJRrPhfRtbvtOvtQtDLc6d L51owkZfLfK8/Kf9hfyoA07i4gs7d7m4mSKGJNzu7bURaZYX1nqVpHd2NzDcW7j5ZYX3q3/AhRf2 Ftqlhc2N2u+3uInilT+8r8H+tVdD0Ow0DSYdL0uE29nAX8uPez7Nz7/4vrQBI+r2EeqRaZLqFsmo SrvjtXlUTOvqE7/db8qdqeq6bpMCT6lqNtZQs21XuZVjXd9WqnceGNHufFNt4hms9+rWkPlQz+Y/ yJ8wxtzt/jejxH4Z0bxTp6WGs2ZubdJfOWPzHT5+mfkI/vGgDerN0zVdN1aB59N1G2vYVbaz20qy Lu+q1pVg+HPDOjeFtPew0azNtbvL5zR+Y7/P0z85P90UAXNT1XTdJgSfUtRtrKFm2q9zKsa7vq1T 3FxBZ273NxMkUMSbnd22oi1meI/DOjeKdPSw1mzNzbpL5yx+Y6fP0z8hH941oX9hbapYXNjdrvt7 iJ4pU/vK/B/rQAWF9Z6laR3djcw3Fu4+WWF96t/wIVCmr2EmqS6ZFqFs+oRLvktUlUzIvqU7feX8 6j0PQ7DQNJh0vS4Tb2cBfy497Ps3Pv8A4vrUNv4Y0e28U3PiGGz2atdw+VNP5j/OnyjG3O3+BKAN C/vrPTbSS7vrmG3t0HzSzPsVf+BGn29xBeW6XNvMksMqbkdG3I61S1zQ7DX9Jm0vVITcWc5TzI97 Jv2vv/h+lWrCwttLsLaxtF2W9vEkUSf3VTgf0oAj0zVdN1aB59N1G2vYVbaz20qyLu+q019XsI9U i0yXULZNQlXfHavKomdfUJ3+635VV8OeGdG8Lae9ho1mba3eXzmj8x3+fpn5yf7oouPDGj3Pim28 QzWe/VrSHyoZ/Mf5E+YY252/xvQBp3FxBZ273NxMkUMSbnd22oi0ywvrPUrSO7sbmG4t3HyywvvV v+BCi/sLbVLC5sbtd9vcRPFKn95X4P8AWquh6HYaBpMOl6XCbezgL+XHvZ9m59/8X1oAmtdVsL6e 4t7S/t7ia2fZcJDMrvE3+2B93oaLrVbCxnt7e7v7e3muX2W6TTKjyt/sA/e6iqejeF9G0S+1G+0+ 0MVzqMvnXbGRm8x8tz8x/wBtvzo1nwvo2t32nX2oWhludOl860YSMvlvleflP+wv5UAb1Ztrqthf T3FvaX9vcTWz7LhIZld4m/2wPu9DWlWDo3hfRtEvtRvtPtDFc6jL512xkZvMfLc/Mf8Abb86ALT6 vYR6pFpkuoWyahKu+O1eVRM6+oTv91vyqa/vrPTbSS7vrmG3t0HzSzPsVf8AgRrPuPDGj3Pim28Q zWe/VrSHyoZ/Mf5E+YY252/xvU2uaHYa/pM2l6pCbiznKeZHvZN+19/8P0oAu29xBeW6XNvMksMq bkdG3I61Ba6rYX09xb2l/b3E1s+y4SGZXeJv9sD7vQ1JYWFtpdhbWNouy3t4kiiT+6qcD+lZ+jeF 9G0S+1G+0+0MVzqMvnXbGRm8x8tz8x/22/OgDeryH49aGmo+A49USOPzdLnVizOx/dP8jL/33s/7 5r16qGqaZZ6zp02n6hbpPaTrteJ6APFvh1fDx78YL/xa1vMLezsI0hWWXi3ldFQoo/u/8fFb/wAc 7O4j8N6Z4isVzf6JqCTJN/zyRiB90/e+cQ/5zXZ+HfBvh/wgbk6Dp5tPtOzzh5zyb9mdv32P941e 1zQ7DX9Jm0vVITcWc5TzI97Jv2vv/h+lAHlfwt1CHxj8VfFniy3R7eH7PDbpbuOWV8fOf+/P/j9e vX9hbapYXNjdrvt7iJ4pU/vK/B/rWf4c8M6N4W097DRrM21u8vnNH5jv8/TPzk/3RW9QBxOkfDHw l4f1SDVNK0s215Bu8t/tMz7dybDwz+5rjvCEsNp8fvGFvq86tq9wiC0kVtqGHCPsx3bZ5P8A3w9e z1yHirwB4f8AGG19UsC1zHE0UVykhWRPp/f/AOBZoA5j45XulwfDie3u2iF3czIbKOT7+9HXeyAj +5u+b/bx/HXP/GOG8tvgx4ai1FnN/HcWyXXmNufzfsz78tn1rs/Dvwi8JeHLiK7itJ7y8gkMsM13 MSVP+6mE/wDHa6XxH4Z0bxTp6WGs2ZubdJfOWPzHT5+mfkI/vGgCP/hPPCX/AENWh/8Agwh/+Lqa y8V+HtTu1tbLX9LuJ3+5FBeRu7f8BBrm/wDhSfw9/wChf/8AJyf/AOLq1pHwx8JeH9Ug1TStLNte QbvLf7TM+3cmw8M/uaAOL8QzzeAfjSPFd6rvomrwLbXM8cW7yHCJ8vX/AKZI3+6XxnbXq0Wsadc6 cdSiv7aWwCO5uY5VeEIv3vmH+eKl1TTLPWdOm0/ULdJ7SddrxPXnEnwE8GNqX2pBfxQ7lY2QuMxH /Zzjf/4/QBR03X9Q8V/G0yaLfTP4c0m3K3BSdzbXEmxu33N+5/8AyDuqTxB/yc/4U/7Bb/8AoF1X o2heH9K8NacthpFmlrb7t5RMtub3Y/So7jwxo9z4ptvEM1nv1a0h8qGfzH+RPmGNudv8b0Ab1eOf Gu3utNPhjxTBb/aLfQ9Q3zR+mXRk6D5Vym3/AIEnWvY6o39jZ6laSWl9bQ3Fu4+aKZN6t/wE0AV7 PXNNvdEXV4L2FtOeHzftBfYgX3z92vnxoZrr4afEjxMkTRWWs6nE9rHKu1yiXO8n/wAif+ONXov/ AAojwR/a323yrvyOn2H7T+5+7j/rp/tffrt77wrol/4dk0CTTYU0pzzaw/uU+/v/AIMY+fmgCLwH /wAk+8N/9gu1/wDRKV0VUbCwttLsLaxtF2W9vEkUSf3VTgf0q9QB5R8dtFiv/AD6gVRZtNnSZH8v LsrvsZA38P30b/gH5ZnwilufFHiTxR44u7QLLdypbWsm/IjX+JMDrhRAN+3/ANmr1y/sLbVLC5sb td9vcRPFKn95X4P9ap6F4f0rw1py2GkWaWtvu3lEy25vdj9KAPKvi7eXfhHx1oHja1hNxstZrQxs nyI+2Tbvf384nb/sGuj+CmjnSvhpYSSCVJr6Z7x0l98Im3/Z2IjV13iPwzo3inT0sNZszc26S+cs fmOnz9M/IR/eNaFhYW2l2FtY2i7Le3iSKJP7qpwP6UAY/iLwb4f8Xm2Ovaebv7Nv8kec8ezfjd9x h/dFc74m8K23hn4U+ItP8LQJYRNDJPLvlaQMoUeb9/f1jXbXpFFAHBfCi5067+Gmj/2XhI4ofJmQ NuKTfx/TLHf/AMCrmGkg1P8AaStpdHkR0s9NddUaFtmWG9Pn/v8A34fyH93jV1f4H+D9VkWVLe5s JCzPILKbajlv9lw4X0+Wut8OeE9F8J280Wi2C2iytvmO95Gc/wC85oA4Hw//AMnP+K/+wWn/AKBa 0eH/APk5/wAV/wDYLT/0C1r0K38MaPbeKbnxDDZ7NWu4fKmn8x/nT5Rjbnb/AAJRb+GNHtvFNz4h hs9mrXcPlTT+Y/zp8oxtzt/gSgDy7xTrR+GnjTxPdRgxJ4g0z7RZvDa52XifIAD9w/feZ8/3v++z WPD3/CNfs0T2RiCXTww3NyHi8t97zo+H77l+5z/dr0nxF4N8P+LzbHXtPN39m3+SPOePZvxu+4w/ uir2uaHYa/pM2l6pCbiznKeZHvZN+19/8P0oAq+A/wDkn3hv/sF2v/olK4L9or/knun/APYUj/8A RM1eo2FhbaXYW1jaLst7eJIok/uqnA/pWf4j8M6N4p09LDWbM3NukvnLH5jp8/TPyEf3jQBvUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR Xy34xbUfG/iLxT4q0282Q+GvJS2+yfMzKJeHRk/h4kl39v1r6H8La9beJvDOn6zbKFW7i3lP7j9H XP8AvZFAG7RRXiHxs1HT9T1nwv4budVt0s2v/wDiZIsyb7cfIEds/c+R5DQB7fRWF4UtNGsPD1ra +HngfSo94gME3mp9878P3+bdWLL8U/BMV+NPPiK1afcqb1Vmi+bnmUDYPru7UAdvRWXLrGnW2nDU pb+2isCiOLmSVUhKN935j/nms2/8Z+H9PvNOsptTha51Qp9jVDv80SfccbR9z/a6UAdNRWPrWv6Z 4fsHvdTvIra3T+OV8buvyr/ebj7tZHh/4heFfEt19l0rWIJrnnETK8Lv/uK4G77vagDr6K4jxZoX h7V/EPhq71jVfsd5Y3fmafCbiOP7S+9Pl2OMt91B8v8Aerqb++s9NtJLu+uYbe3QfNLM+xV/4EaA L1Fcfo3xI8JeJtQGnaTrKz3bKWWJoJI9/wD32gra/t/SP7I/tf8AtSz/ALMz/wAfn2hPJzu2ff6f e4zQBrUVyevfEHwt4dW1OpaxFH9si82Dy43m3oej/ID8vFami6/pniCwS90y8iubd/44nzt6fK39 1ufu0AbFFFYOu+KNE8MW32rWdRhtFYfIJD874/uIPmb73agDeorldJ8e+GNa0u41Gz1u3+yWrIs8 s2YRDu+7uL4rqqACiuIl+KfgmK/GnnxFatPuVN6qzRfNzzKBsH13dq6OXWNOttOGpS39tFYFEcXM kqpCUb7vzH/PNAGpRVS3uILy3S5t5klhlTcjo25HWqyavYSapLpkWoWz6hEu+S1SVTMi+pTt95fz oA1KK5fxF408PeFtv9s6rFbSS42w8vJg5+fYvz7fkPzVa0LxRonie2+1aNqMN2qj5xGfnTP99D8y /d70Ab1FZLa3pkNxdWr6pZLPaRedcRtcJviQdWdc/KvI596ztM8b+HNY0SfWbPVoTpsM3ky3U+YU R/k4Jfb/AH15/CgDp6K5PXviD4W8OranUtYij+2RebB5cbzb0PR/kB+XitTRdf0zxBYJe6ZeRXNu /wDHE+dvT5W/utz92gDYorlL/wAeeFrDTm1CbXbEwBtu+GbzdzYX7qpkvjcvTpmpNO8aeHNT0iXV LTWrNrOH/WyPLsMOW2pv34KZ/wBqgDp6K4/RviR4S8TagNO0nWVnu2UssTQSR7/++0FdLcXEFnbv c3EyRQxJud3baiLQBboriIvin4Jlvzp48RWqz7mTeyssXy88SkbD9d3eupv76z020ku765ht7dB8 0sz7FX/gRoAvUVyevfEHwt4dW1OpaxFH9si82Dy43m3oej/ID8vFaGn+JdF1XSm1Sy1S2mslXe8o kAWIbN3z/wBzjn5qANyivJ9G+IDX3xi1XR216zm0BrVBp6q8OySb9z8qSfxPln+XNesUAFFFcT8Q 9E8Pa9oUFn4m1T+zbJLpZEmNwkW9wj4Te/HTfQB21FZt1qthYz29vd39vbzXL7LdJplR5W/2Afvd RXN3nxP8H2OrNo91rcUd8knkyIYpNqN7vs2UAdtRXJeLfFOnaN4Qvb+LWLKC5nsJptOdpk/fPsym zP3+SnrVH4XeKpfE3gqzub/U4bvVV3/awmzemZH2b0T7mUUUAd3RXL+IvGnh7wtt/tnVYraSXG2H l5MHPz7F+fb8h+arWheKNE8T232rRtRhu1UfOIz86Z/vofmX7vegDeorJbW9MhuLq1fVLJZ7SLzr iNrhN8SDqzrn5V5HPvWdpnjfw5rGiT6zZ6tCdNhm8mW6nzCiP8nBL7f768/hQB09Fcnr3xB8LeHV tTqWsRR/bIvNg8uN5t6Ho/yA/LxWpouv6Z4gsEvdMvIrm3f+OJ87enyt/dbn7tAGxRXN654u8O+G Yi2r6tbWjhd/ku+6Z0+6Ds++aj8O+NPD3ind/Y2qxXMkWd0PKSYGPn2N8+35x81AHUUV4/qnxHji +L2jWFr4lsD4Zms2e6ZJYmi87E3WX+E8J/F/Oup8WaF4e1fxD4au9Y1X7HeWN35mnwm4jj+0vvT5 djjLfdQfL/eoA7eiqlxcQWdu9zcTJFDEm53dtqItcnF8U/BMt+dPHiK1Wfcyb2Vli+XniUjYfru7 0AdvRVG/vrPTbSS7vrmG3t0HzSzPsVf+BGsHXviD4W8OranUtYij+2RebB5cbzb0PR/kB+XigDrK Kx9F1/TPEFgl7pl5Fc27/wAcT529Plb+63P3ap654u8O+GYi2r6tbWjhd/ku+6Z0+6Ds++aAOkor l/DvjTw94p3f2NqsVzJFndDykmBj59jfPt+cfNXD+IP+Tn/Cn/YLf/0C6oA9gooqpcXEFnbvc3Ey RQxJud3baiLQBboriIvin4Jlvzp48RWqz7mTeyssXy88SkbD9d3eupv76z020ku765ht7dB80sz7 FX/gRoAvUVzN/wCM/D+n3mnWU2pwtc6oU+xqh3+aJPuONo+5/tdKb4i8aeHvC23+2dVitpJcbYeX kwc/PsX59vyH5qAOoorndM8W6BrOlQahZ6vbNb3U32aFpJPL3zEcRhXx8/8As1qX99Z6baSXd9cw 29ug+aWZ9ir/AMCNAF6iuIi+KfgmW/OnjxFarPuZN7KyxfLzxKRsP13d66m/vrPTbSS7vrmG3t0H zSzPsVf+BGgC9RXJ698QfC3h1bU6lrEUf2yLzYPLjebeh6P8gPy8VqaLr+meILBL3TLyK5t3/jif O3p8rf3W5+7QBsUVxHhPQvD2keIfEt3o+q/bLy+u/M1CEXEcn2Z97/LsQZX7zj5v7tav/CeeEv8A oatD/wDBhD/8XQB0VFY2neI9C1aZrbTdZsL6ZV3sltcpI4X1+Q1U1zxd4d8MxFtX1a2tHC7/ACXf dM6fdB2ffNAHSUVy/h3xp4e8U7v7G1WK5kizuh5STAx8+xvn2/OPmrjvHnxBGk+L/CthpHiGyS2e /aHVo0kifYm+P7+fufx+lAHrNFcJ470rwv4s8MWq69rcdppjzpPBdR3KRq7bH24d/l5Via7ugAor iJfin4Jivxp58RWrT7lTeqs0Xzc8ygbB9d3auo+32X9n/wBo/a7f7H5PnfaPM+TZ13b8/doAv0Vy urePfDGi6Xb6jea3b/ZLpnWCWHMwm2/e2lM1c0LxRonie2+1aNqMN2qj5xGfnTP99D8y/d70Ab1F FFABRXiHxs1HT9T1nwv4budVt0s2v/8AiZIsyb7cfIEds/c+R5DXqXhS00aw8PWtr4eeB9Kj3iAw Tean3zvw/f5t1AG7RXE6r8TfCOi6i+n6jrMKXUfDpEjzbe21tinDdflrootY065046lFf20tgEdz cxyq8IRfvfMP88UAalFcrq3j3wxoul2+o3mt2/2S6Z1glhzMJtv3tpTNbl/fWem2kl3fXMNvboPm lmfYq/8AAjQBeoridK+JvhHWtRTT9O1mF7qThElR4d3bau9Rluny0fEPRPD2vaFBZ+JtU/s2yS6W RJjcJFvcI+E3vx030AdtRVG/vrPTbSS7vrmG3t0HzSzPsVf+BGud0b4keEvE2oDTtJ1lZ7tlLLE0 Eke//vtBQB2FFZcWsadc6cdSiv7aWwCO5uY5VeEIv3vmH+eKydW8e+GNF0u31G81u3+yXTOsEsOZ hNt+9tKZoA6qisHQvFGieJ7b7Vo2ow3aqPnEZ+dM/wB9D8y/d71vUAFFY+ta/pnh+we91O8itrdP 45Xxu6/Kv95uPu1n+HfGnh7xTu/sbVYrmSLO6HlJMDHz7G+fb84+agDqKKo399Z6baSXd9cw29ug +aWZ9ir/AMCNcvpXxN8I61qKafp2swvdScIkqPDu7bV3qMt0+WgDtqKzdT1XTdJgSfUtRtrKFm2q 9zKsa7vq1YOs/Ejwl4Z1A6dq2srBdqoZolgkk2f98IaAOworEk8SaJBpsOqPrNgmnzNsS5a4QQu/ oH6fwtXEfB3xre+KdBuxrOrQ3OrR3L7YAESTydkfzbE/h3ufnxQB6lRXNX3jXw3p+iSavPrdm9hH L5Jngl84F8Z2fJ/FV5df0z+xodYkv4INOmiSZLmdvJTY/wBz73TNAGvRXERfFPwTLfnTx4itVn3M m9lZYvl54lI2H67u9V/jV/ySPXP+2P8A6PjoA7+iud8B/wDJPvDf/YLtf/RKUePP+SfeJP8AsF3X /ol6AOiorxv4e+M/D/hP4T6Cms6rDbySedsiHzuB503z7EG/Z8p+avTNF1/TPEFgl7pl5Fc27/xx Pnb0+Vv7rc/doA2KKxNZ8SaR4eiE2q6lbWi7HdVlk2PJs+9tX+Lt09ay/D/xC8K+Jbr7LpWsQTXP OImV4Xf/AHFcDd93tQB19FZt1qthYz29vd39vbzXL7LdJplR5W/2AfvdRXN3nxP8H2OrNo91rcUd 8knkyIYpNqN7vs2UAdtRXLeMLiG7+G/iC6tpklhl0m5dJEbcrr5LdDWT8Ff+SR6H/wBtv/R8lAHf 0VlaZruk6wJf7M1eyv8Ay/v/AGW4SXZ9dtatABRWPrWv6Z4fsHvdTvIra3T+OV8buvyr/ebj7tZH h/4heFfEt19l0rWIJrnnETK8Lv8A7iuBu+72oA6+ivEPjZqOn6nrPhfw3c6rbpZtf/8AEyRZk324 +QI7Z+58jyGvUvClpo1h4etbXw88D6VHvEBgm81Pvnfh+/zbqAN2iuZ8aaZpWr+Fb2x16/Njpc2z zbgSpFsw6lPnfgfPiremLp2k+F7Nba9R9Ns7NBHdPIuzyUTG/f8AdxtGc0AbdFcRF8U/BMt+dPHi K1Wfcyb2Vli+XniUjYfru7129ABRXES/FPwTFfjTz4itWn3Km9VZovm55lA2D67u1dR9vsv7P/tH 7Xb/AGPyfO+0eZ8mzru35+7QBfoqjYX1nqVpHd2NzDcW7j5ZYX3q3/AhUKavYSapLpkWoWz6hEu+ S1SVTMi+pTt95fzoA1KKx9a1/TPD9g97qd5FbW6fxyvjd1+Vf7zcfdrI8P8AxC8K+Jbr7LpWsQTX POImV4Xf/cVwN33e1AHX0UUUAFFcv4y1yLQfCep3pvobO5S2m+yySuvzTbHKKof775H3K88+BWme G4tEt9StrmFvENxFN9qiFwN8UIm4+TPC/InP+1QB7XRXL+IvGnh7wtt/tnVYraSXG2Hl5MHPz7F+ fb8h+arWheKNE8T232rRtRhu1UfOIz86Z/vofmX7vegDeorJbW9MhuLq1fVLJZ7SLzriNrhN8SDq zrn5V5HPvVfw54m0bxTp73+jXhubeOXyWk8t0+fr/GB/eFAG9RXE6r8TfCOi6i+n6jrMKXUfDpEj zbe21tinDdflrW1CTSdf8KXo/tKF9Ju7aaKa+ilTYqFWR33/AHeOaAOgormfBemaVpHhWysdBvzf aXDv8q4MqS78uxf504Pz5rP1X4m+EdF1F9P1HWYUuo+HSJHm29trbFOG6/LQB21FZcer6fPNFbwa jayyywC5RI50Znh/v47p0+amtremQ3F1avqlks9pF51xG1wm+JB1Z1z8q8jn3oA1qK4nSvib4R1r UU0/TtZhe6k4RJUeHd22rvUZbp8tdtQAUV5/8T/Fv/CN+Er9tO1W2tNcCwyW0TMjSsnmqpOx+o+/ Wx4N1yLXvCemXovoby5e2h+1SROvyzbELqwT7j5P3KAOoorjtY+I3hDQJRa3+v2qXALo0cW6Z1de Dv2Btn/Aq2dF1/TPEFgl7pl5Fc27/wAcT529Plb+63P3aANiisrTNd0nWBL/AGZq9lf+X9/7LcJL s+u2lfV7CPVItMl1C2TUJV3x2ryqJnX1Cd/ut+VAGpRRRQAUVyHiD4heFfDV19l1XWIIbnjMSq8z p/vqgO373etfRdf0zxBYJe6ZeRXNu/8AHE+dvT5W/utz92gDYorIg17Sb7UJbG11SyuLyEN5tvFc I8i7eDuTORUt1qthYz29vd39vbzXL7LdJplR5W/2AfvdRQBpUVj61r+meH7B73U7yK2t0/jlfG7r 8q/3m4+7WR4f+IXhXxLdfZdK1iCa55xEyvC7/wC4rgbvu9qAOvorNutVsLGe3t7u/t7ea5fZbpNM qPK3+wD97qK5z/hZ3gv+1f7N/wCEjtPP/vb/ANzjZu/133P/AB/2oA7WiuQ8QfELwr4auvsuq6xB Dc8ZiVXmdP8AfVAdv3u9bNnrmm3uiLq8F7C2nPD5v2gvsQL75+7QBrUVymtePPDPh6G2m1DW7REu USSHa3ms6P8AdcIn8HH3ulaei6/pniCwS90y8iubd/44nzt6fK391ufu0AbFFeP6p8R44vi9o1ha +JbA+GZrNnumSWJovOxN1l/hPCfxfzr2CgAooriJfin4Jivxp58RWrT7lTeqs0Xzc8ygbB9d3agD t6Kofb7L+z/7R+12/wBj8nzvtHmfJs67t+fu1iat498MaLpdvqN5rdv9kumdYJYczCbb97aUzQB1 VFYOu+KNE8MW32rWdRhtFYfIJD874/uIPmb73aqek+PfDGtaXcajZ63b/ZLVkWeWbMIh3fd3F8UA dVRVS4uILO3e5uJkihiTc7u21EWuTl+KfgmK/GnnxFatPuVN6qzRfNzzKBsH13dqAO3oqh9vsv7P /tH7Xb/Y/J877R5nybOu7fn7tYmrePfDGi6Xb6jea3b/AGS6Z1glhzMJtv3tpTNAHVUVg6F4o0Tx PbfatG1GG7VR84jPzpn++h+Zfu96xtO0Pw/bfFDVdattU8zXbq1WO5sBcIfKjxH8+z74+4n/AH37 0AdvRXOzeMPC8E0lvdeI9Jhliba8cl6iOre+Wqay8V+HtTu1tbLX9LuJ3+5FBeRu7f8AAQaANyis TWfEmkeHohNqupW1oux3VZZNjybPvbV/i7dPWsvw/wDELwr4luvsulaxBNc84iZXhd/9xXA3fd7U AdfRXlXxe8dTeG9Ejj0HXLW31lL1EniXypJUhKO33H/4BWx43svCnjDwtaHV9egt9J+1b4byC7hR ZHCOmwO2UP8AH/3xQB3tFFcRL8U/BMV+NPPiK1afcqb1Vmi+bnmUDYPru7UAdvRVD7fZf2f/AGj9 rt/sfk+d9o8z5NnXdvz92sTVvHvhjRdLt9RvNbt/sl0zrBLDmYTbfvbSmaAOqorB0LxRonie2+1a NqMN2qj5xGfnTP8AfQ/Mv3e9b1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AVxvxD8Snwr4Jv8AVYpES8VfKtg7rnzXyOM5DbeX299ldlXifxZSfxN498MeBo42+yTMt5csjrvZ cuuRu7qiSH/gVAFD4e+L/AGi/DgaBq2qqZrxJW1BFhuMOX+TbnZ/c2J8npWl8BdbSTT9W8OtPHIb GfzrZhK3zxP3RG+bbuXf/wBtucV6P/wgfhL/AKFXQ/8AwXw//EV5lqdjD4B+OmhXljB9n0vXIfsT wW6IED/c2on8Cb/Jb/vvr0oA9vrxP4s6Vpv/AAsHwIxsLUvf6nsumMK/6Qu+BcP/AH+D+Ve2V5D8 Xf8AkoPw0/7Ch/8AR1tQAnxYjt7bSPDngnTUj06HW9SSHEFsgiSLeu/5B/tuj12H/CuPCH2P7F/w jWmeT5PleZ9lXft6ff8Av7u+78a5r4xeHtS1HSNN13Q1dtU0S686GKKPex3unKJtO5t6of8Avqkt fjn4Rl0ZLu6vJLe88ne9j5Mjvv7oH2bD9ff+GgDzyKWXTvhF8QvCjyvcJo2pRJHM7feRrkJjZ/Bz Ezf8D/P0v4aeCdEsvC2i6te2UF9qtxbw3H2y5Xe6fLvj2b87dibF+T+4K4K70HULT4OeMvEOsWzW ep67exTzW7xtH5SC5H8DfMvzO/r8uz3r2jwH/wAk+8N/9gu1/wDRKUAeLav4k8O6z8YNRn8X6iya PozGC0s5oWdWmX5H+RFfKb0Zvm5+52ytN+IGufDXUdAFz4VuLe01y0lWe1awsnt95DJu3fIOnLj/ AHK6K7vZvhj8T9R1m+tpI/C2vum6WL5vJm6l3/i+/wCYdg/gfj7mytTXPjJZXf2fTvAqjWNbupNk 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 o7aJY13fRa0qKAMn+wNI/tf+1/7Ls/7Tz/x+fZ087O3Z9/r93jFJPoOk32oRX11pdlcXkIXyriW3 R5F28ja+MiteigAooooAKKKKAMrU9C0nWBF/aekWV/5f3PtVukuz6bq1aKKACiiigCpcW8F5bvbX EKSwyptdHXcjrUGmaVp2kwPBpunW1lCzbmjtoljXd9FrSooAKKKKACud8ZQy3HgfxBbwRNLLNp1z HGiruZ3MbDFdFRQB5v8ADXw9b3Hwp0bS/EGjo7wPM5tdQtvuP5z4+R/96u9t7eCzt0treFIoYk2o iLtRFq3RQBm6npWnatAkGpadbXsKtuWO5iWRd30atKiqNhfWepWkd3Y3MNxbuPllhferf8CFAF6s n+wNI/tf+1/7Ls/7Tz/x+fZ087O3Z9/r93jFa1ZumarpurQPPpuo217CrbWe2lWRd31WgDSooooA 8v8AEt74j0vxRex6p4ck8ReELxU2RW1sk80DhO6Y+b5kP3vVMP8AwVzur6fqPxDfTPDml+ErzQfD VpdJcXc15brZvFnfxCg+sn975nGdte5UUAFZWmaFpOjiX+zNIsrDzPv/AGW3SLf9dtatFAGRBoOk 2OoS31rpdlb3kwbzbiK3RJG3cnc+MmteiigAooooAKKKKAM3U9K07VoEg1LTra9hVtyx3MSyLu+j U2XR9OudOGmy2FtLYBFQW0kSvCEX7o2n/PFalFAGXFo+nW2nHTYrC2isCjIbaOJUhKN94bR/nmpr Cxs9NtI7Sxtobe3QfLFCmxV/4CKvUUAFZP8AYGkf2v8A2v8A2XZ/2nn/AI/Ps6ednbs+/wBfu8Yr WooAKKKzdT1XTdJgSfUtRtrKFm2q9zKsa7vq1AGlXMX9hqF94o0idTbx6ZYvJcOPmeaWby3hVR/C qbJGb649zXT0UAFFFFABRRRQAUVm3Wq2FjPb293f29vNcvst0mmVHlb/AGAfvdRWlQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR 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 AKBdV7BQBxPi3/hDv7d8M/8ACSf8hT7T/wASn/Xf67dH/c4+9s+/xWj4p8X6L4OsFu9WufK37hFC i7pJW/2V/wA9a4b4u/8AJQfhp/2FD/6Otqb48s9c0b4j6R4zsPD8mt28Nn9lMEO8ywv8/wA2EHff j+Pv0+SgDZ8OfGHwv4m1BdNhe7tLmVlSJLtAvnOeysjNXo9eP2Hj34e/ELxFpguoLqLUdPmEmm/b AYsyZB+TY5Tqiffr2CgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryr47aXqGq+C7K202wur2ddRR2it oHkfbskzwv1Feq0UAcV8SfC3/CXeBr7T4kD3cR+0Wgx/y1T2/wBr5l/4FmuK0r4r3Hh+2tfD3i7Q daOuRYtV+zw+abr+BHG9/nZvUbtx5r2qigDxfSfC+uX2keO/Fet6fLDrOs2U8VpZ43vHAYfkTCdW +4nKb/3f+3XXfCOzu9N+Gek2d9by29zH5++GZNjp++f+Gu6ooA8m8eaNruieMrLx34b04X0kUQtr 6xt0ffcpz85C/f42f7uxPvY+Wlc/F268UaXNZ+BtC1e41WRlhE01snlW+/Pzt87f+PfLx7V7NRQB 438XtH17U/hlotkbW41TVYrmE3Rs4Wfc3kvvbCL93efbtV34k6Pq9r4k0HxvoVg93eaa5huYovml khbjaqY/25OnzfvP++fV64bxxpniy5k0/UvCuorBc6c0jvZzPthu14+Ruf8AYxz/AH/vJQBw/iD4 sReKfCOs2XhfQdSuZDbSLcz3ESLDbQ+W+9iyv97Yjbf6/drS8Ewy3P7NjwQRNLLPpt/GkaLuZ3Lz YFWdfm+IvijSZtFh8J2+jJeBopryfUkmVIdvzJtQfxfdz7/8DHc+FtBtvDPhnT9GtmDLaRbC/wDf fq7Y/wB7JoAwvhHZ3em/DPSbO+t5be5j8/fDMmx0/fP/AA1h6HpmowftBeJNTewulsZ9OSOO6aFv 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 Wnw/0jUYJZbjZNqV3br5Vvxu7b0/P/2avZqKACvOPit4PvPFGg2txo5ZNa02cTWZR9j8nDAPuAX+ B93+wPWvR6KAPHLD4zjaunXvhbW/+EpWL59Pht8b327uh+dVIw33Dgf3qf4e8I6tpPwz8X3GrQNL 4k1mG6luUjIZi5R9iAJ8mcuzfL/f9q9gooA4X4R2d3pvwz0mzvreW3uY/P3wzJsdP3z/AMNd1RRQ B478aGmsfEPgvXGtbiWw0q7ee7kij3eWm+H/AANJ8XkvfF3ww0a70XTb28+03MN4sMMJkkSN4X+8 qZ/vivY6KACvIPgzo+saf8OdWspobnSNRmvZfJe5tsPHmGPa+xx83Pb2r1+igDwPwX45t/h3otl4 T1zwzqltrKzOTHa26Mbve+Ef767z/B/F9zr2rO8QeLb/AEv4vaN4u8RaLe6fp0dvIlrCERpnh2Pj d83390nzIfufz+jaKAPDviLqT+FfjHoHiy90+9fS7XTzDJPFBkCRvPGzd9zd8+cZr3GiigDyn4na Xe6h43+H9zaWN1cw22pb7h4YmdIU8yDl/wC50P5VL4r8S+J/CPjcX8treal4SmtneRLS0V5LRkTn LfgHy5xh3/uV6jRQB8/eL9cPxhs9K0zw34dv3K3zB9Tu4Vjih+T5k3oX9Qx5/gXhq+gaKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiuQ8Y+NLPwjZWkkltNeXt3N5NpaW+N8z/n93lfX7y0AdfXK+MvG Nj4H0mHUdShupoJZhCotlVnDbGf+Jh/crhrzx9458NBtU8TeDYYdB8/bus7pGmhDP/Ed7b+uOiZb HK1B8e9Qt9S+F+kX1m++3uNQhmicfxK8MxoA9qorm/GPiqz8H+G7jV7sCTYNsMO/a0r/AN3NcJL4 v+K5Zr6LwNb/ANmbVmNu8m642fxL9/O/r/B/wHtQB6H4o8QWfhXw/c63fRyPbWxTesS/N87hP/Zq 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 TAqbN77dh34Dlv8AgNV/ir4on8LeAbrULG6+z30k0cFs+0N8+/Lf+OK9AHd0VkaD/aP/AAj+m/2r n+0vs0X2vO3/AF235/u8fezWvQAUUUUAFFFec/EbxbqWgjRtJ0TyE1bWbr7NBLcLvSAcJuz/AH97 p2b+OgD0aisbQrDVNP03ydV1l9Wu9xZrlrZIeP7uxOlbNABRRRQAUUUUAFFFFABRRRQAUUUUAFFF cJ8VfFE/hbwDdahY3X2e+kmjgtn2hvn35b/xxXoA7uisjQf7R/4R/Tf7Vz/aX2aL7Xnb/rtvz/d4 +9mtegAoorm/GniX/hEvCV7rYtPtX2by/wBzv2bt7qn3ucfeoA6SiszSryW/0mzvbm3e1muIUle3 c/NEzL9ytOgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPl79or/koVh/2C0/8AR01af+kf Bb4q9/8AhG9V/wCum2KHf/49JF/wP5G/26zP2iv+ShWH/YLT/wBHTV7N8S/CEHjHwnd2qQo2pW6G ayfnej/3Pbfjb/8As0AeN+Mv+Tnbf/sKad/6BDWj8Q/EWsePvHkvgbRLkx2AkELRu3lrLMhZndzs 37E5G3n7gevOvB91Nd/EPw280ryuNTs03M2flR0Rf04rt76WDwD+0LJfakZhp8lzLc+cYT92ZG5A /iVXbH/AKAI/Fnwp1f4daaniTStekl+zNsmmhQ20kIf5Ny4c/wB/b+Nd7DaD41/CnTYpNTFpd21z /pcnk790yIydMp9/ej/jim/GDxx4cufAF3pVjq1rf3V8yLGLOdJtmx1cs+0/L0rS+Bmj3Wk/DqJ7 tRH9vunu4k/i2FFTv/ubvyoA8n+DngkeKtfOrDUBbf2Hc21yEMO/zvnZ8Z3fJ/q/1rV8ceJrjxt8 S7jwrPrg0bQrad7Z3mOxCyDLM43/AD/Oh2f8Aqz+z7rWnaZqGsWN5fQQXF6bb7Ms0gTzcF/lT1b5 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 wlH8MviP4QOg6pd+TqtyLadZtrHZ5kYbp/A27/x2ui+MIbWvEPg3wqszSQ3t5vuoIdvmonypvxj5 fkeX2/75qS4xrP7TVsLb5f7F0z/Sd/R9yP8Ad/8AAhPT+Kq9rL/wkX7Ss0qXMTQaFYOieV82/wCX Y6N/tB5n/wC+KANLw5q2oj48+J9F+3Xc2mx2KXEdvPMzrG/7n7ob7v32pfEWrX3iP4l6d4K0m9mt raxCX2qXVvNJDIEHSHKuuVfenK5++n9w1zPj7xIvw/8Ai6+r2Nskk17ohWctuffLl/LY/PxzFEP9 zd3rufhZ4bl8NeExcaj5h1rVHF7eyTf6ws/3Fckb+Ofvfxs/rQB6HXh3x104arf+G7CDUL0Xmp3S 20Vu0+bNMcb2T+/mZPm/u17jXj+pxp4j/aI0y1Fyk1toOn/aJrebdsSY5I2D+/8APC+f9j1WgDZ1 y9l+GHg0C1n1bXr+9vPItDfzmZ/OdPkXjHyfJ933rFk+C9triQ3vizX9W1DVyh+0SQzL5SdW2Rh0 +VPm/wANvSm/GCWG18cfDm4uJUihh1F5HkdtqogkgJz+Ar0bxN4m03wpos2p6nLtiXIRF+/K3PyL z97igDifhNrWr3V/4p8P6nqD36aJe+RDczE+a/zyD5if9yvU68v+D+nTx6NqPiTUYIo9Q8QXbXkg Quv7rJ2fK/QfO7D/AGXWvUKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDktf8A+F/FWoJf63pv2 q6SLykcTyp8nphGH9411tFFAHHy/DnwrJ4gGvyaOp1MTJc+ak8i/vUOQ2zfsq94j8J6L4st4Ytas Fu1ibfCd7xsh/wB5DXRUUAeYaR8D/B+lSNK9vc38gZXjF7NuRCv+ygQN6fNXp9FFAHm0Pwg8KW/i 2PxDBHdRvDMJktVbbAkgPXbt3Y3fN97H/AeK2vFXgDw/4w2vqlgWuY4miiuUkKyJ9P7/APwLNdfR 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 3w+94YeV/izsG78fegCT4Q6vf+Ip/E+uXGoXNxp1zqBjsbe5mZnt1BZ8bfuJ8kifdP8ADXfz69pN jqEVjdapZW95MF8q3luESRt3A2pnJrxK2vLvwb8HdE0nRkktvEHiaY+Rsm+f53++GPyL+7MKfw/e 3fwmuzj+CnhWTTduoxXV/qM6N52pSXUnnPK55fG7Znn36c7qAKWsavqGr/HbSPD9jqeoRWGnwCe/ htHdFL/M/wA+PvJ/ql/4HXaXfhzUbjxzY6+mvXcFhbQeVJpKl/JnfD4c/Pj+Nf4f4K8t+C2kXaeP fEst/dq9zpMMelOFX5H2HYhH+6LatH4Z3kE+t+PvG1w3naYbp/Kv5BvcQJvdlGfnCbPJ+X/cH8NA HsFxcQWdu9zcTJFDEm53dtqItVdM13SdYEv9mavZX/l/f+y3CS7Prtrxj4ZeBU8Y6Jea74qkubuz 1C8kuIbLznSF5f47jaj/AH870qTTfDll4X/aD0+x8OCaOxNhJJexJKzrDlH+Rz125ELfP/fT/YoA 94rK0zXdJ1gS/wBmavZX/l/f+y3CS7Prtry2/EvxM+I+paG93dDwvoQCXkMMxRLubf8A6thww+ZC P4v9V8u3fWR8Vfh1oPhXwoutaABpdzFN5Lxm8f8A0iN1KOib85brxx8gegD36iuW8B6WujeBNDsh byW7JZo80T7t6Sv879f9tnrqaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo 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 bT3a402XVkjuLyJflLhtmyJ/uNhJCe/3k96msPiL4J8QwInj3S7e01yyk2XBn01m4R2wi/ffjjer 4+89X/BlhqHijxxaeKV0ltG8OabA8Wi2hjMQfzOrlMbfmRz8yf8ATPl9jUAeg+IvGXh/wgbYa9qB tPtO/wAk+S8m/Zjd9xT/AHhXTVm3WlWF9Pb3F3YW1xNbPvgeaFXeJv8AYJ+70FaVABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFfP HjnVtTuvGV34us5Z59N8I31vZmNN0KNk/vjv/v79qOET7jJ2r3mwv7bVLC2vrRt9vcRJLE/95X5H 9KAL1FFY2o+I9C0mZbbUtZsLGZl3qlzcpG5X1+c0AbNFcRF8U/BMt+dPHiK1Wfcyb2Vli+XniUjY fru7129ABRXB3fxb8CafM9rP4jgkkTqYInlX8HRdprrrC+s9StI7uxuYbi3cfLLC+9W/4EKAL1Fc jqHxC8K6VYw31xr1o9tNMYVe1bz9zgZP+r3H/wDaWnaj8QfC2naLZardazHHZXv/AB7yLG7bv+Aq N1AHWUVx+jfEjwl4m1AadpOsrPdspZYmgkj3/wDfaCuluLiCzt3ubiZIoYk3O7ttRFoAt0VwX/C2 /A/237H/AMJFD53m+Xu2Ps3Z/v7Nm3/azXUy6xp1tpw1KW/torAoji5klVISjfd+Y/55oA1KK43V fiN4P0WK3e+1+22XCl4Xg3zh1+71TdW1ouv6Z4gsEvdMvIrm3f8AjifO3p8rf3W5+7QBsUUVj61r +meH7B73U7yK2t0/jlfG7r8q/wB5uPu0AbFFcHafFvwJqEyWsHiOCOR+hnieJfxd12iuuv76z020 ku765ht7dB80sz7FX/gRoAvUVwdp8W/AmoTJaweI4I5H6GeJ4l/F3XaKxPjR4uuPDvhuK10fV47P UridY3jjkUTCFkfL/wB9PmA+f1oA9Xorg9AvrDxL8LYEvdYWeCbSUg1C5FwrNC5h/e73Odr/ADc7 qTwRZeFPB/ha7Oka9BcaT9q3zXk93C6xuURNhdcIP4P++6AO9orjdV+I3g/RYrd77X7bZcKXheDf OHX7vVN1bWi6/pniCwS90y8iubd/44nzt6fK391ufu0AbFFch4g+IXhXw1dfZdV1iCG54zEqvM6f 76oDt+93qfSvGvhvVLe1ns9ctHiu5fIg3zbGkfj5ArkPu+dP++loA6iiiqlxcQWdu9zcTJFDEm53 dtqItAFuiuAm+MPgK2lkhk19N6NtbZbTOv4MqYrq4tY065046lFf20tgEdzcxyq8IRfvfMP88UAa lFef/wDC7Ph7/wBDB/5Jz/8AxFdrb3EF5bpc28ySwypuR0bcjrQBboorl/EXjTw94W2/2zqsVtJL jbDy8mDn59i/Pt+Q/NQB1FFch4f+IXhXxLdfZdK1iCa55xEyvC7/AO4rgbvu9q2J9e0mx1CKxutU sre8mC+Vby3CJI27gbUzk0Aa9FcRF8U/BMt+dPHiK1Wfcyb2Vli+XniUjYfru7129ABRWRrlrZXW gana30gt7Oa2ljnm3bdiMvzNuP1rm/AmleF/Cfhi6XQdbju9MSd557qS5SRUbYm7Lp8vCqDQB3dF cjqHxC8K6VYw31xr1o9tNMYVe1bz9zgZP+r3H/8AaWrek+LdA13S5tQ0/WbWe1hj3zOH2eSvPLq3 3B8rff8ASgDo6K8M8FeObnVfjHrEGpeI0k0zbNb6dGZ0WF/9ITytg+677T7vXreta/pnh+we91O8 itrdP45Xxu6/Kv8Aebj7tAGxRXE6V8TfCOtaimn6drML3UnCJKjw7u21d6jLdPlrpLrVbCxnt7e7 v7e3muX2W6TTKjyt/sA/e6igDSorktI+IHhbWtbk0nT9ahurxQ2I0RsPt67Wxsb1+Wi++Ing6wt5 LmbxPpbIo+7DcrM//fCZY0AdbRXI6Z8QfCmr209xa65Z+XD/AK4zP5JUfL8+H2nb86/NVTS/ip4L 1fUIdO07XFlup22QxvBMm9v95kxQB3NFY+ta/pnh+we91O8itrdP45Xxu6/Kv95uPu1g6V8TfCOt aimn6drML3UnCJKjw7u21d6jLdPloA7aiqN/fWem2kl3fXMNvboPmlmfYq/8CNcppfxU8F6vqEOn adriy3U7bIY3gmTe3+8yYoA7mivIP2df+Se6h/2FJP8A0TDW58NfDHhLw62pDwvrn9qfaPJ+0f6X FPs27tn3Bx/F/kUAeh0VyHiD4heFfDV19l1XWIIbnjMSq8zp/vqgO373ep/DvjTw94p3f2NqsVzJ FndDykmBj59jfPt+cfNQB1FFcvqvjXw3pdvdT3muWiRWkvkT7Jt7Rvz8hVCX3fI//fLUaV418N6p b2s9nrlo8V3L5EG+bY0j8fIFch93zp/30tAHUUVUuLiCzt3ubiZIoYk3O7ttRFqDTNV03VoHn03U ba9hVtrPbSrIu76rQBpUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRXGfFHThqvw116387yQlt9o3bd2fJ/e4/HZQB2dFee/BzWTrPwz0z fKJp7PfZy/Lt2bD8i/8AfBSvLPivY3fiz4l6zbWohgbw/o3nTPK/+ujT98dmF4f970/2TzQB9K0V x/w51ibX/h/ouoXW8ztb+TI7uXd3Rthcseu7Zu/GuN0//ipP2i9SuziS30Gw8mGa2yU3sMbXbs37 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 uX2/f/uffb7/AF/dpx/HXrFFABRRRQAUUUUAFFFch4m8eaX4Y1S30p7XUL7VbiPzIrOwt/NmdPm+ YD/gDUAdfRVK2keW3R5IZIndNzRPt3J/s/LV2gAooooAKKKKACiiigAoork/CfjjTvGX2+TTIrr7 NaTCEXMse1Jj/sHP09/mWgDrKKK5PWvGunaN4o03w68F5c6jqPKJBFv8tN2N7f7H3/8Avg0AdZRX KXfjSwsfG9h4Sktrk6hfQedE6ovlbBvPPz5/gbtWza6rYX09xb2l/b3E1s+y4SGZXeJv9sD7vQ0A aVFcpd+NLCx8b2HhKS2uTqF9B50Tqi+VsG88/Pn+Bu1dXQAUUUUAFFFFABRRRQAUVylp40sL7xvf +Eo7a5GoWMHnSuyL5Ww7Dx8+f417V1dABRRRQAVheItR1nTbBJtF0P8Ate4aTa8P2pLfanPzbn/C t2igDy74deE9W0/VNX8U+JVVNd1STYYUYv8AZ4d/3Mhjx9zHXYqL9K9RoooAKKKKACiiigAoorLT V7CTVJdMi1C2fUIl3yWqSqZkX1KdvvL+dAGpRXKeIvGll4a1fQ9MvLe5efWJ/ItnhRSiPuRPn+b/ AKaD1rq6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAyJ9B0m+1CK+utLsri8hC+VcS26PIu3kbXxkVr0UUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF 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 QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAeMaH8Ldc0v4uzeL5rrTmsZL26nEUcj+aFm3heNmP4/XtXoXjHwrZeMPDdxpF2RHv+aKbZuaJ/ 72K6WigDxn4XfCrXfA3ia61PU7rTpYZrNoFW1d2bdvR/40H9w1lan8KfFXhfxBca38PrzYuzbFbS yfvcN95PnGx0/i+f/wBCFe90UAeCaZ8KfFXijxBb638QbzeuzbLbRSfvcL91PkGxE/i+T/0I16n4 88OzeLPBWpaJbzJFPcqm13+7uV1f/wBlxXUUUAeNfCrwr400SO80vxLbonh7yHRLKZoZvMZyM/d3 fJ9/5f8Ab71gy/DTx94D1O6uPAupJPbXDbVhLp5pXtvV/kO3+97+9fQdFAHivhf4X65ceLYvFvja 7iuNRQQzrBbDH71OE8zamz5QijCf/t7Hxc+HurePf7GOmz2kH2LzvM+0O6537Om1G/uV6lRQBjeG 9Ol0nwxpGm3DI01lZwwM6fdLIgQ4/KtmiigDxm08F+NPANzqU/gmexvtLuiZE0m8V12Pv/hy/wDC mPn3/PjofkqSfSfil43smsNYudL8O2EoeG7jt08yWZCPZn+X+H76dWzmvYqKAOQl8B6W3w8l8G25 kSyMRjR2bc6vv3h/++/mrjtHtfi3oFvYaHBa+G7qzghCJfztJtjRR8iNgq3HT7lewUUAcR4P8GN4 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 z5a8cAfPtH3fl2ehUUAcR4P8GN4ba41TVLgah4hvzuu79x1/2E/uJ+XTt8qLS+GngvUvBJ1mwlur eXS5bnzrGNH3un/XT5F+faEr0SigDxKx8MfED4cvd2HhC1sNa0a5m86Nbpgk0PGBu+dOfz+5/BXS eFPBWrxeLL3xb4uvLe91eVfs9tDbD9zaxH+5u5HUr/33nfvzXpNFAHkd74X8YeFvFOva74MXTbuD U9ks2nXm/d5u75nXnn7zN99fvkbeEq5b+EvEfivU7W98fS2Is7NEkh0ixL+U8x/jm3/e2cDGWTn/ AHt/qFFAHgvj3Sr/AMefGBdH0nUnsZtH00Tb5nYIk2Q4dNvQ/PD83H3O+2tvyPjFq6y6JdppWl22 3yn1iD/WsmfmdAr/AH26/cT/AIBXS+HPAi6H4y1zxHcajJfX2oufKLRsn2eLfny87/nH3Ov9z3ru qAPOz8PTafCy58H6JqAhnmgIa8eMp5z79z79v8D/AHO/yf36i8FW3jtPBd3puqW1hpl5b2S2mlNG 29gyJsDyn5067Pyb5a9JooA878EfDw6D8PL3wzqF3um1DzhePbPlV3ps+Qsv9zb1Fc1omk/FLwRb waBo9to2p6XHM/lXc/y+SjP0ZA6t3L/x/e6mvaaKAPOfA3gW68Paje+I/EF81/4iv/knuEJKIhP3 FH/AU7YGNq+8vhzwbqNl8R/EHizU5rXzL9BDZx2zN8sP+2GT7+Ej6f7deg0UAef/ABM8HX/jrS7H SbSW2t4o7tJ7ieVmLINrJ8iBfn4cnll+7VHx54S1658T6X4u8MS2o1PT4GQw3cnySjnaifL1fe6H LL1Xp1r06igDxy90P4k+PNFfS/Ei6NoWnyy/vvIQzTOijev8Tpt37f41Py/n2XiXRfEMPhqw0vwP f22lz2zIitc/OnkqhTZ8yP8A7H5V2NFAGfp0N1DYW0V7dfa7lIUWafy9nmv3bZ/DzWhRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAZWu6p/Y3h/UtTEXm/YraW58vdt37E3Y/SvFf+Glv+pT/APKj/wDaa9d8 ef8AJPvEn/YLuv8A0S9fEVAH0B/w0t/1Kf8A5Uf/ALTR/wANLf8AUp/+VH/7TXz/AEUAfQH/AA0t /wBSn/5Uf/tNH/DS3/Up/wDlR/8AtNYHg34I/wDCX+E7LXf+Eh+yfat/7n7F5mzY7J9/eP7tb/8A wzT/ANTZ/wCU7/7dQAf8NLf9Sn/5Uf8A7TR/w0t/1Kf/AJUf/tNcv4h+BnifR4ZLrTxFq9unO2H5 Ziu3un6YVmryegD6A/4aW/6lP/yo/wD2mj/hpb/qU/8Ayo//AGmvn+igD6A/4aW/6lP/AMqP/wBp o/4aW/6lP/yo/wD2mvn+igD6A/4aW/6lP/yo/wD2mj/hpb/qU/8Ayo//AGmvEtM0rUdWmaDTdOub 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 e8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9 d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESf Xfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jF ewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4x R/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4/ /wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF/ /RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF// AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385 v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/O b/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BR QB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C 3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3 vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn 1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCMV7BRQB4//wALe8X/APRJ 9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDjFH/C3vF//RJ9d/Ob/wCM V7BRQB4//wALe8X/APRJ9d/Ob/4xR/wt7xf/ANEn1385v/jFewUUAeP/APC3vF//AESfXfzm/wDj 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 dgTbt+XjpQB67XnfxT0R77wm+rWcqw6roTHUbOeREO3YN0n8J6jnH95EzXolFAGF4W1628TeGdP1 m2UKt3FvKf3H6Ouf97Irdrx74GzyWena94YvJjLc6RqTRs27dFtf5fkz/txv6ffr2GgAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDyH4Rf8lB +Jf/AGFB/wCjrmvXq8h+EX/JQfiX/wBhQf8Ao65r16gAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooA53x5/yT7xJ/2C7r/wBEvXxFX2748/5J94k/7Bd1/wCiXr4ioAKKKKAPsD4K/wDJI9D/ AO23/o+SvmLx5/yUHxJ/2FLr/wBHPXUeGvjL4i8J+HrXRNPstNa1tg/ltPE5f53L9nH96uH1XUpt W1i+1KdFWa8med1X7u523mgDMr3D9nrSbS813WNWuE3XFhDHHDn+DzN+5v8Ae+TH/Amrw+uh8LeK 9T8I6qdS0qREmKeWwddyum5W2f8AjooA9k+Kt98SJfE8tjosGrDSFVHgk0yGT5vk+bc6fN97eNh/ urxXpnw/0nUtF8Gafp+tMX1IeZLcOX3ne8jvy3dvnryW8/aQvJbdksfDsEFwfuvPdmVB/wABCJn/ AL6rn9M+OvizS7OO08rTrt1Z3aa6jdnbe27+BxQBP+zr/wAlCv8A/sFv/wCjoaP2iv8AkoVh/wBg tP8A0dNXIeFfG1/4N1651bSrOzEtxC0H2eZXaNEZlb5fnDfwjvUfjLxje+ONWh1DUobWGeKEQqLZ GVCu93/iY/36AOy/Z9uIYfiFcq8qq0+mvHErN9998b/yVjWt8e/DmsX3ii11a0024uLCPTdsk0MZ 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 UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8Iv8A koPxL/7Cg/8AR1zXr1eQ/CL/AJKD8S/+woP/AEdc169QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAc748/5J94k/wCwXdf+iXr4ir70uLeC8t3triFJYZU2ujruR1rI/wCED8Jf9Crof/gv h/8AiKAPiKivt3/hA/CX/Qq6H/4L4f8A4ij/AIQPwl/0Kuh/+C+H/wCIoA+IqK+3f+ED8Jf9Crof /gvh/wDiKP8AhA/CX/Qq6H/4L4f/AIigD4ior7d/4QPwl/0Kuh/+C+H/AOIo/wCED8Jf9Crof/gv h/8AiKAPiKivt3/hA/CX/Qq6H/4L4f8A4ij/AIQPwl/0Kuh/+C+H/wCIoA+IqK+3f+ED8Jf9Crof /gvh/wDiKP8AhA/CX/Qq6H/4L4f/AIigD4ior7d/4QPwl/0Kuh/+C+H/AOIqjqPhzwBo9us+p6N4 btInbasl1awxru+rCgD4wor7d/4QPwl/0Kuh/wDgvh/+IqjdeG/ANjc20F3ovhu2luH220ctrCry t/sgj5uooA+MKK+3f+ED8Jf9Crof/gvh/wDiKP8AhA/CX/Qq6H/4L4f/AIigD4ior7d/4QPwl/0K uh/+C+H/AOIo/wCED8Jf9Crof/gvh/8AiKAPiKivt3/hA/CX/Qq6H/4L4f8A4ij/AIQPwl/0Kuh/ +C+H/wCIoA+IqK+3f+ED8Jf9Crof/gvh/wDiKP8AhA/CX/Qq6H/4L4f/AIigDwX4JeNPD/hA64dd v/sYuvI8n9w77tnmbvuKf74r1z/hdnw9/wChg/8AJOf/AOIre/4QPwl/0Kuh/wDgvh/+Io/4QPwl /wBCrof/AIL4f/iKAMH/AIXZ8Pf+hg/8k5//AIij/hdnw9/6GD/yTn/+Ire/4QPwl/0Kuh/+C+H/ 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 QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeQfs6/8AJPdQ/wCwpJ/6Jhr1+vIP2df+Se6h/wBh ST/0TDQB6/RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5B+z r/yT3UP+wpJ/6Jhr1+vIP2df+Se6h/2FJP8A0TDQB6/RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUV5/wD8 Ls+Hv/Qwf+Sc/wD8RQB6BRXn/wDwuz4e/wDQwf8AknP/APEUf8Ls+Hv/AEMH/knP/wDEUAegUV5/ /wALs+Hv/Qwf+Sc//wARR/wuz4e/9DB/5Jz/APxFAHoFFef/APC7Ph7/ANDB/wCSc/8A8RR/wuz4 e/8AQwf+Sc//AMRQB6BRXn//AAuz4e/9DB/5Jz//ABFH/C7Ph7/0MH/knP8A/EUAegUV5/8A8Ls+ Hv8A0MH/AJJz/wDxFH/C7Ph7/wBDB/5Jz/8AxFAHoFFef/8AC7Ph7/0MH/knP/8AEUf8Ls+Hv/Qw f+Sc/wD8RQB6BRXn/wDwuz4e/wDQwf8AknP/APEUf8Ls+Hv/AEMH/knP/wDEUAegUV5//wALs+Hv /Qwf+Sc//wARR/wuz4e/9DB/5Jz/APxFAHoFFef/APC7Ph7/ANDB/wCSc/8A8RR/wuz4e/8AQwf+ Sc//AMRQB6BRXn//AAuz4e/9DB/5Jz//ABFH/C7Ph7/0MH/knP8A/EUAegUV5/8A8Ls+Hv8A0MH/ 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 5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc/ /wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+ Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A 8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/ APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wAR QB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc// AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB 6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxF H/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6B RXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR /wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRX n/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7 Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/ APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wAL s+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8A wuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwu z4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv /Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4 e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB /wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/ 9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf +Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8A Qwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCS c/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/ 5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc/ /wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+ Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A 8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wARQB6BRXn/APwuz4e/9DB/5Jz/ APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc//AMRR/wALs+Hv/Qwf+Sc//wAR QB6BRXn/APwuz4e/9DB/5Jz/APxFH/C7Ph7/ANDB/wCSc/8A8RQB6BRXn/8Awuz4e/8AQwf+Sc// AMRR/wALs+Hv/Qwf+Sc//wARQB6BRWD4c8TaN4p097/Rrw3NvHL5LSeW6fP1/jA/vCt6gAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAK53/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKu h/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh /wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8A gvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDi K6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/ +Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6Ki gDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/ 4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf +ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPw l/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8 Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0K uh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8A Qq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+ C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H /wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/ AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC +H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIr oqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4 ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKA Od/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/h A/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4 QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX /Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl /wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6 H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBC rof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L 4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/ AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A 4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4 f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iui ooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iK P+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA5 3/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED 8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA /CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9 Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/ AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof /gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKu h/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh /wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8A gvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDi K6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/ +Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6Ki gDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/ 4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf +ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPw l/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8 Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0K uh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8A Qq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+ C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H /wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/ AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC +H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIr oqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4 ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKA Od/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/h A/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4 QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX /Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl /wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6 H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBC rof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L 4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/ AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A 4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4 f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iui ooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iK P+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA5 3/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED 8Jf9Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA /CX/AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9 Crof/gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/ AEKuh/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof /gvh/wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKu h/8Agvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh /wDiK6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8A gvh/+Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDi K6KigDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/ +Io/4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6Ki gDnf+ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/ 4QPwl/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf +ED8Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPw l/0Kuh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDnf+ED8 Jf8AQq6H/wCC+H/4ij/hA/CX/Qq6H/4L4f8A4iuiooA53/hA/CX/AEKuh/8Agvh/+Io/4QPwl/0K uh/+C+H/AOIroqKAOd/4QPwl/wBCrof/AIL4f/iKP+ED8Jf9Crof/gvh/wDiK6KigDN0zStO0mB4 NN062soWbc0dtEsa7votaVFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRXnHxE8Z694a1jw1pmiwae82sTvBuvUcojbo1X7jf7fvU//F3v+pI/8mqAPQKK8/8A +Lvf9SR/5NVR1LUvinpOlXup3SeDGt7OF55VjF1v2ou/jmgD06iuT+HniK78V+CdO1q+SJLi58ze sS/L8sjp/wCy11lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUV5Rd+MfGV58TtW8I aBDoIWwhSbzNQSb7hRCfuN/00HagD1eivP8A/i73/Ukf+TVH/F3v+pI/8mqAPQKK8c8YeMPiT4G0 aLUNTh8KzQyzeSotluXbcUZ+dzDj5DXsdABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUV5h4r8Z+J7H4k6Z 4T0GHSt9/ZeeHv0fhx5ueUb0j96v/wDF3v8AqSP/ACaoA9Aorz//AIu9/wBSR/5NVj+Jdf8Aib4V 0C51vUk8IPa22wusC3Jf5nCDGT/tUAesUVjeG9Rm1bwxpGpXCos17ZwzsifdDOgc/wA62aACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAorG8SajNpPhjV9St1RprKzmnVH+6WRC4/lXAeGtf+JvirQLbW9NTwgl rc7yizrch/lcoc4P+zQB6xRXn/8Axd7/AKkj/wAmqP8Ai73/AFJH/k1QB6BRXmHhTxn4nvviTqfh PXodK32Fl55ewR+XPlY5dvST2r0+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAoorzDxX4z8T2PxJ0zwnoMOlb7+y88Pfo/Djzc8o3pH70Aen0V5/wD8Xe/6 kj/yao/4u9/1JH/k1QB6BRXk/iXX/ib4V0C51vUk8IPa22wusC3Jf5nCDGT/ALVd/wCG9Rm1bwxp GpXCos17ZwzsifdDOgc/zoA2aKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDx awGufEX4geILVvE2paVpOgXX2dbawfY8n30yXH+1Dv8Am3/exTLybX/h58R9CtDr9/q2i61cLB5N /N5sqN/qzhivYzI/y7c/d7Zr1TXP7Y/sqf8AsL7H/aXyeT9t3+T98bt+zn7ma8R1I6xpvxS0i9+J 0vmWZkI0t7OZEto5dyZc5KOiJvHzt83yr98CgD6GooooAK89+Jfw1b4h/wBl51T7D9g83j7P5vmb 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 oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooA8c8H+MPiT450aXUNMh8KwwxTeSwuVuUbcEV+NrHj5xXR/wDF3v8A qSP/ACarA/Z1/wCSe6h/2FJP/RMNev0Aef8A/F3v+pI/8mqyLTxj4ys/idpPhDX4dBK38LzeZp6T fcCOR99v+mZ7V6vXj/iD/k5/wp/2C3/9AuqAPYKKKKACiiigAooryO2+IPinxhqk0fgXR7N9Jgma KTUdUd/LchM8IhD/APof3kzsoA9coryu78b+J/BdxA/jbT9NOk3EyQjUNJkk/cv833kf53+57cf3 69Jt7iC8t0ubeZJYZU3I6NuR1oAt0UUUAFFFFABRRXK+DfGNj440mbUdNhuoYIpjCwuVVXLbFf8A hY/36AOqooooAKKKKACiuUtPGlhfeN7/AMJR21yNQsYPOldkXyth2Hj58/xr2rq6ACiiigAooooA KK5S78aWFj43sPCUltcnUL6DzonVF8rYN55+fP8AA3auroAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooA5P4h+Irvwp4J1HWrFInuLby9iyr8vzSIn/s1c7pup fFPVtKstTtU8GLb3kKTxLILrftdd/PNX/jV/ySPXP+2P/o+Ot3wH/wAk+8N/9gu1/wDRKUAYP/F3 v+pI/wDJqj/i73/Ukf8Ak1XoFFAHnHw78Z694l1jxLpmtQaek2jzpBuskcI7bpFb77f7HtXo9eQ/ CL/koPxL/wCwoP8A0dc169QAUUVy3jPxjZeCfD76ndK0x3eVDDH/AMtZcfd/2ehoA6mivMINS+LG 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 7eCzt0treFIoYk2oiLtRFq3RRQBlppFhHqkupxafbJqEq7JLpIVEzr6F/wDgK/lWpRRQAVUuLeC8 t3triFJYZU2ujruR1q3RQBRsLGz020jtLG2ht7dB8sUKbFX/AICKvUUUAFFFFABRRRQAUUUUAZaa RYR6pLqcWn2yahKuyS6SFRM6+hf/AICv5VqUUUAFFFFAGbpmladpMDwabp1tZQs25o7aJY13fRa0 qKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAM3TNK07S YHg03TrayhZtzR20Sxru+i01NIsI9Ul1OLT7ZNQlXZJdJComdfQv/wABX8q1KKACiiigAooooAy3 0iwk1SLU5dPtn1CJdkd08KmZF9A//Am/OpfsFl/aH9o/ZLf7Z5Pk/aPL+fZ1278fdq/RQBlppFhH qkupxafbJqEq7JLpIVEzr6F/+Ar+ValFFAGW+kWEmqRanLp9s+oRLsjunhUzIvoH/wCBN+dalFFA BRRRQBlppFhHqkupxafbJqEq7JLpIVEzr6F/+Ar+VPg06ygurm8htoUubgJ5s6R4ebZ9zc38VaNF ABRRRQBlppFhHqkupxafbJqEq7JLpIVEzr6F/wDgK/lWpRRQBSuY3lt3SOaSJ3Tasqbdyf7XzV5p Y3PxC0+SBdZ8H2HiPULORvs+qxXsMPyvydm5OP7v8P8AWvWKKAOD8B+Gr7SY9R1fW3Rtc1if7VdF Wd1hXokI+b+Dn+XO2uofSLCTVItTl0+2fUIl2R3TwqZkX0D/APAm/OtSigCh9gsv7Q/tH7Jb/bPJ 8n7R5fz7Ou3fj7tX6KKACiiigAooooAzbXSrCxnuLi0sLa3muX3zvDCqPK3+2R97qaWzsLSyM/2S 3htjPM003kps3u/V2/2q0aKAM3TNK07SYHg03TrayhZtzR20Sxru+i1pUUUAZtrpVhYz3FxaWFtb zXL753hhVHlb/bI+91NaVFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFeOeD/GHxJ8c6NLqGmQ+ FYYYpvJYXK3KNuCK/G1jx84ro/8Ai73/AFJH/k1QB6BRXn//ABd7/qSP/Jqsi08Y+MrP4naT4Q1+ HQSt/C83maek33Ajkffb/pme1AHq9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRXmHivxn4nsfiTpnhPQYdK339l54e/R+HHm55RvSP3q/8A8Xe/6kj/AMmqAPQKK8// AOLvf9SR/wCTVY/iXX/ib4V0C51vUk8IPa22wusC3Jf5nCDGT/tUAesUVjeG9Rm1bwxpGpXCos17 ZwzsifdDOgc/zrZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiivMPFfjPxPY/EnTP Cegw6Vvv7Lzw9+j8OPNzyjekfvQB6fRXn/8Axd7/AKkj/wAmqP8Ai73/AFJH/k1QB6BRXk/iXX/i b4V0C51vUk8IPa22wusC3Jf5nCDGT/tV3/hvUZtW8MaRqVwqLNe2cM7In3QzoHP86ANmiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDyD9nX/k nuof9hST/wBEw16/XkH7Ov8AyT3UP+wpJ/6Jhr1+gArx/wAQf8nP+FP+wW//AKBdV7BXj/iD/k5/ wp/2C3/9AuqAPYKKKKACiiigAryqy8deJ/Geo3S+CNMsRpVnJsk1HVi+24ftsVPx9eCudldF8UdR GlfDXXrjyfOD232fbu248791n8N9T/DmzhsPhz4dhtlCI+nxTEZ6u673P/fTGgDl4fG/iTwzriWX jmw0+0sLlhDa6tYl/s3mc/LJvOV+vy/c/ufMvqlYPiPwzo3inT0sNZszc26S+csfmOnz9M/IR/eN cP8AErxPPBq+l+E9P1yDR59Q3T3d/NhVtrfa2PvDh2w38a8p230AerUV4B4lu08KwQ+IPDHxJm1W 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 UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHzx8Gv H/hbwp4QurDWtT+zXD37zqghlf5NkYz8qn+4a9H/AOF2fD3/AKGD/wAk5/8A4ivQKKAPP/8Ahdnw 9/6GD/yTn/8AiK4dPE2keKv2hfDF/ot4bm0Swkhdyjph9lwejD/aFe8UUAFFFFABRRRQBm6rpsOr aPfabO7LDeQvA7L97a67D+NeS+F/G8fgC2Xwd44ee3u7As1tdmN5oprf+DDA7uu8D5MbE29eK9sq jf2NnqVpJaX1tDcW7j5opk3q3/ATQB4x4x8U23xRm07wd4UnubiO5uFmvbtUdFhhX+8rld4Gd/4J j5q0viVpNrY+P9C8X6zZm70GGFrO+VrXzkh+/sd1/u75fT+Dvur1WwsbPTbSO0sbaG3t0HyxQpsV f+Air1AHiGqeJPh/f2iWXgnw5oeqeILqVUtrZtH2p6uz7kT5dm7pXT+IoIbT4o/Dm2t4VighXUUR EXaqr9nWu20zStO0mB4NN062soWbc0dtEsa7votaVAHAfGr/AJJHrn/bH/0fHXM/GSYWHijwHq1y JI7Gy1Mtcz4ZkQb4X/kjn/gNey1Rv7Gz1K0ktL62huLdx80Uyb1b/gJoA4XxFPDd/FH4c3FvMssE y6g6OjbldPs680/4xtqy/Da9i0lGbcwW8dSd6W/O9uP+A7v9hnz613VvbwWdultbwpFDEm1ERdqI tW6APBNQn+Fi+Gr3TfC2mQahql/bTGzigspbi48zYycFxvTbt3c/74FV454pP2UrhElV2hbZIqN9 xvtgf+TpXuNrpVhYz3FxaWFtbzXL753hhVHlb/bI+91NLZ2FpZGf7Jbw2xnmaabyU2b3fq7f7VAG jXmPxiu5bHSfDN3bWzXU9v4gtpkt0+9KyK52jFenUUAeUal8ZPDlx4fmTRNQuZtbuYStlaR2TtL5 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 umaVp2kwPBpunW1lCzbmjtoljXd9FpsWj6dbacdNisLaKwKMhto4lSEo33htH+eaAOF8fapZ6zp3 gXUNPuEntJ/E9kySr/wOqfj22fw/8TPDnjq782XSraF7O7eGHd9m3bwruc/d/ff+O+rV6ZYWNnpt pHaWNtDb26D5YoU2Kv8AwEVeoA8O+IXxA0jxp4dPhXwq02q6lqkyJhYnjEWxlfo4H939Gro9V06P SPiB8L9Mt2Z4rOG9gR2+9sS2RBmu80zStO0mB4NN062soWbc0dtEsa7votaVAHAfGr/kkeuf9sf/ AEfHXf0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFeO/8M5+Ev8An/13/v8AQ/8AxugD 2KivHf8AhnPwl/z/AOu/9/of/jdH/DOfhL/n/wBd/wC/0P8A8boA9iorx3/hnPwl/wA/+u/9/of/ AI3R/wAM5+Ev+f8A13/v9D/8boA9iorx3/hnPwl/z/67/wB/of8A43R/wzn4S/5/9d/7/Q//ABug D2KivHf+Gc/CX/P/AK7/AN/of/jdH/DOfhL/AJ/9d/7/AEP/AMboA9iorx3/AIZz8Jf8/wDrv/f6 H/43R/wzn4S/5/8AXf8Av9D/APG6APYqK8d/4Zz8Jf8AP/rv/f6H/wCN0f8ADOfhL/n/ANd/7/Q/ /G6APYqK8d/4Zz8Jf8/+u/8Af6H/AON0f8M5+Ev+f/Xf+/0P/wAboA9iorx3/hnPwl/z/wCu/wDf 6H/43R/wzn4S/wCf/Xf+/wBD/wDG6APYqK8d/wCGc/CX/P8A67/3+h/+N0f8M5+Ev+f/AF3/AL/Q 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 W9c3rnhHw74lhK6vpNtdsV2ec6bZUX72N/3xQB4XfT/DS48R2ekeFPBb6+1wg2Mmo3Nsd/PybX9g G3V3Xj34h2Gk+KoPDfiPwrbXemvJDMl5czLIqo3ytN5Oxvu/vB+HvXdaH4R8O+GoQukaTbWjBdnn Im6V1+9jf981panpWnatAkGpadbXsKtuWO5iWRd30agD5i8cw/DH+y1uvCN5cJfq6ILVY5XiZOru TLyDnjr/AMA/jr03w74n1LwZ8DdG1abSZb8plZFmuPKKRM77Hyw+7/qwP96upsfhT4I0qZ57Xw5a yMybSLlnuF/75csK7mgD51k1X4O+LNIiuNTtk0DUHTa8NhHN+5+c9NibG/75/iqH4Beb/wAJtrSW r3LaV9jcAldqM+9Nm9R8m/bv/wDHq9XvvhT4I1WZJ7rw5axsqbQLZnt1/wC+UKiun0zStO0mB4NN 062soWbc0dtEsa7votAHn3w8+Ln/AAnviCbSv7E+wmG2e58z7T5ufnROmxf79ep1jad4c0LSZmud N0awsZmXYz21skblfT5BWzQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXjv8Awzn4S/5/ 9d/7/Q//ABuvYqKAPHf+Gc/CX/P/AK7/AN/of/jdH/DOfhL/AJ/9d/7/AEP/AMbr2KigDx3/AIZz 8Jf8/wDrv/f6H/43R/wzn4S/5/8AXf8Av9D/APG6seL9f8Qa743HgTwreiweOHztSvzkvAjfwrn/ AHkOV5+dPubWqWf4U6h9mhksvHviOLU2CJc3Mly7LIi7uNoZX+83984yfWgCl/wzn4S/5/8AXf8A v9D/APG6P+Gc/CX/AD/67/3+h/8AjdaHwy8Vatd6jqXhHxOSdX0jASdt+65iHy78kf7h3/x766jw /wCHNR0fWNau7rX7rUY7+fzYLeUtss03Odi5c/3x6fdoA4f/AIZz8Jf8/wDrv/f6H/43R/wzn4S/ 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 KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryD9nX/AJJ7qH/YUk/9 Ew16/XkH7Ov/ACT3UP8AsKSf+iYaAPX6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACvIP2df+Se6h/wBhST/0TDXr9eQfs6/8k91D/sKSf+iYaAPX6KKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiivH/+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orG u/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCi sa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8 foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8A H6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f /wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi/ /orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v /wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/ lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/l N/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APY KK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/h UPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4 VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDo rGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APor Gu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH 6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x +j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx /wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L /wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/ APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN /wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+ U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9 gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+ FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCF Q+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orG u/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCi sa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8 foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8A H6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f /wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi/ /orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v /wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/ lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/l N/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APY KK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/h UPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4 VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDo rGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APor Gu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH 6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x +j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx /wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L /wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/ APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN /wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+ U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9 gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCFQ+L/APorGu/lN/8AH6P+ FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH6APYKK8f/wCF Q+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8foA9gorx/wD4VD4v/wCisa7+U3/x+j/hUPi//orG u/lN/wDH6APYK8g/Z1/5J7qH/YUk/wDRMNJ/wqHxf/0VjXfym/8Aj9U9N+COu6VbtBpnxG1CzhZ9 7R21u8a7vcLNQB7ZRXj/APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF/ /RWNd/Kb/wCP0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138 pv8A4/QB7BRXj/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjX fym/+P0f8Kh8X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/Kb/4/ QB7BRXj/APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb/wCP 0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB7BRX j/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f8Kh8 X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/Kb/4/QB7BRXj/APwq Hxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb/wCP0f8ACofF/wD0 VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB7BRXj/8AwqHxf/0V jXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f8Kh8X/8ARWNd/Kb/ AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/Kb/4/QB7BRXj/APwqHxf/ANFY138p v/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb/wCP0f8ACofF/wD0VjXfym/+P0Ae wUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB7BRXj/8AwqHxf/0VjXfym/8Aj9H/ AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f8Kh8X/8ARWNd/Kb/AOP0AewUV4// AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/Kb/4/QB7BRXj/APwqHxf/ANFY138pv/j9H/CofF// AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb/wCP0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X /wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB7BRXj/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY1 38pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f8Kh8X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY13 8pv/AI/R/wAKh8X/APRWNd/Kb/4/QB7BRXj/APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj 9AHsFFeP/wDCofF//RWNd/Kb/wCP0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4 /R/wqHxf/wBFY138pv8A4/QB7BRXj/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFF eP8A/CofF/8A0VjXfym/+P0f8Kh8X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAK h8X/APRWNd/Kb/4/QB7BRXj/APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDC ofF//RWNd/Kb/wCP0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBF Y138pv8A4/QB7BRXj/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A 0VjXfym/+P0f8Kh8X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/K b/4/QB7BRXj/APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb /wCP0f8ACofF/wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB 7BRXj/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f 8Kh8X/8ARWNd/Kb/AOP0AewUV4//AMKh8X/9FY138pv/AI/R/wAKh8X/APRWNd/Kb/4/QB7BRXj/ APwqHxf/ANFY138pv/j9H/CofF//AEVjXfym/wDj9AHsFFeP/wDCofF//RWNd/Kb/wCP0f8ACofF /wD0VjXfym/+P0AewUV4/wD8Kh8X/wDRWNd/Kb/4/R/wqHxf/wBFY138pv8A4/QB7BRXj/8AwqHx f/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9AHsFFeP8A/CofF/8A0VjXfym/+P0f8Kh8X/8ARWNd /Kb/AOP0AewUVyng3w5qPhrSp7TUfEF1rU8k/nLc3G7ci7VGz5nfj5c/8Crq6ACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPKLvxj4yvPidq3hDQIdBC2EKTeZqCTfcKIT9xv +mg7VuWP/CzvtsH9of8ACIfZPNXzvs/2nzNmfn2Z/j61wulQePk+Iviy907Q4Gnur0Rx6nqsTQwp bpvCqm3DuGCxD5M/cXd1rTHxG8SeF/FlppHjbTbFba+ZI4tSsXeOJf77Hf15K7vubOtAHsVFFFAB XFfE3WL/AEH4f6lqml3Btr6DydkmxX27pUQ8MPQ12tcB8av+SR65/wBsf/R8dAGd8JPFWs+ILHUo PEUrT6pbPDN5nloi+RPCHi+59GP/AAMV6Ff39tpdhc3122y3t4nllf8AuqnJ/rXjOno/hrxB8N/E EKP9m1jSrbSr3ybZPmcomze//fHvshrqPjDqlxD4QTRLDnU9cuEsYFjl2Mcn5/qv8H/A6AOX+EPx D8SeL/Gt9a6teI1oLN5kto4kVVfeg9N/8Z717pXiXgnT4tI/aB13TIGZoLTQ4YI3f721Etk/pW94 i8NeJPFvjqSwnub/AEvwjFZupa0ukX7Y7/eDJnI+/j5lb7n+3QB6fXKeIbTxTc6vor6FqNraWEVx v1KGVMvNDuT5V+Ruwcfw9fy8l8W6AvwbTTda8Na7drcTXOyawu5ldblADyVTZlE6f9tB93v1/wAT tUvdP8b/AA/trS+uraG51LZcJDKyJMnmQcP/AH+p/OgC3q/iTV7b44aB4dhvNuk3li001uET53CT c78b/wCBK6G6svFL+OrC7tNQtI/DSQ7bmzdcyyTYfDZ2f7n8f8NcT4g/5Of8Kf8AYLf/ANAuqta5 qeowftBeG9MS/ulsZtOeSS1WZvKdtlxyUzj+BfyoA9WorxK8uvEOp/HTXPD9jq19b6e1snneVLn7 NEUhZniUn5XZvl34+XzC1c5488EL8KbCw8Q+GNa1KC4e6FvIHdRvyN/8Crlfk5RuKAPpCivOPir4 ivdJ0az0fR5JE1rWpvslmUco6cjewbp/Eq9Rjfu/hrD/AOFLJp2dW0bxFqi+KY8zLfTuux5v4yyb N+1/mHVvvfx9wD2OivMPgzr194j8O6vquoXMk002rTbVMjukSbEfYm77qfN0r0+gAoryTUPBPiDx z4m1z/hKLzUtK8OqEhsbO0u0KXCq/wB9hz/d3fOmfnHPyVzr6dL8LPHvhfTdC1m4e01e48q7028l R9oeRED4THUY2tj/AJZn3WgD32sPxZdz6f4Q1zULRwlxa2E80LY+66IxzXmnjG71fxp8Sh4Dsb26 stKtY/O1RoDseSN0GVzu+ZPnVcf9NOUbZWV4s+H0nw28JarqnhvV7j7NPbvaalaXxDJNFL+7VkKq uHUv+vX+FwD2Dwndz6h4Q0PULtw9xdWEE0zY+87opzW5XiXiPxNq2kfCvwTo2h+Ymra1a21vDKuR tXyUHytn5Xy6c/71Wv8AhSyadnVtG8RaovimPMy307rseb+Msmzftf5h1b738fcA67wHrF9rB8TG /lMv2LX7qzg+VV2RJs2p+tdrXlPwN1GXV/DWualcKqTXuuTzsq/d3ukbnH51xnw/0fX/AIm+Gruy 17xBfnQYbw72EnmTXD7OE3vnaifI/wBz+P2+UA+iaK8j8c6pqfh+w8O+AvC1wft9/Elmk5kzNbQo FQOQn3c/P8/bY/8AwGrL8D4bSKTUdL8R6uniLy96X0k2xXmP3z8o3jf8/wDH/H/FQB7NRXgd98St Zv8A4PWl/HfpZajNqI0u9vjGUCHZv81Nn+xs6Ln7+0D5avy/B7T7yyfXvB/irUZtYlbfbX8l+jRO +758vGm4/wAfSgD22iuD8Y6xrPhT4UXOpNNC2tW1vAssoT5PNZ0R3H/fZrhtO+FekeJtDj1+z8X3 t/r/AJKP9sS/DIl2EQpl/L3rg7Ovz9KAPdaK5zwfaatp3hWxtNdukutRhBSa4Rt275zs/wDHdldH QBxGu6zezeNND8N6PcCGRidQ1JxGrbbRCU2fN/ff5cr8y4zV26svFL+OrC7tNQtI/DSQ7bmzdcyy TYfDZ2f7n8f8Nc18P4ZL7x3438SXSW29tSOmRMo+dEh+X/x791/3xUGuanqMH7QXhvTEv7pbGbTn kktVmbynbZcclM4/gX8qAE8ceI/EkvxI0Dwj4c1JdLku4HlmuWhSbevz/wADrxt8l+/O+vR9Ohuo bC2ivbr7XcpCizT+Xs81+7bP4ea8R8S+G/P+PulaaNb11Pt9tNc/aEvP3tt/rzshfHyp8v3fc17b YWYsrC2szPPc+TEsfnXD73fb/E7d2oA0aK8v+LXifVdI0zTdG0IyR6trVybeCVMjavyj5WyNrHen /j3tWZ/wpZNOzq2jeItUXxTHmZb6d12PN/GWTZv2v8w6t97+PuAdd4D1i+1g+JjfymX7Fr91ZwfK q7Ik2bU/WrPg2z8U2WkTx+LNStr6/wDP3xz2ybUEO1Pl4RO+/t3rlfgbqMur+Gtc1K4VUmvdcnnZ V+7vdI3OPzrO+E51Dxf8M9TtdS1/VjcSakypeRXjfaUREhfCO3T/AOyoAn+Geu+L/Gl/eeILrXFj 0OK6eJNMFsjN9zcE3hVPyb4+f4sGnarrXizXPi3eeFdB15NFtbG0SaZpLZLkvwr78MvH+tRcbv4M 1i/ADQjPoza4NV1OP7PfyobCO5/0ab9yo3PH3b5+v+ytUdJ8HLP8b/EGgjxH4ija3sEc6gl7i5l+ SH5Xfb9z5/8Ax1fSgD6Gorybx5rOu634ysvAnhvUBYySxC5vr63d99snPyZX7nGz/e3p93PzZOs/ CiPwXpF54i8I63qlpqNlAbiTz502SQr87p8ic/cHB+WgD2+ivAPFnjvXtVsvh3q2iTzQ3l/M4e0S V4YbiZHhUow38pv3feP3HrvvD3gK28K6ve+KtV1ye+1Oa3dby8uNkUG3eH3bP4NoRP4+x6UAeg0V 4Po2g6j8Zhca/wCI768tNC83ZYadavtUbP4/mUq5+Zl39yW+4E2Vct7a++FfjvQ9Ih1S5vPDWsN9 kht5/ne3l7Ff4B87jOMZ3N8h2qaAPbKK8SvLrxDqfx01zw/Y6tfW+ntbJ53lS5+zRFIWZ4lJ+V2b 5d+Pl8wtXOePPBC/CmwsPEPhjWtSguHuhbyB3Ub8jf8AwKuV+TlG4oA9b+IvjVvAegW+qmwF951y tuYxN5WPld8/cb+7Xa14P8f9CMGjLrh1XU5PtF/EgsJLn/Rof3LDckfZvk6/7TV7Homm/wBjaVDY /br2+8ov/pF7N5sr/Nn5noANd1T+xvD+pamIvN+xW0tz5e7bv2Jux+lcN8Kb3xbrejp4h1zXlu7K 6R1hsltI02FH2796D/Zf5K2fibpS6l4D1Y/bry0+z2s1x/os3l+dsif5H/vIe61zPwQ0JoPB2m62 dW1KQXMU0f2B7nNtD++f50jxw3ydf9pqAPW6K+dvh/o+v/E3w1d2WveIL86DDeHewk8ya4fZwm98 7UT5H+5/H7fL1OsjUrrxbonw40DV7uw06w05ZdRubaZPtAiXbtTjlH+VPu/89s7NvUA9gorwrX/h WPA+hXfiLwnrGqw6lZxedIjzJteJfndOFT03/wDAcbak+I3jW/v/AIPeH9f0vUZbO4u7mETPZyPE d/ly716/d3p/47QB7jRXiPiH4Wuvh668Ua54i1S68SWFnLd+fBMixRypukRU+XcqBj7dD93pVXwn 4Kv/AIleErLU/FvifUrqA/JaW1vKqhFQsm6TKYd/vjd1/wBqgD3iivH/AIMST6fq3jDw59rll03R 74QWay4+T55t357M17BQAUV5h4i8NeJPFvjqSwnub/S/CMVm6lrS6Rftjv8AeDJnI+/j5lb7n+3X E+LdAX4NpputeGtdu1uJrnZNYXcyutygB5KpsyidP+2g+73AO5+IviXWNE8XeCtP0678i21K/MN2 m1G3pvhGMsOPvtXpleKfG+K9n8TeA00+VYr2S8kW2lf7qS74NjH8asX/AMGBtbUbLxTrf/CUrF8m oTXGN77dvUfOqkZX75wP71AHsdFeVeDPiLc6h8LNQ8TatFB9q0svFI3m+WlyyIrJ/uu+9U78/wDf NZOj/DiX4g+GtN1vxnrurTX08fmxQQvCkUcbfd2JsKjcioxx+NAHtdFeOeD7nUvBfxHl8C3+pzXW mT2/2jS2ujvkA/uDGdq7Ek46fJkbd+KueFdWvtL+MPibw3q1/dXEV4Ptunm5mfaq/f2Qo3UfO4+X /nj7UAer0V5H8RNQ1PVfH3hjwdpWr3uni53XN3LbSmEvDz9xwM7tqTcfd+7+FXxFdax8QfiBeeDt Pvns/D2nDOo3Nm5aS4LAb4tw4H3nTZ/sOTu27KAPZq4rxvrF/wCG/wCytdjnxo1tc+VqsRRc+S/y JLu+/wDI+PkT7+6vO/EHga5+FOkN4o8KazexfZpEa8s7xw8dyu/YnCKv98/998ba9O1KCPxp8Pp4 4Yk8vVdN8y3S4H3HdN8e4D+6dlAHV0Vw3wpv5NV+GGhXU6IHWDyPk/uQu0af+gCu5oAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOB8F eP18V6jqum3tgNM1XTJNs1v9oWXdztO0+z8f98etcx8eJYdR0jSPDlpKk2r3epxvDbBvmZdjpk/3 fmfFdT4o+GfhjxdNLeahZSR37qifa7eTa/y/+OHgbPnX+lTeFfht4d8HqklhZebeAf8AH3cHfL0b p/c+9j5MZoA6S61WwsZ7e3u7+3t5rl9luk0yo8rf7AP3uorSrB1nwvo2t32nX2oWhludOl860YSM vlvleflP+wv5VvUAFcB8av8Akkeuf9sf/R8dd/WPrmh2Gv6TNpeqQm4s5ynmR72Tftff/D9KAOD1 Pw//AMJN8ArGySLfcx6PbXFvti3v5iRI+EH95uU/4FWB4d1n/hZfxJ0O/wBplttB01bidDbYhF4/ 3gmee6lCc/6nj+/XsthYW2l2FtY2i7Le3iSKJP7qpwP6Vj+HfBvh/wAIG5Og6ebT7Ts84ec8m/Zn b99j/eNAHC+H/wDk5/xX/wBgtP8A0C1qpc2M3xL+IHiXw/qut6jZaVpuxIdMjMcTzn5dz9Pnj3pu 5z99PuV6bb+GNHtvFNz4hhs9mrXcPlTT+Y/zp8oxtzt/gSuf8W/DDw34vujd30E9vfkLvubWTa7o P738H44/hoA8u+MnhTwV4T0mzg0WzS21iacOV+0Su3k7H5w7kD59tdj8Xf8AkoPw0/7Ch/8AR1tW xL8G/BreG/7HXTGiO4P9tVh9p34x9/8A9l+73xV+w+G/h3T9M0SzeKa8OiyvNYT3E3zxu77+dmwN 8+ODQBy3iD/k5/wp/wBgt/8A0C6o8Qf8nP8AhT/sFv8A+gXVehXHhjR7nxTbeIZrPfq1pD5UM/mP 8ifMMbc7f43ouPDGj3Pim28QzWe/VrSHyoZ/Mf5E+YY252/xvQB574f/AOTn/Ff/AGC0/wDQLWl/ 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 dy9zaoPn85EMPTb/ABZhda9E+FHiOw8Q+BtMhgkj+1adAlncwhsvHtG1G/4EE3f1+Wu3t7eCzt0t reFIoYk2oiLtRFrzvXfgn4O165+0Laz6Y4A3f2eyxq/1QoV/75oAzXA8S/tFQXWnHfb6DYeTeTcs m9/M+RWH8X73ocfcf+7Vv4rxtoeo+G/G1sjZ0u8EV6YbdWdrZ/vZY9B95f8Atr279xoXhfRPDFt9 l0bTobRWHzmMfO+P77n5m+93qbXNDsNf0mbS9UhNxZzlPMj3sm/a+/8Ah+lAHn3w1iOu+LfFXjlo YzFfT/Y9OmRXj3wRnbv2t2fbH/wJH+7XIxeHPDKfGPX9G8W2JuRqcv2jTriR5oV3uQ5Rdp+b75Xf /wBMv9rFe36HodhoGkw6XpcJt7OAv5ce9n2bn3/xfWqXinwhovjGwW11a280puMMyNtkib/Zb/PS gDz/AMXeCvhT4K05brUtEcmZtsNvDdTPLKf9nMlenf8AEv8ADvh7/njpum23+0/lxRp/8SK5Pw78 IvCXhy4iu4rSe8vIJDLDNdzElT/uphP/AB2pfiVd3C+FxoGnsP7U1yY2NsgG/wCRv9a7D+5s3bnA +TfQAnwV/wCSR6H/ANtv/R8ld/WbpWmw6To9jpsDs0NnCkCM33tqLsH41pUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc7D4P8AC8E0dxa+HNJhlibckkdkiOre2FroqKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAM68sLS9MH2u3huTBMs0PnJv2OnR1/2q0a KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAqk1tC90t20aGZI2RJNvzorkbh/44n/fNXaKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArx/8A4VD4v/6Kxrv5Tf8Ax+vYKKAP H/8AhUPi/wD6Kxrv5Tf/AB+j/hUPi/8A6Kxrv5Tf/H69gooA8f8A+FQ+L/8AorGu/lN/8fo/4VD4 v/6Kxrv5Tf8Ax+t/xv48uPD+q2eh6Ppcmp+INQQvb2wOxEX5sO/ryvtwr/MtZFxd/GK2ijvI9P8A Dl5LIiK1gjtuh+98+XdPZfvt7d6AK/8AwqHxf/0VjXfym/8Aj9H/AAqHxf8A9FY138pv/j9dJ8PP Gq+MNOnW4t3s9X09xDf28iuu1+fXp91/l/hrR8PXnim51fWk13TrW0sIrjZps0T5eaHc/wAz/O3b Yf4ev5AHFf8ACofF/wD0VjXfym/+P0f8Kh8X/wDRWNd/Kb/4/Xa+HfGll4l1fXNMs7e5SfR5/IuX mRQjvudPk+b/AKZn0rq6APH/APhUPi//AKKxrv5Tf/H6P+FQ+L/+isa7+U3/AMfr2CigDx//AIVD 4v8A+isa7+U3/wAfo/4VD4v/AOisa7+U3/x+vYKKAPH/APhUPi//AKKxrv5Tf/H6P+FQ+L/+isa7 +U3/AMfr2CigDx//AIVD4v8A+isa7+U3/wAfo/4VD4v/AOisa7+U3/x+vYK5S78aWFj43sPCUltc nUL6DzonVF8rYN55+fP8DdqAOK/4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH69gooA8f/wCF Q+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8fr2CigDx/wD4VD4v/wCisa7+U3/x+j/hUPi//orG u/lN/wDH69gooA8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8fr2CigDx/wD4VD4v/wCi sa7+U3/x+j/hUPi//orGu/lN/wDH69gooA8f/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/lN/8 fr2CigDx/wD4VD4v/wCisa7+U3/x+j/hUPi//orGu/lN/wDH67XxF40svDWr6Hpl5b3Lz6xP5Fs8 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 +7heyNzaTeTNA6s/z7z91P3yc/3N1ddcfDiCzt3uLjx/4zigiXe7vrG1UX/vigDndV+Ietaz8G18 VaHdwade2lysV+iR78Z+TYm9D3eJ/pxu4r06HXbOXwtH4idnisHsxesXX50h2b/4fauZ8AeG/DEP gO4s9DubrUdC1R5WaS6+R33DyXX7qYHyY/yK8rGu3lp8Mbr4ewywtr6awdIWKCXYzxu5bf8ANjcj PuT+Hhl3f7QB0Np4x8aP8Ite8X3eorHNNPGNNVbeHZCnnIjEcc/edPn/ALld8viLUoPhXa68ltNf 6vJpkMyRRQ72mmdFxhE/h3PzWF8TNGtPD/wN1DTLGPbbWkNsiE/xfvo/m/3uppb/AMWv4L+CWgap b+Qb1tPsobZJ0Z0d9iZHy/7Ac0AZdr4G8f8AibTrPU9T+IWpaddzQq72tvbNB5X+ywR0+bn+7Vzw Rr/irxRZeJ/D1xqkVpruj3KQf2rHbI+753/5ZYVf+Wbf99VYsfhz4kvpGuvEPj/XzcSohMelT/Zo kf8Aix6/98JWD8CrWytfEXjm1spvPs4bqFIZN27eivNsbd9AKAK/wk07V/8AhYvi9pNa3pZ6hsv0 +yp/pz75sP8A9M8Pl8L9K3vFXiLXvEPjp/AnhWf+zjDF5uoai5w8SMi/cB/66J/t7/7gG+o/hF/y UH4l/wDYUH/o65rm9F0CC4+MXi/QLzxBq2l3dzP9st/7LvfJSZW/ebW4+Z9kg/8AH6ANLU7Pxz8M LWPxDH4mm8QaWkim/tb0lPk+4uwuzkcv/D32ffr0TxTZ2/jL4b6hFaILlNQsPOtBnbvbbvi/8e2V xnizwF4e0nQprjxJ458WHTmZUdbq/wDOR3/h+Ty/m6Z/CvSLK3s/D2gW9oZgtlp9sqedM/3URPvO 30FAGN8OdYm1/wCH+i6hdbzO1v5Mju5d3dG2Fyx67tm78a7CuA+Cv/JI9D/7bf8Ao+Su/oAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii 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 pIXiivJMwfQo+/8A9Cra+KN/JZeB7mztER77VXTTbaJ/43m+T/0DfXb1mz6Xa3WpW2pTQJJdWayL byN/yzD7d/8A6CKAKvhvRofDvh/T9IgEeyzgWEsiBN7/AMb7e245b8a3KKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAryD9nX/knuof8AYUk/9Ew1 6/XkH7Ov/JPdQ/7Ckn/omGgD1+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAryD9nX/knuof9hST/ANEw16/XkH7Ov/JPdQ/7Ckn/AKJhoA9fooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKK8f8A+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa 7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5 Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA 9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P +FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx/ /hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A +isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6K xrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/ 8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf /H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9g orx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD 4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4 v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu /lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxr v5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAf oA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/ AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A 4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8A orGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A 6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3 /wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8A x+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gor x/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+ L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUP i/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa 7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5 Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA 9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P +FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx/ /hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A +isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6K xrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/ 8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf /H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9g orx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD 4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4 v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu /lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxr v5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAf oA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/ AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A 4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8A orGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A 6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3 /wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8A x+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gor x/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUPi/8A6Kxrv5Tf/H6P+FQ+ L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfoA9gorx//hUP i/8A6Kxrv5Tf/H6P+FQ+L/8AorGu/lN/8foA9gorx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa 7+U3/wAfoA9gryD9nX/knuof9hST/wBEw0n/AAqHxf8A9FY138pv/j9cP8KfBOueJPDNze6b4y1D RoUvXie2td+x22J8/wAkif3v/HaAPpiivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2 CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4 VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+ FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6 Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orG u/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x +gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8 fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2Ci vH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi /wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi/ /orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+ U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/ lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+g D2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8A hUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDh UPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCi sa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDo rGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/ AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH 6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH /wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v /wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L /wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv 5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN /wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2 CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4 VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+ FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6 Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orG u/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x +gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8 fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+gD2Ci vH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CivH/wDhUPi//orGu/lN/wDH6P8AhUPi /wD6Kxrv5Tf/AB+gD2CivH/+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x+gD2CiuU8G+HNR8N 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 5xhcZHzK/X+Ou/8ADPhnTfCujQ6ZpsQWJOXdvvyvx87HHLUAee/s6/8AJPdQ/wCwpJ/6JhpfhF/y UH4l/wDYUH/o65rb8GfDRvBWsXU1hr95NpU0JSOwmH+rf5P3nXZv+T+5Wx4d8F2XhrV9c1OzuLl5 9Yn8+5SZ1KI+53+T5f8ApofWgDgPgPdR2Nnr3hW8xFqdlfvNJCSpz9yM7fXa6f8Aj61Y+PhF/oOh aFB+81K+1OMW8P8Ae+R0+9/vSJW94o+GFhruqvren6hfaNr44F/bSN83yKmdmf7ny/IUqXw58M7f R9UttX1PWNQ1vW4F2pe3crfuk+fhF3f7f8Zf2xQBz3iD/k5/wp/2C3/9Auq6H41f8kj1z/tj/wCj 461LvwXYX3jew8WyXNyNQsYPJiRXXyth3jn5M/xt3q/4o8P2firw/c6JfSSJbXJTe0TfN8jh/wD2 WgDib/xa/gv4JaBqlv5BvW0+yhtknRnR32JkfL/sBzRY/DnxJfSNdeIfH+vm4lRCY9Kn+zRI/wDF j1/74SurvPCGm3/gtPCl0ZZLFLaO2DbvnwmNr9PvfKDXI2HwmuLeY2t74z1670QJ5aab57xr5P8A zzf5+V2ZTCqn4UAYnwKtbK18ReObWym8+zhuoUhk3bt6K82xt30ArR/Z1/5J7qH/AGFJP/RMNX/D XwqHhPxm2taXr1xHprO7SaWsb7HGxgiM2/5wm/K/Ien4103g3wdY+B9Jm07TZrqaCWYzMbllZw2x U/hUf3KAMOOaGf4/zJHIjyQ+G9kiq33G+0h8f+PKa9GrzL4eQDV9X8ReOGWF01S5MNhIkPP2aH93 vH8fz7B8n+xXptABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGDrPh fRtbvtOvtQtDLc6dL51owkZfLfK8/Kf9hfyreoooAKKKKACuV03wN4b0zxBNr9rpaLqczvK9w0ju d7/fPzH5e/511VFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABWTpei2Gi/a/sMHlfbLp7ybDs++Z/vtz+Fa1FABRRRQAUUUUAFFFFABRRRQAUUUUAFY+ h6HYaBpMOl6XCbezgL+XHvZ9m59/8X1rYooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigDN1TTbPWbF7HUIEuIJGRmhb7r7X3rn/vmtKiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvIP2 df8Aknuof9hST/0TDXr9eQfs6/8AJPdQ/wCwpJ/6JhoA9fooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooA4O7+EngTUJnup/DkEcj9RBK8S/giNtFdJougaZ4fsEstMs4ra3T+C JMbjx8zf3m4+9WxRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFY+ua HYa/pM2l6pCbiznKeZHvZN+19/8AD9K2KKAMXQvD+leGtOWw0izS1t928omW3N7sfpW1RRQAUUUU AFcHd/CTwJqEz3U/hyCOR+ogleJfwRG2iu8ooAx9F0DTPD9gllplnFbW6fwRJjcePmb+83H3q2KK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMfXNDsNf0m bS9UhNxZzlPMj3sm/a+/+H6U3QvD+leGtOWw0izS1t928omW3N7sfpW1RQAUUUUAZN1olje6vp+q 3EO6807zPs0gdvk3rsf9K1qKKACsHxH4Z0bxTp6WGs2ZubdJfOWPzHT5+mfkI/vGt6igAooooAKK KKACiiigAooooAKKKKACqN/YW2qWFzY3a77e4ieKVP7yvwf61eooAqW9vBZ26W1vCkUMSbURF2oi 1boooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK5nxF4y8P+EDbDXt QNp9p3+SfJeTfsxu+4p/vCgDpqK8/wD+F2fD3/oYP/JOf/4ij/hdnw9/6GD/AMk5/wD4igD0CivP /wDhdnw9/wChg/8AJOf/AOIrqND1yw1/SodU0uY3FnOX8uTYyb9r7P4voaANiiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorhL34u+CNNv7ixvdZMVz byvFLGbWY7GQ8jhKAO7orz//AIXZ8Pf+hg/8k5//AIij/hdnw9/6GD/yTn/+IoA9AorhLL4u+CNS v7exstZMtzcSpFFGLWYb2c8DlK7ugAooooAKKKKACiiigAooooAKKKKACvIP2df+Se6h/wBhST/0 TDXr9eQfs6/8k91D/sKSf+iYaAPX6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii 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 BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5D8Xf+Sg/DT/sKH/0dbV6 9XH+LfAdj4wudNub2/1C0m05na2kspVR0Z9ncqf7goA7CivP/wDhVv8A1Pnjj/wb/wD2FH/Crf8A qfPHH/g3/wDsKAN7x5/yT7xJ/wBgu6/9EvWF8Ff+SR6H/wBtv/R8lQS/CqG5geC48a+Mp4ZV2vHJ qYdHX3yldV4X8P2fhXw/baJYySPbWxfY0rfN87l//ZqANyiiigDz208Yai3xdvvCV5FbW1glp59j Iysstw2E7lvnH+t6D+Cun1nw3pHiGIQ6rpttdrsdEaWPe8e/721/4e3T0rI8XfD/AMPeM0D6naut 0seyO7ifZKi9ce//AAIfxVyUPwj1yYmDVviNr95YSIyy2ys6F1/4G7/+gUAZ/wAHj9k8beLdN0OU TeGIpt0ZMmfLk3/Js+dsps3/AD/x7E+ldd8M/GOo+LtLv21eG2ttUs7xoZLaFGRo12L99HYuDuLj /gGK6Twz4Z03wro0OmabEFiTl3b78r8fOxxy1cl4h+E+l6tqkus6Rd3eh62zO4vbRz87v97eueuN /Klfv/xUATfEXwz4Xv8Aw3quqa1YW8c0Vu0pvkQJMH2bE7pvP3cIz9lFcz4KudSvf2d9Z+352x6f eQ2rbgzPCqN/7NvT/gNasPwca+2x+KPF+ta5bJIsiWzzOinBP39zv/47trv73RbO78P3OiBBb2U1 s9ntiG3Yjrs+WgDM8H28N38N/D9rcwpLDLpNsjxuu5XXyV6ivEPGkE3w80rxD4OaJ20XWpEvtMdE +SBkmTfGxf7x2In8R6Jx8/H0NpWmw6To9jpsDs0NnCkCM33tqLsH41meLfCWneNNIGl6mZFiWZZ0 aF9row//AFtQA/wH/wAk+8N/9gu1/wDRKVj/ABbsZr/4Wa9FaoGdYUlODj5EkV3/APHUNdRpWmw6 To9jpsDs0NnCkCM33tqLsH41pUAcP8MNXtNb+HWjyWb4NtbpZzKPvI8aBP8A7L/gVctfn+0/2l9L NqDKNK01/tfG3ycq+P8Ae/1yf991Pd/BqO2uXl8I+JNT8OpP/r4Ynd0bH3Ojo3Hz/f3/AH+MV2Xh XwVpnhJbk2TXM1zdOJLq7upd8ty/zffP/AzQBxPwi/5KD8S/+woP/R1zXr1cp4d8F2XhrV9c1Ozu Ll59Yn8+5SZ1KI+53+T5f+mh9a6ugDgPjV/ySPXP+2P/AKPjrd8B/wDJPvDf/YLtf/RKVN4o8P2f irw/c6JfSSJbXJTe0TfN8jh//ZataVpsOk6PY6bA7NDZwpAjN97ai7B+NAHmX7RX/JPdP/7Ckf8A 6Jmr1+uV8ZeDrHxxpMOnalNdQwRTCZTbMquW2Mn8Sn+/XVUAeQ/F3/koPw0/7Ch/9HW1b3xS/wCZ K/7Gux/9nrV8ReC7LxLq+h6neXFyk+jz+fbJC6hHfcj/AD/L/wBMx6Vd17w9a682mG7eZP7Pv4b+ Hyn+86dNwI+7zQBH4v8ADVp4t8N3OlXax/vUPkysu7ypcYVxXgU2rXb+KvAXhjVIXj1Lw/qyWTyg gJNF5sIidR1A2J+W1s/NX0/XHa94D0nxF4o0rxBdNPFqGmyIyGJxtfY+9VbP4/8AfVAHY0UUUAFe Q/CL/koPxL/7Cg/9HXNevV5y3wn09dX1LULPxH4k0+fUJ3uLkWN4sSu5Yt/c/wBqgD0aivP/APhV v/U+eOP/AAb/AP2FH/Crf+p88cf+Df8A+woAwfi7/wAlB+Gn/YUP/o62r16vOV+E+ntq+m6heeI/ EmoT6fOlxbC+vFlVHDBv7n+zXo1ABRRRQB5B+zr/AMk91D/sKSf+iYa9frx3/hnPwl/z/wCu/wDf 6H/43R/wzn4S/wCf/Xf+/wBD/wDG6AOj+NX/ACSPXP8Atj/6PjrnfGP/ACbDbf8AYL0//wBDhrt9 R8FWGp+CV8JTXFyunpBDB5kbr5xSIps524/go1HwVYan4JXwlNcXK6ekEMHmRuvnFIimznbj+CgD b1TTLPWdOm0/ULdJ7SddrxPXzD40nvPC/hh/h1qgklew1JbywvFTYk1u6PnjH95z/f6uufkr6trj /GfgLSfHEdnHqUlxE1mzvFLbyBXw/wB5eR7LQB2FFFFABXkH7Ov/ACT3UP8AsKSf+iYa9fryD9nX /knuof8AYUk/9Ew0Aev0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFeP/2B8cP+hw0P/vyn/wAYoA9gorx/ +wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A 78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOG h/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKA PYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/ YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8 f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/ AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBD hof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xi gD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMU f2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2Ci vH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ /wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8A Q4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8 YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDj FH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9g orx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw 0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/ AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf /GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A 4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAP YKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/o cND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh /wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vy n/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/ AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABig D2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/ 6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD4 4f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/7 8p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U /wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAY oA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8c P+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A +OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/ +/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDf lP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8A GKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gf HD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+ wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0 P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A 35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/Y Hxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f /sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/oc ND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/ AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn /wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf 2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2Civ H/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6 HDQ/+/Kf/GKAPYK8g/Z1/wCSe6h/2FJP/RMNJ/YHxw/6HDQ/+/Kf/GKxvD3w5+KnhXT30/RfEmh2 1s8xmZPv5f1+eE/3aAPeaK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD 44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/K f/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/ AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2C ivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8 cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7 A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDv yn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH /wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9 gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9g fHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/ +wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A 78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOG h/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKA PYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/ YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8 f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/ AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBD hof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gorx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xi gD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMU f2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2Ci vH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf/GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ /wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8A Q4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAPYKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8 YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/ocND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDj FH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh/wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9g orx/+wPjh/0OGh/9+U/+MUf2B8cP+hw0P/vyn/xigD2CivH/AOwPjh/0OGh/9+U/+MUf2B8cP+hw 0P8A78p/8YoA9gorx/8AsD44f9Dhof8A35T/AOMUf2B8cP8AocND/wC/Kf8AxigD2CivH/7A+OH/ AEOGh/8AflP/AIxR/YHxw/6HDQ/+/Kf/ABigD2CivH/7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/+/Kf /GKAPYKK8f8A7A+OH/Q4aH/35T/4xR/YHxw/6HDQ/wDvyn/xigD2CivH/wCwPjh/0OGh/wDflP8A 4xR/YHxw/wChw0P/AL8p/wDGKAPYKK8f/sD44f8AQ4aH/wB+U/8AjFH9gfHD/ocND/78p/8AGKAP YKK8f/sD44f9Dhof/flP/jFH9gfHD/ocND/78p/8YoA9gorx/wDsD44f9Dhof/flP/jFH9gfHD/o cND/AO/Kf/GKAPYKK8f/ALA+OH/Q4aH/AN+U/wDjFH9gfHD/AKHDQ/8Avyn/AMYoA9gorx/+wPjh /wBDhof/AH5T/wCMUf2B8cP+hw0P/vyn/wAYoA9gork/Btn4pstInj8WalbX1/5++Oe2Tagh2p8v CJ339u9dZQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBxPiH4j6T4e1qL RVtL/U9UkTcbXTofOdR/tc1BoPxM0XWvEDeH5LbU9M1g/dtb+22O/wAm/wBTj5OfmxXH6dqUHw9+ Jfie88YNJD/a7edpuoGJ5kaHe58oMPmQjcnyf9M/9zMGuX+nfEf4meErjwsj3i6Xcedf35tnVY0D 70R2KcfcfZ7v9aAPdKKKKACiiigAooooAK4r4i+NW8B6Bb6qbAX3nXK25jE3lY+V3z9xv7tdrXkH 7RX/ACT3T/8AsKR/+iZqAE/4W94v/wCiT67+c3/xirOj/F5LjxBbaJr3h3UNDvb1kS387c+4vwM5 VG+98tdr/wAJ54S/6GrQ/wDwYQ//ABdeVfEW6tviB4y8MaX4V1M3N3YzPJc3Nl862qExfvt33TjH 97sB3oA93orlvGfjGy8E+H31O6Vpju8qGGP/AJay4+7/ALPQ1wVunxl1K1TXI7rSrNHHnJo8kOx+ ONh3plS+P7/8f8PYA9Yv7+20uwub67bZb28Tyyv/AHVTk/1rjfAfjvVPGqNey+Gn07SyjbLx70OH dSMoE2r6t83+xXNX3jPVvGHwq1z7JbWVnqlpFNBrFpebwVQQvvMaD5lfP3d/91/7tW/gh/wkX/CG 6d9r/s3/AIR/yZ/svl+Z9p8zzmzv/g2ff/8AHaAPWqK8X/4S7xp4/wBRuU8DNbWGkWT7Dqt2h/0h v7qAo/r/AHc8c7d4StDQvF/inQfFFp4X8brA73wP2DVLcbUmf+6w+Uf7HCrzs6791AHrFFeLx/EL xbrniDxH4Z0Wws31a3uXgtJ87EtoEmeN5pN7/O4yvCL37/drp77xPqHgH4eQX3iy5TUtX3vETANi XMrM5RPuDb8n+z/D+YB6DRXjNunxl1K1TXI7rSrNHHnJo8kOx+ONh3plS+P7/wDH/D239D+Ic2se Adc1d7RLPW9Jgm+0WcwI2yxpuGUzvCf/AGXpQB6PRXimkeK/HnxJ8MxXGgNpmlS28jLe3M2dkz9Q kaYf5QhTdv8A73HStXwF4w8Uy+MNS8H+KEtZr3T4PPa7hG0yfMnp8mNsidloA9WoryfUPFnivxN4 i1jw74JWwtY9LkEdzqV0cnf/AHFTb/sOn3H+5RoXi/xToPii08L+N1gd74H7BqluNqTP/dYfKP8A Y4VednXfuoA9Yorznxz46uvD2o2Xhzw/Ytf+Ir/54LdwSiIT99j/AMBfvgY3N789eXXxb8HWzazq 15pWv6fDg3FvEvltGnVn+VE9CM/P1ztoA9norI0XW7TX9GtNVsXLW11EHT/Z/wBk/wC1zj8Kb4k1 GbSfDGr6lbqjTWVnNOqP90siFx/KgDZorxTSPFfjz4k+GYrjQG0zSpbeRlvbmbOyZ+oSNMP8oQpu 3/3uOlavgLxh4pl8Yal4P8UJazXunwee13CNpk+ZPT5MbZE7LQB6tRXn/gjxhqfibxN4s0y8ito4 dGvfItnhR9zrvmT5/m5/1Y9OtHjfxhqfhnxN4T0yzitpIdZvfIuXmR9yLvhT5Pm4/wBYfXpQB6BR XmfxI8f6t4L1DQYNM02K/bUZZFeB1cu23y/kTZ/F8+P4q5/xBq3xX8N6dN4qv7/Q1soUjd9LWMtt 37E2/c3/AHm/56UAe2Vla7qn9jeH9S1MReb9itpbny923fsTdj9K8xg1D4oeN7K31bQpNN8O6fKo MMVyN8sykKd/MbjbnO3Gz+VSeH/F934y+CPiO+1FU+129neWzyJ/y1KQb9/T5fv0Ad34L8S/8Jb4 SstbNp9l+0+Z+5379ux2T73Gfu10lfPvgGX4i6p4CsLDwsLDR9PtGcLe3nzvcOXdm2/Kw2Zcfwfw ff6iuw8JeNtZh8WTeC/F1tHDrAHmWtzGv7q7RU5cf98O/GP7vybMUAepUV5b4t8bazN4sh8F+Eba ObWCPMurmRf3VojJw5/77R+c/wB359+KybvX/iL8PHh1LxTPaa7ojyoly9mg32w9QNiD37/cx8m6 gD2iivLviH8SJvBs/hy6s1trvS9Sd5Lhl/eM0KFOYfn2cq5+tanhaLx9ceILjUvEstla6VLC4i0u Jkkktn3LtDOE+b5d38X8XbsAat54kEHjfTfDdtaGeWe3kvLmTfs+zRL8qPz9/c+FrqK8v+E8r63L 4m8WSNckavqW2381VX/R4v8AVdP95k/4BR4i8TeKdY8Wal4T8IfZ7SawgSa71G8Tciu5RlRMI652 /wB7/axjZmgD1CuZuvEbWXjiw0G4tNkGo2skttc+Z9+ZD88WwDsvzbq5Hw1qvxE0nxZBoXimGPVL S4heb+07SB0S34zsZwip/Ae2fn+9Wj8XrS4fwM+p2Zl+3aRdQ6hb+Uu7DI33m4PyqrM3/AaAPQ6K zdK1KHVtIsdSgRlhvIUnjDfe2uu8VpUAcveeJBB4303w3bWhnlnt5Ly5k37Ps0S/Kj8/f3Pha6iv L/hPK+ty+JvFkjXJGr6ltt/NVV/0eL/VdP8AeZP+AUeIvE3inWPFmpeE/CH2e0msIEmu9RvE3Iru UZUTCOudv97/AGsY2ZoA9Qoryvw1qvxE0nxZBoXimGPVLS4heb+07SB0S34zsZwip/Ae2fn+9Wx8 Q/Gq+D9OgW3t3vNX1BzDYW8au25+PTr95Pl/ioA7yivGbhPjLptq+uSXWlXiIPOfR44d788bBsTL FM/3/wCD+Lv1Gm/EnSrvwC/i6YPb2kS5uYV+eRJd+3Zx9V9OHU/LQB31FeMWd18W/GNsus6TeaVo GnzZNvbyr5jSJ1V/mR/UDPydM7a6jwJ44u9euNQ0bXrFLDxDpsmJbdD8rp/fXv3+nzJz81AHf1yt p4j1G48c32gPoN3BYW0Hmx6swfyZ3wmUHyY/jb+L+Cuqrz3S/GOpX3xe1nwi8dsbDT7NZ0kRG81m xDwTu6fvGoA9Corxm2+IXinxF4q8R+FdItrJdQtppks7xiVW3hR2Rnf7+5v9WFAT+I54qGDxR8Qv BvjDQ9I8VXNhqlrrMyRRzRpt8v5wp27VT/nohO5T7UAe2UV534w8U67/AMJRaeEvDFvGNVurZ7l7 u6jdoreEblyNv8e5er/J9zru4w7HUPij4e1/S7XXDb69p+pTCKaa0tnzZrwC7MiJs+/n5v7h+71o A9C8R+JtG8Lael/rN4ba3kl8lZPLd/n6/wAAP901vV4P+0B/wkf9jJ5/9l/8I99vh+y+Xv8AtPme S33/AODbnf8A+O103jvxl4o8E+BNO1K6g0mbWZb0QyiNHa32kSN8mWD/AMCUAepUV5xoGoeNvEWu 2mut9n0/wpJHmKxco1xcRMhKTHCtg/Onybh93/vqfwR4w1PxN4m8WaZeRW0cOjXvkWzwo+513zJ8 /wA3P+rHp1oA9Aorz/xv4w1Pwz4m8J6ZZxW0kOs3vkXLzI+5F3wp8nzcf6w+vSk8X+NL/SfEWleG NBsoLvXNQQun2l2WOBB/G2Pv8I/Rv4KAPQawfEfibRvC2npf6zeG2t5JfJWTy3f5+v8AAD/dNea3 ev8AxF+Hjw6l4pntNd0R5US5ezQb7YeoGxB79/uY+TdWX8d7jXLvw9BcCbSJfDMt7C9m9uXa4d/J fl/4Cn3+n+z70Aeo+MvEeo+GtKgutO8P3WtTyT+S1tb7tyLtY7/lR+Plx/wKurry3x34y8UeCfAm naldQaTNrMt6IZRGjtb7SJG+TLB/4Ero/HPjCHwR4afV5oTcyCVIooN+zzmPbdtOPl3N/wABoA6+ ivIXsvjW3/ExTUdCjOFm/stVHTH+p3bPXj7/APwOtfw18QpfEfww1TxLHaLDfadBN5iN/qmmjh3+ v3OVoA9HorxTSPFfjz4k+GYrjQG0zSpbeRlvbmbOyZ+oSNMP8oQpu3/3uOlavgLxh4pl8Yal4P8A FCWs17p8HntdwjaZPmT0+TG2ROy0AerUV5NfeIPHHi/WNYsfBctnpVrpN19llvLyElp5l37wnyOm zocct9zON2K0PBWr+OI/El14d8U2aXCW0PnLrMMDpFMxC/Lu2hW+922/cPWgDobPxIJ/G+peG7m0 MEsFvHeW0m/f9pib5Xfj7m18rXUV5f8AFiV9El8M+LI2uQNI1LbceUqt/o8v+t6/7qp/wOvUKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPE fAGm2fj3xDr3iPxRZx3uoW939mh0y8+f7BFhjsZOh+8R86ffjY/ezSfFnRtO8FJoni7QbKDT9Qtb 9IdlsnlRSrsd/mVMf3Cv+6xB9t3WPh5rdl4g1LXPBOvjS7vUGBntJ4d8Ur78u+47tvX+4f4h/FRo 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 bD7RGu3sMf8AtSuus/Amn6X4GvPCmms8cNzBLE1zMiM+5xje23ZvPP8A46KAKXwV/wCSR6H/ANtv /R8lc94f/wCTn/Ff/YLT/wBAta7zwX4b/wCES8JWWifa/tX2bzP32zZu3uz/AHef71Z2neCW0/4l ar4x/tAP9vtltvsph5Qfu+d+/wD6Zjt3oA4+48D3N3rOoeJ/hv4yhhluZi08MT+dbyTdX3OC398t tKt/LF3wz4s8VaV44g8FeLxbXN7cxCa1v7TGHHzOd3TjCOv3F+533bqhuPhp4i8PX+pX3gPX7XTl 1CZZJbS4s12Kg34Cvsf+993Z39q1vD3w+v7fxPH4p8Ua4dV1lIlji2x+VFb/ACHds/vdfRP4uKAL Pxq/5JHrn/bH/wBHx139eYfEmzj8Ta/4Y8JiFblZ7r7feHzXHlW0Qx823kb97KrcfNxmvT6ACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigDnp/D1rc+I9O19XmhvLSN4P3MgVZ43/AIJOPnVf vKPWuhoooAKwZNBsp/EkGszLJNd28JhtxI/yQ5OWZF7O/dv9gfjvUUAFFFFAHPT+HrW58R6dr6vN DeWkbwfuZAqzxv8AwScfOq/eUetdDRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGFDoVnba/ea3h5L67CRmSaTeIol/gTj5EyN+P7xrdoooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo 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 /wBTm1mBdfttPi00rI0z2sL+bjY2xVy/97bXVfDX4qar468W3en3VnZW1pHbPcRLDv3/AH0QBn3/ AO3/AHK8W+GWj2Gv/EDTdL1SAXFjP52+PeybtkTsOVOeor6y07w5oWkzNc6bo1hYzMuxntrZI3K+ nyCgDZooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKAPIfhF/yUH4l/9hQf+jrmvXq8h+EX/JQfiX/2FB/6 Oua9eoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOd8ef8k+8Sf9gu6/9EvXxFX2748/ 5J94k/7Bd1/6JeviKgAooooA+wPgr/ySPQ/+23/o+SvmLx5/yUHxJ/2FLr/0c9aOj/E7xb4f0qDS 9K1QW1lAG8tPs0L7dzbzyyeprmL+/udTv7i+u28y4uJXllf+8z8mgClXuv7OcFodV1y4dk+3rDCk OW+YxFm8z5f+AJ+leFVsaLr+p+H79L3TLya2uE/jifG7p8rf3l4Hy0Ae2fFPwV4+8UeKJDYpLe6I VR7aFLpESFwuOUd1+f7x3ejV6n4D8OzeE/BWm6JcTJLPbK+50+7uZ2f/ANmxXgd/8f8Axlc2skUC aZaMxwJobdt6/wDfbstc7YfFLxrpNmtpZa26wIzt88ETuWdt7ks6buXbNAHS/s6/8lCv/wDsFv8A +joaP2iv+ShWH/YLT/0dNXDaR4t1rw/q1zq+jXKWl7OjRyMlvHt2swbhNuxeg/pUPiLxNrPirUEv 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 gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPIfhF/yU H4l/9hQf+jrmvXq8h+EX/JQfiX/2FB/6Oua9eoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKAOd8ef8k+8Sf9gu6/9EvXx/ZeFPEWp2iXVloGqXED/clgs3dG/wCBAV9gePP+SfeJP+wXdf8A ol6wvgr/AMkj0P8A7bf+j5KAPmL/AIQPxb/0Kuuf+C+b/wCIo/4QPxb/ANCrrn/gvm/+Ir7cooA+ I/8AhA/Fv/Qq65/4L5v/AIij/hA/Fv8A0Kuuf+C+b/4ivsfU9d0nRxF/aer2Vh5n3PtVwkW/6bqN M13SdYEv9mavZX/l/f8Astwkuz67aAPjj/hA/Fv/AEKuuf8Agvm/+Io/4QPxb/0Kuuf+C+b/AOIr 7cooA+I/+ED8W/8AQq65/wCC+b/4ij/hA/Fv/Qq65/4L5v8A4ivtyqN/f22l2FzfXbbLe3ieWV/7 qpyf60AfGP8Awgfi3/oVdc/8F83/AMRR/wAIH4t/6FXXP/BfN/8AEV9Of8Ls+Hv/AEMH/knP/wDE VoaN8SPCXibUBp2k6ys92ylliaCSPf8A99oKAPlP/hA/Fv8A0Kuuf+C+b/4ij/hA/Fv/AEKuuf8A gvm/+Ir7cooA+I/+ED8W/wDQq65/4L5v/iKP+ED8W/8AQq65/wCC+b/4ivtyigD4j/4QPxb/ANCr rn/gvm/+Io/4QPxb/wBCrrn/AIL5v/iK+r9f8feF/CuoJYa3qf2W6eLzUTyJX+T1+RT/AHTXW0Af Ef8Awgfi3/oVdc/8F83/AMRR/wAIH4t/6FXXP/BfN/8AEV9uUUAfEf8Awgfi3/oVdc/8F83/AMRR /wAIH4t/6FXXP/BfN/8AEV9uUUAfEf8Awgfi3/oVdc/8F83/AMRR/wAIH4t/6FXXP/BfN/8AEV9u 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 8P8AUtL0uA3N9P5OyPeqbtsqN1Y+grZ8J2k+n+END0+7QJcWthBDMufuuiKMVuUUAeOeB/B3iDRf hJ4l0LUNO8nUr43PkRecjb98CInzBsD5qqaFceOfhh4ettNbw1Lr9lsSSEWj7JbZ3G+SF1RX3Ybd 8+Mf7XO1fbqKAPJfCGgeIdd8bHx34qshYSRw+TpthyXgRv4mx/vuMNz87/c2rR4q8O694e8dP478 KwHUTNF5Woac4y8qKifcP/bNOnz7/wC+Dsr1qigDxu61b4iePYbax0/RLnwpZPcf6ZezTESheuEU hHA91Hz/AN5PnrY+IvhrWNb8XeCtQ0608+202/M12+5F2JvhOcMefuNXplFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHkPwi/5KD8S/+woP/R1zXr1eQ/CL /koPxL/7Cg/9HXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+SfeJP+wXdf +iXrC+Cv/JI9D/7bf+j5K3fHn/JPvEn/AGC7r/0S9YXwV/5JHof/AG2/9HyUAd/RRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeQ/CL/AJKD 8S/+woP/AEdc169XkPwi/wCSg/Ev/sKD/wBHXNAHr1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFc748/5J94k/wCwXdf+iXroq53x5/yT7xJ/2C7r/wBEvQBhfBX/ AJJHof8A22/9HyV39cB8Ff8Akkeh/wDbb/0fJXf0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeQ/CL/koPxL/wCwoP8A0dc1 69XkPwi/5KD8S/8AsKD/ANHXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+ SfeJP+wXdf8Aol6wvgr/AMkj0P8A7bf+j5K3fHn/ACT7xJ/2C7r/ANEvWF8Ff+SR6H/22/8AR8lA Hf0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABXkPwi/5KD8S/wDsKD/0dc169XkPwi/5KD8S/wDsKD/0dc0AevUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVzvjz/AJJ94k/7Bd1/6JeuirnfHn/JPvEn/YLu v/RL0AYXwV/5JHof/bb/ANHyV39cB8Ff+SR6H/22/wDR8ld/QAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF 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 gDufBt54pvdInk8WabbWN/5+yOC2fchh2p83Dv339+1dZRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeQ/CL/AJKD8S/+woP/AEdc169XkPwi /wCSg/Ev/sKD/wBHXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+SfeJP8A sF3X/ol6wvgr/wAkj0P/ALbf+j5K3fHn/JPvEn/YLuv/AES9YXwV/wCSR6H/ANtv/R8lAHf0UUUA eP694C8c/wDCxNV8T+FdY02wN5EkINx8z7NiZ4Mb/wASUDwj8XtUX7LqfjeytrR/vS2ceJk/3dka f+h17BRQBy3gzwdZ+CfD6aXas0x3ebNNJ/y1lx97HO3oK4rUfDPjHwn4t1XXvBFvYXsGsOslxY3M nzrLhzv+Z14zv/j/AOWn3PlFevUUAeE+NPBnxF8aaBb3Go3dk11Cyuuj2g8uPnOWZ2f/AFg5GPuf 3W5rQ8WeHfHXiPTPCuvnTrAeIdImeabTxN8jN5ybAvz7MbUy/wA9ezUUAcT4h8Jnx54KttN11Pst 60STu8X/ACwudnp/EuXeuSso/jFZpHoZg0WWOOPYusTOX52ffPz72b+H7lex0UAcl4D8LyeEtAkt Lu8a8v7qd7y8mb+OZ8bvr92utoooA8d1jwP4p8N+Lr7xV4Int7j7fL5lxpVzlUd/ruwx3l36ptq1 p/hPxX4n8RaP4i8bNYWkelyGS2021GTv/vs+7/Yjf77/AHK9YooA891PwdqV98XtG8XRyWx0/T7N 4Hjd281mIm5A29P3i16FRRQBw3xF8H3PjfSdM01JVigi1KGe5cvtfydro+z5cb/n71zPkfGLSFi0 S0TStUttvlJrE/8ArVTPyu4Z/vr1+4//AAOvX6KAOG8AeCj4Q0aeO7uvtWqXs/2m9vM5Mj9fv8My /wC9/ef+9WH4P+H2r+Hvhpr/AIWu7iye81L7R5MkTvsXzIVj+c7OORmvVaKAOT+Hnh278KeCdO0W +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 NArv90M6FBn862aKAOF8LeDZ9M+GUfhDVZ0LNDcQTyWj/wAErv8Ac3L6PXIaJpPxS8EW8GgaPbaN qelxzP5V3P8AL5KM/RkDq3cv/H97qa9pooA8m8DeAfEvh7x3feI9b1K21Br20MbvG77vNbY393AT 5Cv/AHzxWvpng7UrH4vaz4ukkthp+oWaQJGjt5qsBDyRt6fu2r0KigDz/wAb+D9T8TeJvCep2ctt HDo1559ykzvudd8L/JhT/wA8z6da1PiH4du/FfgnUdFsXiS4ufL2NK3y/LIj/wDstdZRQB5l4h+H t54g8A+F/DU00Ef9nTWwvWR/vJHEUfYdv3+eKzfI+MWkLFolomlapbbfKTWJ/wDWqmfldwz/AH16 /cf/AIHXr9FAHDeAPBR8IaNPHd3X2rVL2f7Te3mcmR+v3+GZf97+8/8AerkP+EQ8aeANQuX8DLbX +kXr7zpV25/0d/7yEug7f3s887tgevaKKAPL9B8LeKb7xpZeLPGF5BG9pEPsemafkpC8ibH3/wD1 i3b59q1e0zwdqVj8XtZ8XSSWw0/ULNIEjR281WAh5I29P3bV6FRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHkPwi/wCSg/Ev/sKD/wBH XNevV5D8Iv8AkoPxL/7Cg/8AR1zXr1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvj z/kn3iT/ALBd1/6JesL4K/8AJI9D/wC23/o+St3x5/yT7xJ/2C7r/wBEvWF8Ff8Akkeh/wDbb/0f JQB39FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAV5D8Iv+Sg/Ev/ALCg/wDR1zXr1eQ/CL/koPxL/wCwoP8A0dc0AevUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVzvjz/kn3iT/sF3X/AKJeuirnfHn/ACT7 xJ/2C7r/ANEvQBhfBX/kkeh/9tv/AEfJXf1wHwV/5JHof/bb/wBHyV39ABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHkPwi/5 KD8S/wDsKD/0dc169XkPwi/5KD8S/wDsKD/0dc169QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAc748/wCSfeJP+wXdf+iXrC+Cv/JI9D/7bf8Ao+St3x5/yT7xJ/2C7r/0S9YXwV/5JHof /bb/ANHyUAd/RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFeQ/CL/koPxL/7Cg/9HXNevV5D8Iv+Sg/Ev/sKD/0dc0AevUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVzvjz/kn3iT/sF3X/ol66Kud8ef8k+8 Sf8AYLuv/RL0AYXwV/5JHof/AG2/9HyV39cB8Ff+SR6H/wBtv/R8ld/QAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8Iv8A koPxL/7Cg/8AR1zXr1eQ/CL/AJKD8S/+woP/AEdc169QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAc748/5J94k/wCwXdf+iXrxnwB8PvEWt+CNO1Wx8d6nplrNv2WUG/YmHZOMSp6V7N48 /wCSfeJP+wXdf+iXrC+Cv/JI9D/7bf8Ao+SgDnv+FQ+L/wDorGu/lN/8fo/4VD4v/wCisa7+U3/x +vYKKAPH/wDhUPi//orGu/lN/wDH6P8AhUPi/wD6Kxrv5Tf/AB+vUdU1Oz0bTptQ1C4SC0gXc8r1 zPw68at480C41UWAsfJuWtxGZvNz8qPn7i/3qAOU/wCFQ+L/APorGu/lN/8AH6P+FQ+L/wDorGu/ lN/8frsfGfjez8GRWSS2k97f30jR2dpbLlpXH/7Sj/gVc1ffE/WfDtzYN4r8GyaPp1zN5JvF1BLn YcZ+6if5+bFAFP8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAfr2CigDx//hUPi/8A6Kxr v5Tf/H6P+FQ+L/8AorGu/lN/8fr2CigDx/8A4VD4v/6Kxrv5Tf8Ax+j/AIVD4v8A+isa7+U3/wAf r2CvP/ip4x1LwV4ZttU02G1llmvEgZLpGZdux3z8rD+5QBz/APwqHxf/ANFY138pv/j9H/CofF// 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 fym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY1 38pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/X sFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0 f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A 8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A 0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A 9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/ AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/ AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB 4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/Cof F/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqH xf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY13 8pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd /Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H/CofF/8A0VjXfym/+P17 BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj//AAqHxf8A9FY138pv/j9H /CofF/8A0VjXfym/+P17BRQB4/8A8Kh8X/8ARWNd/Kb/AOP0f8Kh8X/9FY138pv/AI/XsFFAHj// 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 T3UP+wpJ/wCiYaTw/wD8nP8Aiv8A7Baf+gWtAHsFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAeQ/CL/koPxL/7Cg/9HXNevV5D8Iv+Sg/Ev/sKD/0dc169QAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc748/5J94k/7Bd1/6JesL4K/8kj0P/tt/6Pkrd8ef 8k+8Sf8AYLuv/RL1hfBX/kkeh/8Abb/0fJQB39FFFABXK+DfB1j4H0mbTtNmupoJZjMxuWVnDbFT +FR/crqqKAOY8XeCtJ8aaalrqcbgxNuhuIjtliP+ycVyulfCaRbyJ/FPivU/EUEMqzQ2d0zeTvG7 76O77q9RooAw/FHh+z8VeH7nRL6SRLa5Kb2ib5vkcP8A+y1a0rTYdJ0ex02B2aGzhSBGb721F2D8 a0qKACiiigArB17w9a682mG7eZP7Pv4b+Hyn+86dNwI+7zW9RQAVx2veA9J8ReKNK8QXTTxahpsi MhicbX2PvVWz+P8A31XY0UAc14t8Jad400gaXqZkWJZlnRoX2ujD/wDW1chp/wAI7hzNH4l8X65r tm7DNpJcyRRSAf8APT523fw4+792vVKKAPINL+CkNhb6tplx4jv5dDv0x9hRfLKN5kbrJ12b/wB3 t+5XpulabDpOj2OmwOzQ2cKQIzfe2ouwfjWlRQByvg3wdY+B9Jm07TZrqaCWYzMbllZw2xU/hUf3 KS08F2Fj43v/ABbHc3J1C+g8mVGdfK2DYOPkz/AveurooA4nxd4C07xiYLtpprPVLT/j2vrf5XQ9 Vz/eXf8ANWJpnwghN3a3nifxFq3iKa0kLxRXkmYPoUff/wChV6jRQAVRv7C21SwubG7Xfb3ETxSp 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 +T39RRrnw703X/F+meJLu6vEvdOMPkrCybG2PvG/5Pf1FdtRQBRv7C21SwubG7Xfb3ETxSp/eV+D /WuO0T4XaZoOmalplvqusTWeo2jWckM8yPsT5vufJ8v+sf8A76rv6KAOV8G+DrHwPpM2nabNdTQS zGZjcsrOG2Kn8Kj+5SWnguwsfG9/4tjubk6hfQeTKjOvlbBsHHyZ/gXvXV0UAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeQ/CL/koPxL/wCwoP8A0dc169XkPwi/ 5KD8S/8AsKD/ANHXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+SfeJP+wX df8Aol6wvgr/AMkj0P8A7bf+j5K3fHn/ACT7xJ/2C7r/ANEvWF8Ff+SR6H/22/8AR8lAHf0UUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcB8av+SR65/2x/wDR 8dbvgP8A5J94b/7Bdr/6JSsL41f8kj1z/tj/AOj463fAf/JPvDf/AGC7X/0SlAHRUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQB5D8Iv+Sg/Ev/ALCg/wDR1zXr1eQ/CL/koPxL/wCwoP8A0dc169QAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAc748/5J94k/7Bd1/wCiXrC+Cv8AySPQ/wDtt/6Pkrd8ef8AJPvE n/YLuv8A0S9YXwV/5JHof/bb/wBHyUAd/RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQBwHxq/5JHrn/bH/ANHx1u+A/wDkn3hv/sF2v/olKwvjV/ySPXP+2P8A 6Pjrd8B/8k+8N/8AYLtf/RKUAdFRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHkPwi/5KD8S/8AsKD/ANHXNevV5D8I v+Sg/Ev/ALCg/wDR1zXr1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvjz/kn3iT/s F3X/AKJevGvh98GvDni3wVp+t393qcdxc790cMqbBsd07p/s17L48/5J94k/7Bd1/wCiXrC+Cv8A ySPQ/wDtt/6PkoA5z/hnPwl/z/67/wB/of8A43R/wzn4S/5/9d/7/Q//ABuvYqKAPHf+Gc/CX/P/ AK7/AN/of/jdH/DOfhL/AJ/9d/7/AEP/AMbrt/EXjnw54agu3v8AVLT7TbpuezSZDcOf4V2Zz3rK +FfjHUvGvhm51TUobWKWG8eBUtUZV27EfPzMf79AHO/8M5+Ev+f/AF3/AL/Q/wDxuj/hnPwl/wA/ +u/9/of/AI3Xpup67pOjiL+09XsrDzPufarhIt/03VwHg34lS+MfiJqWk2kdv/YtvatPbTiJklcq 6Jyd2Nvzt2oAo/8ADOfhL/n/ANd/7/Q//G6P+Gc/CX/P/rv/AH+h/wDjdexUUAeO/wDDOfhL/n/1 3/v9D/8AG6P+Gc/CX/P/AK7/AN/of/jdexUUAeO/8M5+Ev8An/13/v8AQ/8Axuj/AIZz8Jf8/wDr v/f6H/43XsVec/FvX9a0Dw5p8vh65eLULnUo7ZPLhSVn3pJ8gRx6hKAMP/hnPwl/z/67/wB/of8A 43R/wzn4S/5/9d/7/Q//ABuu08CeL7bxn4YttTjBWdAIrtdm0JMEBf8A4DzWD8RfEusaJ4u8Fafp 135FtqV+YbtNqNvTfCMZYcffagDJ/wCGc/CX/P8A67/3+h/+N0f8M5+Ev+f/AF3/AL/Q/wDxuvYq KAPHf+Gc/CX/AD/67/3+h/8AjdH/AAzn4S/5/wDXf+/0P/xuvYqKAPHf+Gc/CX/P/rv/AH+h/wDj dH/DOfhL/n/13/v9D/8AG69iooA8d/4Zz8Jf8/8Arv8A3+h/+N0f8M5+Ev8An/13/v8AQ/8AxuvY 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 ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQB5D8Iv+Sg/Ev8A7Cg/9HXNevV5D8Iv+Sg/Ev8A7Cg/9HXNevUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP8Akn3iT/sF3X/ol6wvgr/ySPQ/+23/AKPkrd8ef8k+ 8Sf9gu6/9EvWF8Ff+SR6H/22/wDR8lAHf0UUUAFYPhzwzo3hbT3sNGszbW7y+c0fmO/z9M/OT/dF b1FABWDb+GNHtvFNz4hhs9mrXcPlTT+Y/wA6fKMbc7f4EreooAx9c0Ow1/SZtL1SE3FnOU8yPeyb 9r7/AOH6VasLC20uwtrG0XZb28SRRJ/dVOB/Sr1FABRRRQAVk6pothrX2T7dB5v2O6S8hy7JsmT7 jcfjWtRQAVzWq+EtF1nV9P1a9sFmvrCRHt5/MdGTDbv4T83/AAL+tdLRQBi674f0rxLpzWGr2aXV vu3hHyu1vZh9a4rQvgn4O0G5+0Naz6m5B2/2gyyKn0QIF/76r0+igDzPTvgx4R02a/fyryS31CHy ZLKa4/dqm9JBt2/P99E/jrvrCwttLsLaxtF2W9vEkUSf3VTgf0q9RQBg+HPDOjeFtPew0azNtbvL 5zR+Y7/P0z85P90UW/hjR7bxTc+IYbPZq13D5U0/mP8AOnyjG3O3+BK3qKAOa8U+ENF8Y2C2urW3 mlNxhmRtskTf7Lf56Vg+HfhF4S8OXEV3FaT3l5BIZYZruYkqf91MJ/47XodFABVS4t4Ly3e2uIUl hlTa6Ou5HWrdFAHmeofBLwbf6tHfm1ntFVtz21rLshkO7PI/h+iba7TRdA0zw/YJZaZZxW1un8ES Y3Hj5m/vNx96tiigDB8OeGdG8Lae9ho1mba3eXzmj8x3+fpn5yf7oreoooA5LX/APhfxVqCX+t6b 9quki8pHE8qfJ6YRh/eNZn/Ck/h7/wBC/wD+Tk//AMXXoFFAFDS9Ms9G06HT9Pt0gtIF2pElcP4j +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 2qWFzY3a77e4ieKVP7yvwf61eooAxdP8P6TpWgpodrZomnKrp9mcl1Kty4+bqPnNcS3wO8ESalHc LZ3KwomxrNblvJfP8R/j/wDH/wCGvUKKAKGl6ZZ6Np0On6fbpBaQLtSJKoeHPDOjeFtPew0azNtb vL5zR+Y7/P0z85P90VvUUAYNx4Y0e58U23iGaz36taQ+VDP5j/InzDG3O3+N63qKKAOa8U+ENF8Y 2C2urW3mlNxhmRtskTf7Lf56Vzui/BzwfpEN4kmnNqDzq6PJfvvcI39zb9z/AH/v9ea9HooA4Xwl 8MdE8GwajbWclzeQaiiLcxXux0YJu7BB/fPFYv8AwojwR/a323yrvyOn2H7T+5+7j/rp/tffr1Si gDC0vw/pekXl3eWNktrLdrCs2w/IUiTYgC/cQBOPlrlfEfwe8L+JtQbUpku7S5lZnle0cL5znuyu rV6PRQByeneBvDmkSaZJYaYlu+mtK1q6SOfLaUbH/wB/0+bNXrjwxo9z4ptvEM1nv1a0h8qGfzH+ RPmGNudv8b1vUUAFeceI/g94X8Tag2pTJd2lzKzPK9o4XznPdldWr0eigDnfDnhPRfCdvNFotgto srb5jveRnP8AvOa5LV/gf4P1WRZUt7mwkLM8gsptqOW/2XDhfT5a9PooA53w54T0XwnbzRaLYLaL K2+Y73kZz/vOa57xF8IvCXiO4lu5bSezvJ5BLNNaTEFj/uvlP/Ha9DooA5Dwr4A8P+D9z6XYFbmS JYpbl5C0j/X+5/wHFdfRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8Iv+Sg/Ev8A7Cg/9HXNevV5 D8Iv+Sg/Ev8A7Cg/9HXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP8Akn3i T/sF3X/ol6wvgr/ySPQ/+23/AKPkrd8ef8k+8Sf9gu6/9EvWF8Ff+SR6H/22/wDR8lAHf0UUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvjz/kn3iT/ALBd1/6JesL4K/8AJI9D/wC2 3/o+St3x5/yT7xJ/2C7r/wBEvWF8Ff8Akkeh/wDbb/0fJQB39FFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFAHkPwi/5KD8S/wDsKD/0dc169XkPwi/5KD8S/wDsKD/0dc169QAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAc748/wCSfeJP+wXdf+iXrC+Cv/JI9D/7bf8Ao+St3x5/yT7xJ/2C 7r/0S9cT8JfFOgaV8M9HtL/XdMtblPO8yGe8RHXMz/wk0AesUVzv/CeeEv8AoatD/wDBhD/8XR/w nnhL/oatD/8ABhD/APF0AdFRXO/8J54S/wChq0P/AMGEP/xdH/CeeEv+hq0P/wAGEP8A8XQB0VFc 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 StO0mB4NN062soWbc0dtEsa7votZPiLwX4e8U7f7Z0qK5kixtm5STAz8m9fn2/OflrqKKAOVfwJ4 ak8O/wBgf2LbLpuVfylGz51437x85ftu64qe38HeHYNDtNFGlW02m2zl4ba5XzkV/n5w+cn53/Ou jooA47R/hz4Q0CU3VhoFqlwCjrJLumdXXkbN5bZ/wGuxoooAK5vXPCPh3xLCV1fSba7Yrs8502yo v3sb/viukooA5XQfA3hbw5Ir6ZolrFMrbkmZd8qfw8O/zgV1VFFAHhHwa8L6L4q+HN/baxpsF2q6 lIEL/fTMcP3HHzp932r1nQvC+ieGLb7Lo2nQ2isPnMY+d8f33PzN97vW9RQBRv7Gz1K0ktL62huL dx80Uyb1b/gJrnNH+HPhDQJTdWGgWqXAKOsku6Z1deRs3ltn/Aa7GigDN1PStO1aBINS062vYVbc sdzEsi7vo1aVFFAGbpmladpMDwabp1tZQs25o7aJY13fRayfEXgvw94p2/2zpUVzJFjbNykmBn5N 6/Pt+c/LXUUUAYmjeG9I8PRGHStNtrRdiI7RR7Hk2fd3P/F36+tM13wvonie2+y6zp0N2qj5DIPn TP8AccfMv3e1b1FAHMad4K8OaXo8ul2mi2a2c3+tjeLeZsNuTfvyXx/tV09FFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeQ/CL/koPxL/wCwoP8A0dc169XkPwi/5KD8S/8A sKD/ANHXNevUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+SfeJP+wXdf8Aol6w vgr/AMkj0P8A7bf+j5K3fHn/ACT7xJ/2C7r/ANEvWF8Ff+SR6H/22/8AR8lAHf0UUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvjz/kn3iT/sF3X/ol6wvgr/ySPQ/+23/o+St3x5/y T7xJ/wBgu6/9EvWF8Ff+SR6H/wBtv/R8lAHf0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeQ/ CL/koPxL/wCwoP8A0dc169XkPwi/5KD8S/8AsKD/ANHXNevUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFAHO+PP+SfeJP+wXdf8Aol6wvgr/AMkj0P8A7bf+j5K3fHn/ACT7xJ/2C7r/ANEv Xmfwz+JvhDw/8PdM0vVdW+z30Hnb0FtK+3dK7jlEx0IoA9uorz//AIXZ8Pf+hg/8k5//AIij/hdn w9/6GD/yTn/+IoA9Aorz/wD4XZ8Pf+hg/wDJOf8A+Io/4XZ8Pf8AoYP/ACTn/wDiKAPQKK8//wCF 2fD3/oYP/JOf/wCIo/4XZ8Pf+hg/8k5//iKAPQKK8/8A+F2fD3/oYP8AyTn/APiKP+F2fD3/AKGD /wAk5/8A4igD0CivP/8Ahdnw9/6GD/yTn/8AiKP+F2fD3/oYP/JOf/4igD0CivP/APhdnw9/6GD/ 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 /wAk5/8A4igD0CivP/8Ahdnw9/6GD/yTn/8AiKP+F2fD3/oYP/JOf/4igD0CivP/APhdnw9/6GD/ AMk5/wD4ij/hdnw9/wChg/8AJOf/AOIoAwfhF/yUH4l/9hQf+jrmvXq8Y+C15bal4w+IF/atvtrm /SaJyPvK7zkV7PQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc748/5J94k/7Bd1/wCi XrifhL4V8P6r8M9Hu7/QtMurl/O8yaezR3bEz/xEV23jz/kn3iT/ALBd1/6JesL4K/8AJI9D/wC2 3/o+SgDd/wCED8Jf9Crof/gvh/8AiKP+ED8Jf9Crof8A4L4f/iK6KigDnf8AhA/CX/Qq6H/4L4f/ AIij/hA/CX/Qq6H/AOC+H/4ivF/FF5q/h34yeJfF+nqJbXSHtEvoTLt8yKaBV/8AZR/wLZwa970v U7PWdOh1DT7hJ7SddySpQBmf8IH4S/6FXQ//AAXw/wDxFH/CB+Ev+hV0P/wXw/8AxFcH8Iv+Sg/E v/sKD/0dc16HrPiTSPD0Qm1XUra0XY7qssmx5Nn3tq/xdunrQBB/wgfhL/oVdD/8F8P/AMRR/wAI H4S/6FXQ/wDwXw//ABFUvD/xC8K+Jbr7LpWsQTXPOImV4Xf/AHFcDd93tWvea5pen3f2S81Oytrg QtMI57hEcoM/OFP8Pytz/s0AVf8AhA/CX/Qq6H/4L4f/AIij/hA/CX/Qq6H/AOC+H/4iqGnfEbwj qWsSabaa/bSXZkCIh3Krtu2/u3b5X5/uZzUWq/E3wjouovp+o6zCl1Hw6RI823ttbYpw3X5aANT/ AIQPwl/0Kuh/+C+H/wCIo/4QPwl/0Kuh/wDgvh/+IrXt7iC8t0ubeZJYZU3I6NuR1rm/EHxC8K+G rr7LqusQQ3PGYlV5nT/fVAdv3u9AF3/hA/CX/Qq6H/4L4f8A4ij/AIQPwl/0Kuh/+C+H/wCIq1ou v6Z4gsEvdMvIrm3f+OJ87enyt/dbn7tbFAHO/wDCB+Ev+hV0P/wXw/8AxFH/AAgfhL/oVdD/APBf D/8AEVqX99Z6baSXd9cw29ug+aWZ9ir/AMCNcvpXxN8I61qKafp2swvdScIkqPDu7bV3qMt0+WgD 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 9NNJqVvpbwyyS8ltjwIrerZVV+b+KgDofEH/ACc/4U/7Bb/+gXVdD8av+SR65/2x/wDR8dcr8QJz 4Y+MnhrxXqMMy6KlsbSS4Rd2yQ+d/wDFhvwaqPxR+JugeIvBV9pHh95dQeYo91IsDxrbojph23p3 fYv40AVvin/yb34K/wC3L/0leu11zwD4Y0H4a6xHaaNZvNaaZclLqaBHm3eW3zb8ferivin/AMm9 +Cv+3L/0levXvHn/ACT7xJ/2C7r/ANEvQB558H/A/hy68AWmq32k2t/dXzO0hvIEm2bHZAqbh8vS nfB+KG18cfEa3t4kihh1FI0jRdqogknAx+ArpPgr/wAkj0P/ALbf+j5KwPhF/wAlB+Jf/YUH/o65 oAwPAPhPSPEXxO8d3eq2aXZsNSkWGKaPfES8s3zMv8X3KtfGDQtO8H2OleKPDtrFpWp214sCG0RU RgUd/mQDn7n/AI9zmqfhfxLbeCvG/jG+1mGaPR9T1ia2/tCJN6RTwu7+W6qP4lfr/wDZ7LHjzX7D 4rT6R4T8MyS3avcreXN6I2VbZPmTlH2n+PPb+EdWoAm+NOtQSa7onhe+1aWw0mVRc6kQvyvFvwmN iO5f5H/h25KUt5rXwQudJk0oGxgRotqTRaZKsqH+9v8AL3bq1PihZajpeuaN460W0a4n0jcuoIGO 82x9MjGzDTZYcjf/ALPyz3Xxz8IxaM93a3klxeeTvSx8mRH39kL7Ng+vt/FQBwtjrF3q37MWsJdN uNjcpaRP/EU82F+f++9v4V6F8NPBOiWXhbRdWvbKC+1W4t4bj7ZcrvdPl3x7N+duxNi/J/cFZvji 81fUP2er+8161S01GZYmmgRNuz/Sk2/+ObK73wH/AMk+8N/9gu1/9EpQB0VFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8Iv8AkoPxL/7C g/8AR1zXr1eQ/CL/AJKD8S/+woP/AEdc169QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAc748/5J94k/wCwXdf+iXrC+Cv/ACSPQ/8Att/6Pkrd8ef8k+8Sf9gu6/8ARL1hfBX/AJJHof8A 22/9HyUAd/RRRQAUUUUAFZup6Vp2rQJBqWnW17CrbljuYlkXd9GrSooAy5dH06504abLYW0tgEVB bSRK8IRfujaf88VNYWNnptpHaWNtDb26D5YoU2Kv/ARV6igAooooAKytT0LSdYEX9p6RZX/l/c+1 W6S7PpurVooAKKKKACsrTNC0nRxL/ZmkWVh5n3/stukW/wCu2tWigAooooAKzdT0rTtWgSDUtOtr 2FW3LHcxLIu76NWlRQBUt7eCzt0treFIoYk2oiLtRFqDU9K07VoEg1LTra9hVtyx3MSyLu+jVpUU AFFFFABWVqehaTrAi/tPSLK/8v7n2q3SXZ9N1atFABRRRQAUUUUAZE+g6TfahFfXWl2VxeQhfKuJ bdHkXbyNr4yK16KKAMifQdJvtQivrrS7K4vIQvlXEtujyLt5G18ZFO1PQtJ1gRf2npFlf+X9z7Vb pLs+m6tWigAooooAKKKKAKlxbwXlu9tcQpLDKm10ddyOtcX8PbO90C11PwvcW1xHaaXcsLGd4/ku beb94vz8b3XL79vFd/RQBlanoWk6wIv7T0iyv/L+59qt0l2fTdWrRRQBwGkaHNqvxE1TxTqdn5cd nGNN0uOZMPsR23ykc4y+7Y3GUPvXXQadZQXVzeQ20KXNwE82dI8PNs+5ub+KtGigAooooAKKKKAC iiigCpcW8F5bvbXEKSwyptdHXcjrUGmaVp2kwPBpunW1lCzbmjtoljXd9FrSooAqXFvBeW721xCk sMqbXR13I61BpmladpMDwabp1tZQs25o7aJY13fRa0qKACs3TNK07SYHg03TrayhZtzR20Sxru+i 1pUUAFFFFABVS4t4Ly3e2uIUlhlTa6Ou5HWrdFAGbpmladpMDwabp1tZQs25o7aJY13fRa0qKKAC iiigDNtdKsLGe4uLSwtrea5ffO8MKo8rf7ZH3uprSoooAK8+8caVJDqGh+LtO0+W7v8AR5RHNFDB vmmtpPkfYqj53TeWX+EfOa9BooAKzdT0rTtWgSDUtOtr2FW3LHcxLIu76NWlRQBm6ZpWnaTA8Gm6 dbWULNuaO2iWNd30WtKiigArN1PStO1aBINS062vYVbcsdzEsi7vo1aVFAGbpmladpMDwabp1tZQ s25o7aJY13fRa0qKKACiiigAooooAKKKKACsK98KeHdTu3ur3QNLuJ3+/LPZxu7f8CIrdooAKKKK ACiiigAooooAKKKKACsLxNdXVloV7Np9i13fbQtvEkW/dKxCJu5+5z85zwma3aKAOS8C+F4PB/he z0hFQzIoa6dAPnmbl+3Pp/uqtdbRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvjz/AJJ94k/7Bd1/6JesL4K/ 8kj0P/tt/wCj5K3fHn/JPvEn/YLuv/RL1hfBX/kkeh/9tv8A0fJQB39FFFABRRRQAVm6npWnatAk GpadbXsKtuWO5iWRd30atKigArN1PStO1aBINS062vYVbcsdzEsi7vo1aVFABVG/sbPUrSS0vraG 4t3HzRTJvVv+Amr1FAFGwsbPTbSO0sbaG3t0HyxQpsVf+Ain3FvBeW721xCksMqbXR13I61booAz dM0rTtJgeDTdOtrKFm3NHbRLGu76LWlRRQAUUUUAZaaRYR6pLqcWn2yahKuyS6SFRM6+hf8A4Cv5 VqUUUAFFFFABVG/sbPUrSS0vraG4t3HzRTJvVv8AgJq9RQBlxaPp1tpx02KwtorAoyG2jiVISjfe G0f55p2maVp2kwPBpunW1lCzbmjtoljXd9FrSooAKKKKACqN/Y2epWklpfW0NxbuPmimTerf8BNX qKAKNhY2em2kdpY20NvboPlihTYq/wDARV6iigAooooAKKKKACiiigDIg0HSbHUJb610uyt7yYN5 txFbokjbuTufGTWvRRQAUUUUAFFFFAGbdaVYX09vcXdhbXE1s++B5oVd4m/2Cfu9BWlRRQBm6npW natAkGpadbXsKtuWO5iWRd30atKiigCjf2NnqVpJaX1tDcW7j5opk3q3/ATRYWNnptpHaWNtDb26 D5YoU2Kv/ARV6igCpcW8F5bvbXEKSwyptdHXcjrUGmaVp2kwPBpunW1lCzbmjtoljXd9FrSooAKK KKACst9IsJNUi1OXT7Z9QiXZHdPCpmRfQP8A8Cb861KKACiiigAooooAqXFvBeW721xCksMqbXR1 3I61BpmladpMDwabp1tZQs25o7aJY13fRa0qKACiiigAooooAqXFvBeW721xCksMqbXR13I61Bpm ladpMDwabp1tZQs25o7aJY13fRa0qKACsiDQdJsdQlvrXS7K3vJg3m3EVuiSNu5O58ZNa9FABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFAHkPwi/5KD8S/+woP/R1zXr1eQ/CL/koPxL/7Cg/9HXNevUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFAHO+PP+SfeJP+wXdf+iXrC+Cv/JI9D/7bf+j5K3fHn/JPvEn/AGC7r/0S9YXw V/5JHof/AG2/9HyUAd/RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHO+PP+SfeJ P+wXdf8Aol6wvgr/AMkj0P8A7bf+j5K3fHn/ACT7xJ/2C7r/ANEvWF8Ff+SR6H/22/8AR8lAHf0U UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU 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 /wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL /wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/ APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN /wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+ c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9 gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+ FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCF veL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+ u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCi T67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8 YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8A GKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f /wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i/ /ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v /wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/ nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/n N/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPY KK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/h b3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4 W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDo k+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok +u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDG KAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/x ij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx /wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL /wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/ APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN /wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+ c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9 gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+ FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCF veL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+ u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCi T67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8 YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8A GKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f /wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v/wCiT67+c3/xij/hb3i/ /ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/nN/8YoA9gorx/wD4W94v /wCiT67+c3/xij/hb3i//ok+u/nN/wDGKAPYKK8f/wCFveL/APok+u/nN/8AGKP+FveL/wDok+u/ nN/8YoAd8Iv+Sg/Ev/sKD/0dc169XinwRvJr7xP48u7m2a1luLyOaSB/vRO7znYa9roAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKAOd8ef8AJPvEn/YLuv8A0S9fEVfbvjz/AJJ94k/7Bd1/ 6JeviKgAooooA9L8NfBrxF4s8PWut6fe6atrch/LWeVw/wAjlOyf7Na3/DOfi7/n/wBC/wC/83/x uvX/AIK/8kj0P/tt/wCj5K8z8RfHTxTpHibV9Nt7HSXhsb2WBJJIX37UfZ2f2oA4fxF8LvFXhoXF zd6Y1xYw8vdWTCZQNu8tgfOq8H5mWuDr7E+F3jG78ceF5NSvreKC4huntmEX3X+RHz/4/XzV428M Pofj3U9CtIN4F1/osMO5/kf5kTpy21koA5CivW7D4AeMrm1jlnfTLRmOfJmuG3r/AN8Iy1heLfhh 4k8IWpu76GC4sAV33NrJuRHP97Pz/jj+KgDgaK6vwb4OvfHGrTafps1rDPFCZmNy7KhXeifwqf79 dBL8GvE48VJoMbWck32X7S1yrv5MSbnRQ7BPvfIe1AHmlFfQ3wi8C634S8faw97FDLb21qbNrmCT 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 16B4w+COgXHhy5/4RvTTa6qnzwj7Q5WT/Y+c0Aex0V5z8LLLxRo/hVtM8UW80c1pKBas00Tjydg+ TKMfund971XHTjl9a/aF0vTtR+zaPpb6rbon/H085t9zf7pSgD26ivLfAnxg03xjqqaTNYzWN/MX 8mMP5yMETf8Aex977/b+Gk+Ifxc/4QLxBDpX9ifbjNbJc+Z9p8rHzunTY39ygD1OivCtT/aLsrPU podO0Fr20RtqXTXfleb/ALWzy+K6fWfi9YWPgW08Vadp0l5DcXn2RraaZYXib5zl9ofH3M4/2xQB 6dRXyp8HPGw8K6+dJGni5/ty5trcOZtnk/OyZI2/P/rPbpXqPiT4yweG/Hsnhy90cfZoZoUlvftP 3EdEffs2fw7ume1AHrVFcB8PviLD4+udXFrYPaQ2Lpsd5t7Sq+/+HHyfc965PXP2gNP0vVJbPTdG fUYYnZXuTdJGjNu52bVfcn+13oA9rory3wJ8YNN8Y6qmkzWM1jfzF/JjD+cjBE3/AHsfe+/2/hrc 8d+P9O8CWMU93BNNc3O/7NDEfvFMfeb+FeU9fvdOtAHbUV4NZ/tIWcs6pfeHZ4Lc/eeC781x9FKJ n/vql+M/xCtjoQ8O21ibi11iwtr6G+Euz5DLvHyFP9j1/ioA94orw/4FeNjfWUHg1NPCfYLWa5N1 5338zdAm3j/WevarHiP4/wCm6Vq8thpelHVIYfke6W7CIzd9nytvXj71AHtFFeW+BPjBpvjHVU0m axmsb+Yv5MYfzkYIm/72Pvff7fw16lQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5D8Iv+Sg/Ev/ALCg/wDR 1zXr1eQ/CL/koPxL/wCwoP8A0dc169QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAc74 8/5J94k/7Bd1/wCiXr4ir7d8ef8AJPvEn/YLuv8A0S9fEVABRRRQB9gfBX/kkeh/9tv/AEfJXH63 8ADrGvalqp8TeR9tuZbny/sG/ZvfdjPmV2HwV/5JHof/AG2/9HyV8/8Ai/xd4mtPGuv2lp4j1aCG HUrmOOJL2RERfMfp81AH0P4f0PRvhh4JdJLvbaxE3F3dygrvb+9t/wC+F2/5PhXhP4iadp3xM1Px ZrlndTC7SXyVjCTPA7Ou0bnKcKg2VwWp69q2sGL+09Xvb8R/c+1XDy7Ppur1L4BeGrLVfEF7q12q SNpax+TDInSVy2H/AOA7D2/i/wBmgDc1vxr8RfE2t20vgnR9XsdMmiUwtcWceyf+PzC7rsUdvv4/ 76r1HRrTUdQ8Ew2fjFI5b64tXhvo4D8r7u3yH7+zGdvfO2vLvit8TvEvh3xTLoelLHptvGEkS5aA M9x8n+38uzOV7/cr074fnWW8F2L+ITO2qT75phcffG93dQR/D8pX5P4elAHhn7Ov/JQr/wD7Bb/+ joa9C+KXxXv/AATqlvpWnadayTzQJctPcuzJtLOmzYv+513fhXnv7Ov/ACUK/wD+wW//AKOho/aK /wCShWH/AGC0/wDR01AHUfCLx1rfi3x9rCXssMVvc2pvGtoI/kEy+TDvBOX+6vTdUXxx8Za/ouvp olnqHlabeaZmaHyUbzN7SI/zFc/crnP2df8AkoV//wBgt/8A0dDVn9oi2nj8Z6bduknkvpyoshX5 HdJHLD/x9P8AvqgDxiuj8B/8lB8N/wDYUtf/AEclc5XR+A/+Sg+G/wDsKWv/AKOSgD339or/AJJ7 p/8A2FI//RM1H7Ov/JPdQ/7Ckn/omGj9or/knun/APYUj/8ARM1H7Ov/ACT3UP8AsKSf+iYaAPP/ AAb/AMnO3H/YU1H/ANAmroP2l/8AmV/+3v8A9o1z/g3/AJOduP8AsKaj/wCgTV0H7S//ADK//b3/ AO0aAPn+iiigAooooA+gP2aP+Zo/7dP/AGtXv9eAfs0f8zR/26f+1q9/oAK+Xv2iv+ShWH/YLT/0 dNX1DXg3xk8A+KfFnjC1v9G0z7TbpYJA7+fFGN4eQ4+Z/wDbFAEnxr8L3VjqNl480hVjnsnQ3Lna MOjjyX2kfN/c/wC+PevPG8RxeK/jfpGtRwyQJcanYfun/gdfKRv/AEGvqq/sLbVLC5sbtd9vcRPF Kn95X4P9a+c9I+DnivQ/iFpk8dot1plpqMMpvBNGm+JXVi+zfu/nQBX02CLxT+0jc22sRLdRHUbq Moy/KyQpJsB/74SvUvjlpljefDa/v7iBHubBo2tpc/Mm+ZEfFYnxC8AeIj40i8X+EJ3e+d1WWIvG jxOqbA6F/lZdq4ZP55+TntWb4qfEqGLSbnQhpunrOhuFeF7VHz/f8x97ouM4T/4mgDtP2fry5ufh u8EzbktL+WGHI+4m1H/9Cdq5j9mj/maP+3T/ANrV614O8K2Xg/w3b6RaESbPmlm2bWlf+9ivEvAO l+PfA3jg6TBobyWl1MkN7OIGNu0SnIlWbgfcL4+uNu7AoApeMv8Ak523/wCwpp3/AKBDR8Qs63+0 DbaTqBM1klzZ2fl/dPkvsdk+X/ro/NdP4i8AeKNQ+OEPiKDTC+lrqFnN5/nRfdjWMP8ALv3fwGtn 4qfD3VPE19aeINAmk/ta0CQmDeEJTeXR0cY2OhbP+fnAOp+IGh6ZcfDbVLeWxh8izsJJbZFTZ5Lo nybP7vSvPv2br25m0/xBYSP/AKPBNDNGmOjuHDf+gJWdqWp/F/xTp1x4Zm0J7YIhW6uUh+zm5RPk YGV28s7v9jr/ALma9O+HPgiHwN4d+ysyTX9zKJLmZF/j/uL/ALK//FUAeL/s+28M3xCuWeJWaDTX kjZl+4++NP5Mwpf2iv8AkoVh/wBgtP8A0dNXUfBvwD4p8J+MLq/1nTPs1u9g8CP58Ug3l4zj5X/2 DR8ZPAPinxZ4wtb/AEbTPtNulgkDv58UY3h5Dj5n/wBsUAanxf1PwZpj2R8Q6PPrOotE/wBmtkvH hSNN4y7BX+Tdn72w7tmO3HMfEDxD8Qdd8GXU154ZTSPDbMjTeZJ/pGN4+Vt53ff/ANgVvfGz4fax 4iv7fX9JT7V5Fr5MtqgG/apd968/P9/G0Vma5Y/Fb4ieGPLu9JtdPtFff9iGbaW7Jf8Auu/8GN3z 7P8AgVADv+bRv8/8/wDXQfs6/wDJPdQ/7Ckn/omGqtv4T8TP8A7rwrPovkapHMEgt/tUTecnnLMW 352L1cY/2K3vg34a1fwp4QurDW7L7LcyX7zIm9H+Uog/gP8AsGgD0uvl79or/koVh/2C0/8AR01f UNeDfGTwD4p8WeMLW/0bTPtNulgkDv58UY3h5Dj5n/2xQBVl+FPxVurd7e48axTQyrtdJNTuXR1/ FK3dJ+GsfgT4feK7m5u0u9SvNLmSSVYtqwp5LfIhPzY3fntT5RivZqw/FlpPqHhDXNPtED3F1YTw wrn7zujDFAHh37Pui6dqeoaxfXtjBPcWRtvszTRh/KyX+ZPRvkT5qvftL/8AMr/9vf8A7Rrc+CXg vxB4QGuDXbH7GbryPJ/fI+7Z5m77jH++KPjb4L8QeLxoY0Kx+2G18/zv3yJt3+Xt++w/uGgDC+Kf /Jvfgr/ty/8ASV67n4Jwww/CrSpViRGleZ3cD77ec6Z/JV/KsPxx4O8Qa18JPDWhafp3nalYm28+ LzkXZsgdH+Ytg/NXXfDLR7/Qfh/pul6pAba+g87fHvV9u6V26qfQ0AeJ/s6/8lCv/wDsFv8A+joa saHK2rftNTNfhLkLqdyq70XjyUfy/wDvjYn/AHzXQfBvwD4p8J+MLq/1nTPs1u9g8CP58Ug3l4zj 5X/2DT/iH8O9dtfFp8ZeDSVvt/nzW9sFV0fb95ez7/416kt/HvoA9G8Z+AtJ8cR2cepSXETWbO8U tvIFfD/eXkey15J8fdPi0fRfBmmwMzw2cE8CO33tiLAlQ6hpfxH+LOqWtlq2nSaTplu/z+ZbvBEh Of3gR/nkfAP/ANhvrovir8Oda1jR/C2neHLKS7h0uF4GZ5o0cLthRPvlc/coAveMf+TYbb/sF6f/ AOhw1B+zpaQJ4Q1S/VP9Imv/ACXf1RETbx/wN6vePrO4039nQ2Nwuy4tdPsIJVB+46PCCK8z+HN7 470Lw3dav4Ys11LTmnMM1o6PNslxGd+xMN0b+D0+b7q0ATa5GNK/aViWw32wfVrZn2O2f32zzOf9 re//AH3XT654n8M6H8TpG0Lwrea94njnk86ZL+VjvKcqijfu2qXTbsGzZ7U74e/D3xDfeLo/GHjI YuGBmjjncGV5MJsd06KqZPy/KyMielZPiPwj4w8G/EyXxZomnLq8U1zNPD5Vu0hRpt+9XjT5/l3H 5/8Ac/3aAOc+LF543vJtJm8ZaZaaeu2RLOK2dHQ/c3tw7/7Fdj+0v/zK/wD29/8AtGs7xr4G+Kfj GW01HU7C1d9jollbXCKLXoP4nwd2OzN/Sun+LfhDxT40sPDU2n6JuuoYZWuoPtUX7l38r5dzkb/u tz/+qgD0fwH/AMk+8N/9gu1/9EpVL4jW32v4e69GJZYDHYSv5kLbWwq79v8Autt2n61p+E7SfT/C Gh6fdoEuLWwghmXP3XRFGK3KAPAv2dL+Ew63pxS2EwaGdDx5si/Mjc5+6ny/Tf8A7de339/baXYX N9dtst7eJ5ZX/uqnJ/rXg2t/DbxP4L8Qya38P5Jms3hdwiFXkhX+JCj/AOtT+59788OaF5bfFn4i Wj6XfWl1FYiSETJPAtmmR/G2RufpvIXdyB8v3KAO+8bfEDRdf+F3iWXwzqP2lraGKGbEDptSZ9n8 a9131mfs8aXZDwxqWq/ZUF6149sJf4vK2Rvt/Nq63wp8P7bQfh1N4YuJS8l7HKLyaE/ed12Ns3dP kwv/AAGvMNO0n4kfCe61CPRbD+19Jll2Iyp5qM+OH8pH3o/Gw9u3zfJQBl/Gq3h8OfFKx1HSYltb hoIb9nVf+W3nP8+3/gC0ftFf8lCsP+wWn/o6auj0TwD4o8Y+L08T+OoPJtI2SdLdgj70+8kATPyR j+MPzz/tO1S/GTwD4p8WeMLW/wBG0z7TbpYJA7+fFGN4eQ4+Z/8AbFAHZfGC3htPg7rFraxLFBGt siRou1UXz48YrH/Z1/5J7qH/AGFJP/RMNdV8TdHv9e+H+paXpcBub6fydke9U3bZUbqx9BWT8G/D Wr+FPCF1Ya3ZfZbmS/eZE3o/ylEH8B/2DQBxf7NH/M0f9un/ALWrmfH9pBqX7RZsbhd9tdahYQSq D99HSEEVp+AdL8e+BvHB0mDQ3ktLqZIb2cQMbdolORKs3A+4Xx9cbd2BW14i8AeKNQ+OEPiKDTC+ lrqFnN5/nRfdjWMP8u/d/AaAPX3stL0vRJ7dI4NM09In3iA/ZkiTnc3y42eu6vD/AAr4ujt7vUrT 4W+BJ99z5W+5vLl2X5Qx/eJu2p/GB84/9lr3TXdM/tnw/qemCXyvtttLbeZt3bN6bP618/8AhbSP iX8ONXu9N0zw7BevfhP3zoXiCpv5EgdUTqeH/wBmgCPwm2ty/tG2b+JIVh1ZzK00SlCEH2V9i5Xg /JspfHkr6r+0NZWV+EuLaG8sbZYpETb5L7HZCP4hl3/OtXw/4D+IGk/FSy8RarZjVT52J7yO7QLs dCm8b/n+QN93Z/BxXQfFX4b3uu6jB4j8Mts1iFkR4Y3WF5inKuj8Ydf/AGQf3aAO+8W+EtO8aaQN L1MyLEsyzo0L7XRh/wDrauL+IPh+08KfAPUtEsXke2tfL2NK3zfNdI/P/fVcJqL/ABU+ItpaeHrr SJ7S3UI1zNJbtbRy/c+eVn+9jO7Yn/fHyCvR9a+H9zB8F5fBukyi4uVjTy5Jvk81vOEzf7v8VAF7 4K/8kj0P/tt/6PkryXTPD/xL+Ft7NcaXpi39tMyJKLaP7Qk3yMV+QYmXbvb+7XU/CSLxi2k3fhjV tOvNM0dLWYw3bQvbXMTu/SNz9Xb7nUVmwP8AF3wA90r2reIYp3RFmeea82/e+4m/evXk7P4aAKPh zxr4S8XfEDTr3W/C/wBn124mgKahBdyur3CbFT910Rfl/wBrH/j1fSFfO2ieEPGPjL4i6X4t1/TI 9JghminZvI2M3kvwpT7+9tv3n7f8ASvomgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDyH4Rf8lB+Jf8A2FB/ 6Oua9eryH4Rf8lB+Jf8A2FB/6Oua9eoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOd8 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 QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53 /hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl /wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/ CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBC rof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Q q6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/ AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/ AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4 f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+ H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK 6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4i j/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6Kig Dnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA /CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/ AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8J f9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKu h/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Cr of8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8A gvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A 4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/ +IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f /iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+Iro qKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP +ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAO d/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8 Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4Q Pwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8A Qq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/ 0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H /wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh /wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC +H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDg vh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4 iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+ Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuio oA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4 QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53 /hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl /wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/ CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBC rof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Q q6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/ AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/ AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4 f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+ H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK 6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4i j/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6Kig Dnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA /CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/ AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8J f9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKu h/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Cr of8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8A gvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A 4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/ +IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f /iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+Iro qKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP +ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAO d/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8 Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4Q Pwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8A Qq6H/wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/ 0Kuh/wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H /wCC+H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh /wDgvh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC +H/4iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDg vh/+Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4 iuiooA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+ Io/4QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuio oA53/hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4 QPwl/wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53 /hA/CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl /wBCrof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/ CX/Qq6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBC rof/AIL4f/iK6KigDnf+ED8Jf9Crof8A4L4f/iKP+ED8Jf8AQq6H/wCC+H/4iuiooA53/hA/CX/Q q6H/AOC+H/4ij/hA/CX/AEKuh/8Agvh/+IroqKAOd/4QPwl/0Kuh/wDgvh/+Io/4QPwl/wBCrof/ AIL4f/iK6KigDxz4PxQ2vjj4jW9vEkUMOopGkaLtVEEk4GPwFex15D8Iv+Sg/Ev/ALCg/wDR1zXr 1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzvjz/kn3iT/sF3X/AKJesL4K/wDJI9D/ AO23/o+St3x5/wAk+8Sf9gu6/wDRL1hfBX/kkeh/9tv/AEfJQB39FFFABRXnvij4g6hovjSz8MaZ 4d/tS+vLX7TGBerBnl+PmXH8Bpf+Er+IX/RMz/4PYP8ACgD0GivPv+Er+IX/AETM/wDg9g/wrO1j 4i+LvD2lT6pq3w++z2cGwvJ/bMT7dzbB9xPU0AepUVlaFqn9s+H9N1MxeV9ttorny927ZvTdj9a1 aACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDyH4R f8lB+Jf/AGFB/wCjrmvXq8h+EX/JQfiX/wBhQf8Ao65r16gAooooAKKKKACiiigAooooAKKKKACi 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 ofb7L+0P7O+12/2zyfO+z+Z8+zpu2Z+7V+gAooooAKKKKACiiigAooooAKKo2F9Z6laR3djcw3Fu 4+WWF96t/wACFXqACiiigAoqpcXEFnbvc3EyRQxJud3baiLRb3EF5bpc28ySwypuR0bcjrQBbooo oAKKKqXFxBZ273NxMkUMSbnd22oi0AW6Ko2F9Z6laR3djcw3Fu4+WWF96t/wIVHqeq6bpMCT6lqN tZQs21XuZVjXd9WoA0qKKKACis6fUbKC6trOa5hS5uA/lQO+Hl2ff2r/ABVo0AFFFFABRRWdeX9p ZGD7XcQ2xnmWGHzn2b3foi/7VAGjRRVS4uILO3e5uJkihiTc7u21EWgC3RXOw+MPC880dva+I9Jm llbakcd6juze2GroqACiiigAooooAKKKKACiiigAooooAKKKzdM1XTdWgefTdRtr2FW2s9tKsi7v qtAGlRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVnT6jZQXVtZzXMKXN wH8qB3w8uz7+1f4q0aACiiigAooooAKKKKACiqH2+y/tD+zvtdv9s8nzvs/mfPs6btmfu1foAKKo fb7L+0P7O+12/wBs8nzvs/mfPs6btmfu1foAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKzoNRsp7q5s4bmF7m3CebAj5eLf9zcv8NA GjRRRQAUUUUAFFZ15f2lkYPtdxDbGeZYYfOfZvd+iL/tVo0AFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFAHkPwi/5KD8S/wDsKD/0dc169XkPwi/5KD8S/wDsKD/0dc169QAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU 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 RXE9jHYapd6hFfzWH2CyhSWZzF95wm77nWtrxV410zwktst4tzNc3TmO1tLWLfLcvleEH/AhXM/C vT401nxzqSs5luNfuYGBPy7Ebev/AKNauWvZfEl/+0Fq6aH/AGVNd2GnIIDqaP5cMWyPfsMfz790 rD/gTUAdzpvxQ0nUfEMOiXenavot5Ou6JdWtRD5v+yPmrT8T+ONM8MXFrYSQXl/qF1/q7HT4fOm2 c5fZn7vFcD4u8P8Aj/WF0htSv/BmnXFtfo1hco8yOZ+diLvVu/Oz/YrW8M2to/x58a3ckuy8itrZ IoN33kaNN77f+AJ/33QBj+LPHVn4j1TwnpJ03VdLv4vEFjciDUrbyXeLe6b1GfXFe115d8UIbQ6z 4GlfYL6PxBbLCN53+UX+fC/8Bir1GgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooA8h+EX/JQfiX/ANhQf+jrmvXq8h+EX/JQfiX/ANhQf+jrmvXqACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigDnfHn/ACT7xJ/2C7r/ANEvWF8Ff+SR6H/22/8AR8lbvjz/AJJ94k/7Bd1/ 6JevlbR/id4t8P6VBpelaoLaygDeWn2aF9u5t55ZPU0AfZdFfIP/AAuz4hf9DAP/AADg/wDiKP8A hdnxC/6GAf8AgHB/8RQB7dqHgbxFY61d33g7xMdMi1K5E1/bXEPnIjE/PNHvz8x4+X/x/wC4B0fh Twp/wjzX15e6jJqmrajIJLy8mXZv2cIqrn5VXP8AngD5u/4XZ8Qv+hgH/gHB/wDEUf8AC7PiF/0M A/8AAOD/AOIoA9nHgLxjoNxHY+D/ABWtlobTM/2W7hWV7RW5/d7lbePv/L8n6lq6LwN4It/BtveM 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 kufM+0+Vj53Tpsb+5Xk3wb/4S/8A4SFv+Eax/Zn2q2/tf/U/6ne/9/n7vmfcrs/jL4+8U+FPGFrY aNqf2a3ksEndDBFIN++QZ+ZP9gUAe80V578SfiCvgLSLV4rZLi/u3dYYndlRQict/wCgfJx96vLP +Ei+M3/CMf8ACSefcf2b5Pned9ntd2z+/s279mP/AIrpQB9K0V558LviDJ480W7luoo49RtJwksc G7bsb7jc/wDAv++a8l8L/Ez4ka7qdxp1g/8Aad3LbOIFWGGNbdsr++Pyc+nzcfPQB9O0V83f8LI+ IfgjxLaWvjMpMkqpJLbGKFm8nfy6GLHz/K/3q+kaACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDy H4Rf8lB+Jf8A2FB/6Oua9eryH4Rf8lB+Jf8A2FB/6Oua9eoAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKAOd8ef8AJPvEn/YLuv8A0S9fEVfbvjz/AJJ94k/7Bd1/6JeviKgAooooA+wPgr/y SPQ/+23/AKPkrG1Pwv8ACC61a8n1K50n7c07tc+ZrDo/m7vnynmcc5rZ+Cv/ACSPQ/8Att/6Pkr5 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 fb3Kx/NC/P8A47z92vLf+FH+K8f2F/wmTf8ACN527N03X7//AB7Z2ff/ANv/AGvagDH/AGd7aeTx nqV2iSeSmnMjSBfkR3kQqP8Axx/++arfs6/8lCv/APsFv/6Ohr3PwX4F03wTo32GxG+ZxvuLlo/m mfj/AMd4+7XNfDz4R/8ACBeIJtVGt/bjNbPbeX9m8rB3o2c72/uUAeY/tFf8lCsP+wWn/o6avqGv LPiH8I/+E98QQ6qdb+wmG2S28v7N5uTvds53r/fr1OgAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo A8h+EX/JQfiX/wBhQf8Ao65r16vIfhF/yUH4l/8AYUH/AKOua9eoAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKAOd8ef8k+8Sf9gu6/8ARL18RV9u+MoZbjwP4gt4Imllm065jjRV3M7mNhiv kX/hA/Fv/Qq65/4L5v8A4igDnKK6P/hA/Fv/AEKuuf8Agvm/+Io/4QPxb/0Kuuf+C+b/AOIoA0dH +J3i3w/pUGl6VqgtrKAN5afZoX27m3nlk9TXMX9/c6nf3F9dt5lxcSvLK/8AeZ+TWt/wgfi3/oVd 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 zm/+MUf8Le8X/wDRJ9d/Ob/4xQB7BRXj/wDwt7xf/wBEn1385v8A4xR/wt7xf/0SfXfzm/8AjFAH sFFeP/8AC3vF/wD0SfXfzm/+MUf8Le8X/wDRJ9d/Ob/4xQB7BRXj/wDwt7xf/wBEn1385v8A4xR/ wt7xf/0SfXfzm/8AjFAHsFFeP/8AC3vF/wD0SfXfzm/+MUf8Le8X/wDRJ9d/Ob/4xQB7BRXj/wDw t7xf/wBEn1385v8A4xR/wt7xf/0SfXfzm/8AjFAHsFFeP/8AC3vF/wD0SfXfzm/+MUf8Le8X/wDR J9d/Ob/4xQB7BRXj/wDwt7xf/wBEn1385v8A4xR/wt7xf/0SfXfzm/8AjFAHsFFeP/8AC3vF/wD0 SfXfzm/+MUf8Le8X/wDRJ9d/Ob/4xQB7BRXj/wDwt7xf/wBEn1385v8A4xR/wt7xf/0SfXfzm/8A jFAHsFFeP/8AC3vF/wD0SfXfzm/+MUf8Le8X/wDRJ9d/Ob/4xQB7BRXj/wDwt7xf/wBEn1385v8A 4xR/wt7xf/0SfXfzm/8AjFADvhF/yUH4l/8AYUH/AKOua9erx34N2+qtr/jLU9T0e80v+0riO4jS 5heP7zzNxuxu+/XsVABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHNeFvE 58RnWQbQ2/8AZupzafnfu3+Xj5/1o8U+Jz4cOjAWhuP7S1OHT879uzzM/P8ApWJ8Lf8Amdf+xrvv /ZKPil/zJX/Y12P/ALPQB6BRXlfiK01LXPi5Ho1vruqaXY/2F9omSzl2u+JsfLn7jfc+fH8O2rGh pd6H8WbrQl1jUrzTJ9G/tDyr65M/lP52z5Gb+DbQB6ZXNeFvE58RnWQbQ2/9m6nNp+d+7f5ePn/W uD8K6JqHxB0mXxVf+JvEemjULiZ7az03UfLSGFX2KhG3lsq/Pfiq/hrXLrwZ8P8Ax3ql1Ib29tdd ulMwi2CWY+Wm8qOi7zQB7TRXh11a2KaMb+H4tTPr8cf2k2416A2j3A+fYE+UbC/H0q9rvijVfEng HwXqum38+k3uqaxbW0k0OcK53o/ybvnTev3G/GgD2OisLw/oZ0DTntjq2qajulMnm6jc+dIv+zux 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 iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKAPEfAPw1mj8I2V8uo694d1a4V0u4bdjH5i+a6/OjD7+xyEf+D5Xr0XR/BWk 6R4dvdFU3F3b37SveTXUu+W4d+HLsAOa3ri4gs7d7m4mSKGJNzu7bURaLe4gvLdLm3mSWGVNyOjb kdaAOEi+GawWf9kyeKPEE2hrs/0JrpMy4Gxo2dU3mHZtXZ9a6TVvC9jqttpFuRJbwaVeQ3ltHb7U TdD9xMY+5z0roqKAMHXvD1rrzaYbt5k/s+/hv4fKf7zp03Aj7vNZd54LLeIbvXdK1fUNLv7sQpcm Io8cyp3KOrjfs+UN2/76DdlRQBw+i/Dyw0PxF/bttq2qT6hJCYrmS6uElNwv+0Smf7nC7fuL71dg 8FWEGka/psdxceRrk9xPdOWXejzLsfZ8tdXRQBwz+AYbvwG3hLUtWvbiyOyNJtiI8cSMhRAdv+wt XvE/gyy8UyWU815qFhd2TO9tc2Fx5Uy7/vrn8BXV1g+I/E2jeFtPS/1m8NtbyS+Ssnlu/wA/X+AH +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 Jj9l+2eTsb/Vb9m7djH3q1qACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigDxb4xweOItK1e9g1iyt/DCxRQyWseRM4cojbjs7s39/7v1N ej+A/wDkn3hv/sF2v/olKwvjV/ySPXP+2P8A6Pjrd8B/8k+8N/8AYLtf/RKUAdFRRRQAUUUUAFFF FABXkH7RX/JPdP8A+wpH/wCiZq9fryD9or/knun/APYUj/8ARM1AHr9cN4q8dSaHrtj4e0vSX1bW r2Np47bz1hQRjf8ANvbj+BuK7mvONZ8W+Ibrx3L4U8JppL3VraC6u5tUEuwfd+RNnfDo3/AqAFsP iFqMPinT9D8TeGW0NtRDrbzvfpMjOP4OAB7df4k4+epvEnj59F8Xx+HYtHlv7u5sTcWkcL4eaXeV 2dPkXCM+/wD2a4Dxrpev6Z8QPAH9veI/7aL6onkf6Clt5P72Hf8Ac+9niu5khhm+P8LyRo8kPhvf GxX7jfaSmR/30woAzLn4n6vouqW+k6v4HurS7vlC2Cx38cyTTl9iR78bEGe/8P8Ad5q9H8Q9YsPE mj6X4l8JnRo9UmeKGf8AtJLn5v8AcRf77Ivb79W/Fn/JXfh3/wBxL/0QtYPxd/5KD8NP+wof/R1t QB69Xg/xb1DV/wDhYvhBY9F3pZ6hvsH+1J/pz74cp/0zw+Ey31r3ivIfi7/yUH4af9hQ/wDo62oA k8aa8NM8Z/D3V9Us5opRDemWzh/fP5zwonkpt+++9tlT6r8Sdf8AD4srjxN4KGl6dNcpbNcnVY5/ L3ck7EXn5Ax/CrHjizttQ+K3w6huF3RpNezcdnREdP8Ax9BVz41f8kj1z/tj/wCj46ANDxj40s/C NlaSSW015e3c3k2lpb43zP8An93lfX7y1zV98T9Z8O3Ng3ivwbJo+nXM3km8XUEudhxn7qJ/n5sV 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 nu1ekV5p4YsrWX42ePb6RP8ASIYbKJGz0V4QW/8AQEoA1PEXjdfC+gaddX1hL/a1+Vjh0q2ZZJPO 2fc/2l34Teg/iWsK++J+s+HbmwbxX4Nk0fTrmbyTeLqCXOw4z91E/wA/Nisvx3ba1dfHHwvb6dqE 2nh7CX7LcmLzo0k2zeZsRvkLbNgP/AKm8aeFPEB8IXn/AAlXxL/4kxCfaf8AiRp/fXZ/qzv+/soA 6L/m4P8A7lX/ANuqXWfiBc2/iuXwx4d8PvrWq2sPnXiG6W2WJMJ0dx8330rP0mymsPjPZWVzcyXc tv4QSJ7iT70rLc8tTZvFvibxN4q1zRfCk+lWdnpciW1zeXiO8wd925o1+4dmx+H/ALvvQBoaB4+u tR8WS+GNb0CTRNV8jz4FkukkWdOvytx9fl3/AHX6bK4Lw1quvP8AH/Vbifw4Yr24toory1/tBD9k h/cfvd/8fAU7B/eqdLDVtN/aG8Lwa1rR1e6awd0uPsqW21Nlz8mxPxOfetfw/wD8nP8Aiv8A7Baf +gWtAHR+IPHc1l4lHhrQdFm1vWPIE00KTpCkSd90n8Lfd64++vrUGifEO6u/FzeF/EHh+TRNSeET W0Xn/aFl/i+8i+gPqPlauN8LaX4s1L4h+O/7O8SzaLKl+nmGawW5aVC0vk4D/dUJ/MVrX/hTVh46 8LPrvj97m/jneWwtxpQh85E2PMm9G4+Qfx0AbV/8QtRm8U6hofhnwy2uNpwRbidL9IUVz/ByCPbr /C/HyVe8H+OX8RalqmkajpbaXrOmuPMtGmV9yH+NeOe3t8yHPzVzeo+F7ufxVruseAPF9lYalIUS +sRGjxGXfjL437H+V+qb9+/+/W/4a8Sa83ii68L+J7Syj1GO1F9DcaezeRLBu2Yw/wA+/f8A5/vA He0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYfijw/Z+K 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 5aab4g1nW4Wka51UwecjH5F8lNi7a3KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKAPHNFh1r4j6xrd9N4rurDRbG+mtLGDRp/J37dvzuw++m3Z+LHGzu7w9qGse D/im3g3UtWu9XsdQha7sJbl/Mmi+9lXc+yP+Oz7m5xXReJ/G89jrMfh3w5pf9r+InjaR4hIFS1Tb 9+Vun935OOo/2N0vhTwvqFjq114j8R3iXniC8XycQ7/s9rBv/wBVGD+f+XdwDuqKKKACiiigAooo oAK5LX/APhfxVqCX+t6b9quki8pHE8qfJ6YRh/eNdbRQB88fD3wF4Y17xh410/UtLE9vpl/5Noon lTYm+YfwsM/cSvStW8L6P4V+F3iex0az+y2r6fdTtGXd/n8nGfnJ/uiue+EX/JQfiX/2FB/6Oua7 zx5/yT7xJ/2C7r/0S9AHJ6H8SfCPhnwn4e0/VtZWG7XSrVmiWCR9n7lf7imu20PXLDX9Kh1TS5jc Wc5fy5NjJv2vs/i+hrnfhXo0OifDjR1j8t5LmAXcjquzc03zj9Cif8BrgLG5PhH4V/EAaP8A6ObP Xbm2tyC37lXaGEHd/eVW6/zoA727+LfgTT5ntZ/EcEkidTBE8q/g6LtNdbpep2es6dDqGn3CT2k6 7klSvIvBt54k03wRYWGn/DKK50+5tkeRm1WHF35iDc7o/wDfHY/7tbnwp0TXPDsOt2ep6HHplhLe farKBbhJmXfwybw38ARKAOu8ef8AJPvEn/YLuv8A0S9cZ4d+KfgrRfCOiabf64I7m30y2SVFt5m2 sIk/iVCK7Px5/wAk+8Sf9gu6/wDRL1i/Dvw/Y2Hw20eySCN4L6zWa5WVFImaZNz7+Pn4Ozn+DFAH W6XqdnrOnQ6hp9wk9pOu5JUrkrv4t+BNPme1n8RwSSJ1METyr+Dou015la3l34K8PfFHTNIuYfs2 n3UJszA5byfOfY3z/f8AMRNg6/I6fnu+DbzxJpvgiwsNP+GUVzp9zbI8jNqsOLvzEG53R/747H/d oA9Tj8Q6VceH212C7SXTFge4NwnzDYn3/wCRrndQ+KfgvTRDHe62kZnhS5jVYZnyjjchyiHb1Fcb 4f0TXPD3w88fWOp6Iml2E8Fzc2UK3CTsm+Fwybg3OwIn612fwr0aHRPhxo6x+W8lzALuR1XZuab5 x+hRP+A0AdXpep2es6dDqGn3CT2k67klSuSu/i34E0+Z7WfxHBJInUwRPKv4Oi7TXBWNyfCPwr+I A0f/AEc2eu3NtbkFv3Ku0MIO7+8qt1/nV3wbeeJNN8EWFhp/wyiudPubZHkZtVhxd+Yg3O6P/fHY /wC7QB6PJ4u0S38KHxG1+v8AZAVX+1LG7Z3vszsxv+/Xmnwwk8Mah8NvEEtzeSNqM9pKfENzmZ32 t521zv4LbN33M+9dB8KdE1zw7Drdnqehx6ZYS3n2qygW4SZl38Mm8N/AESs7wd/ybDc/9gvUP/Q5 qAPQ9DfTtP8AB2mzWl0DpVtYQmK4m+X9yiffY/7vNc9D8YfAVzLHDHr6b3bau+2mRfxZkxXIeMXe b4KeC9Pe8Fnaai+nWd1M6qVSLyt5Y5/3Fb/gNeo6l4c07VfDc2hTW6Cymt/ICIqYiX+DZxxs/h44 xQBneMLfR5m8P/21dTW4XWbZrPycfvbob/LR/lPydfStTXfEGleGtOa/1e7S1t92wO+W3N7KK4Xx jpSaHovgDS4p5p4rTxHp8CPNt3bFDhfuj0rS8f3Hhy01LQLnV9H1HVNVWZ5NMhsEZ5Q6bHd9gdM4 2J60AWdL+KngvV9Qh07TtcWW6nbZDG8Eyb2/3mTFQeLP+Su/Dv8A7iX/AKIWvOPi54i17UNB0++u fCc+ixQ3yPZ6jLdp9o+65Vdi/NE38XXgpXo/iz/krvw7/wC4l/6IWgD0Cud8R+LNF8J28MutX62i ytshGx5Gc/7qCuirxu1hi139pPVItSiW4TS9MRrNXH+qb9y+fzlegDtNG+JHhLxNqA07SdZWe7ZS yxNBJHv/AO+0Famm6/puranqOm2kzvdaayLcxvE6bN4OzO7733TzXnfxpYaJa6H4rsURNXs9RjRJ /mG+LY77H2nLJ8nT/e/vGtC7lg8N/GlL6YyW1jrulOJJvOxC80HzvI+W+QLEgGf9v/eoA66y8V6L qXiW70OzvhNqVom+aFI3+T/gf3D94VJb+J9HufFNz4ehvN+q2kPmzQeW/wAifLzuxt/jTivEPCMV xput+GPH0xmz4l1O7t7wWx2xxPK7LEm0ud6bw7n02L3Hzdl8LN2ueJvGXi7fBcw3eoGzs5wm1/JT t937uww/98UAdDcfFHwbbWdpez60kdvdo7QkQSlnVXKHKhNy/MD+VdBoXiDSvEunLf6RdpdW+7YX TK7W91NcF8CdFisPACagFRptSneZ38vDqqPsVC38X3Hb/gf51tMdPDfir4sXunQrvtYYb1Fcs6NN 5Mkz5/4GaAOq1X4m+EdF1F9P1HWYUuo+HSJHm29trbFOG6/LW5oXiDSvEunLf6RdpdW+7YXTK7W9 1NeQ/DLU/FFh4Tju9K8Df2pJfSvNc6o2qxRyXj73Hz7/AJhjPf6/x10Hw50PX9F8aa5cz+GIdC0f UYkdIVuY5SkqdETY33Tvkb7tAHTxfEjwlO+lpHrSs+rSbLJRA+XO/wAv+78nz/38V2NeS/ArQLTT vAkGteVE15fzSsZvJG9Iw+zZv67P3Yb8a9aoA5DRbXRI/Gviiawu5pdVl+yf2jC+NkXyHydvy/3f rWfN8YfAVtLJDJr6b0ba2y2mdfwZUxVLRLX7d8SPiTZCeW3E0dhGJoH2SJutn+dG7Pz1rm/DU3iH 4eaInhjW/Akuo6dJNNuu9LQXHnr/ALafxZzj59nydvkoA9h0vU7PWdOh1DT7hJ7SddySpS39/baX YXN9dtst7eJ5ZX/uqnJ/rXNfDybw9P4RjfwqWj0xnfbA0zu0L5+ZTudtp6HA453fx1o+PP8Akn3i T/sF3X/ol6AMbUPin4L00Qx3utpGZ4UuY1WGZ8o43Icoh29RXWaXqdnrOnQ6hp9wk9pOu5JUrlPh Xo0OifDjR1j8t5LmAXcjquzc03zj9Cif8BrztSNA+D/xGg0si3ig1+4s0TG7bCzwwlPm/wBg0Ad/ N8YfAVtLJDJr6b0ba2y2mdfwZUxUvirx1pWmfD+416y1Pat3DJHp1wsZfdPsfZxj/YP3qk+H+h6Z b/DbS7eKxh8i8sI5blGTf5zunz7/AO91rz7w3dND4U+KnhtBt03R2vPsab2bykdZvkH+z8mf+BNQ B2fwo8Zf8Jh4TjF3qP2vWrXm/wAQ7Nu932fwhfuL/DXolcB8Ff8Akkeh/wDbb/0fJXUa9/Z3/CP6 l/auf7N+zS/a8bv9Tt+f7vP3c0AcvN8YfAVtLJDJr6b0ba2y2mdfwZUxXYaXqdnrOnQ6hp9wk9pO u5JUrzTR/EcreGINL8H/AA31G50QQvui1KZLdHjf5/k8zf5qPl6j/Z9uJZ/h7cq8rMsGpPHGrN9x NiP/ADZjQB3njz/kn3iT/sF3X/ol6wvgr/ySPQ/+23/o+St3x5/yT7xJ/wBgu6/9EvWF8Ff+SR6H /wBtv/R8lAHP/tFf8k90/wD7Ckf/AKJmr1+vIP2iv+Se6f8A9hSP/wBEzV6/QB5X8W/EN3pl54X0 eLUZNLs9Wu9l5dwP5UscSPHna/8ADw5qV/gZ4HbTVtlsrlJgir9sS5fzc/3v7mf+AVs+LG8K6/dx +CdblzqN9F51tEsbFxjf+8VyhRH+V/yrmm+GfiDwzAV8FeNL23WOHy47LUR50QJfex6bE/BP/Q6A Op8CQeJ7TQXtPFTCS8tp3hiuUk3m4hAG1+P+Bdfm4rsq86+GfjK+8Rwahpms2/la1o0wtrtkK7Zn +Ycf7XyN7V6LQBRv7+20uwub67bZb28Tyyv/AHVTk/1rj5PjH4DhbbJrq/dVvltpm+99Erc8ef8A JPvEn/YLuv8A0S9Yvw78P2Nh8NtHskgjeC+s1muVlRSJmmTc+/j5+Ds5/gxQB1ul6nZ6zp0Ooafc JPaTruSVK5jVfib4R0XUX0/UdZhS6j4dIkebb22tsU4br8tcR4KeTwc3xMsrCe3ms9Gdryzijfek bbHcozZ3n7iI4P8AcNVPhlqfiiw8Jx3eleBv7UkvpXmudUbVYo5Lx97j59/zDGe/1/joA9e0LxBp XiXTlv8ASLtLq33bC6ZXa3uprIi+JHhKd9LSPWlZ9Wk2WSiB8ud/l/3fk+f+/iuY+HOh6/ovjTXL mfwxDoWj6jEjpCtzHKUlToibG+6d8jfdpvwK0C007wJBrXlRNeX80rGbyRvSMPs2b+uz92G/GgDq tZ+JHhLwzqB07VtZWC7VQzRLBJJs/wC+ENXvDnizRfFlvNLot+t2sTbJhseNkP8AuuK87u7DxP4F 8d6/4j0/w2/iCw1ONWExuB9phP8AcXHz7M/wqn3VT+5XQ+DtS8K6j4p1m60vTL3SNek2Pf2V6Ghd 16+b5W/Z/wAD6/N/t/MAaus/Ejwl4Z1A6dq2srBdqoZolgkk2f8AfCGr3hzxZoviy3ml0W/W7WJt kw2PGyH/AHXFeefAeKHUdI1fxHdxJNq93qciTXJX5mXYj4H935nzU0jr4e/aGtLLToVittd055b+ Mbtjyjzn37M/f+Qf99v/AHqAOu1D4j+FNMgnku9ajjSC7ewfMLlxOn3127en+192r/hzxZoviy3m l0W/W7WJtkw2PGyH/dcVxPws0WJfFXjrWm2tNJrdzZx/u/mRVfe/zf7W9OP9ir1tZ29v+0PdzQpt a88OedMc/efzkT/0FEoA9KooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigDx3w34S+JPhn7e9vP4SnutQuWu7u5uRNvd/+AIv y9T/AMDb1rrdG/4WJ/akH9vf8Iz/AGZlvtH2L7R52Nvy7d/H3sf0rtaKAMDTYNcTX9YmvrqGTSpv J/s+FPvxYT97u+Xu31rfoooAKKKKACiiigAooooA8/8ABHg/U/DPibxZqd5LbSQ6zeefbJC77kXf M/z5Uf8APQevSun8SadLq3hjV9Nt2RZr2zmgV3+6GdCgz+dbNFAGN4b06XSfDGkabcMjTWVnDAzp 90siBDj8q5rSfArPovinStbeGW31rU7m8Tyfn2JJs2Z3r99Sld9RQB5Jptr8VNBFnoVhH4fvdPtY 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 PcW3mb2ib5fmkd//AGausooA8u1PSfH3h3WNV1LwxdW+tW166zLZarM++3fe25YvmRAnzevT6fNq eGvDevL4ouvFHie7spNRktRYwwacreRFBu35y/z79/8An+73tFAHk9z4e8Z+Cbi+l8DWmnahpd9d faPsNygR7Z2+8E+ZE8v5F9/y3HU8J+E9dtPE+oeKPE+pw3epXMX2WGKy3+TBDv34G7/I5+/vr0Si gDkvB3h+70GTxAt08Tf2hrFzfw+UT8qSbMBuPvcUv/CO3n/Cz/8AhJd8X2P+xvsGzJ37/O3+n3cV 1lFAGBpsGuJr+sTX11DJpU3k/wBnwp9+LCfvd3y92+tb9FFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeUabqPizx5fatd6D4 ptNG0ixvnsLZY7RLv7Rs/wCWpd/729en/wBdrngzxPrR8bax4N8Q3MF7eadAk0F5BDs81Mc7/wDb +dPuj+9XSeLrXxJd6N5PhW8srO/aVfMmvOiJj+H5H+b7tcX4Ctb7SviHq9p4kiFx4ou7CO5fUY5E aKWJH8v5FCIyfwDHO/ZntyAet0UUUAFFFFABRRRQAVyev+Djr96t4fEniPTtkezydNvfJRup3Fdv 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 VP3sH1r0WiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAK8/wDG/jDU/DPibwnplnFbSQ6ze+RcvMj7kXfCnyfNx/rD69K9 ArxT43Wk194o8B2ltctay3F5JDHOn3oXd4BvFAHtdFeJePPBNv4L8PSeLfDup6hZatYshnuDO0z3 xd0B84twfnw/9zr8nNT+MfEeoXOrfCy9tLm6sYdWmjluLeG5ba6O9sdj9N/3yOaAPZq4/wAWeNIf C+r+HtPe0aebWbwWqsG2rEu9FZv/AB9eK5r47apqGleC7K502/urKdtRRGltp3jfbskzyv0Fc38X NEL/ABE8JE6pqif2pqAQKtz8tphoU3wf3G53/WgD3muU8Q3nim21fRU0LTrW7sJbjZqU0r4eGHcn zJ869t5/i6fntWFmLKwtrMzz3PkxLH51w+932/xO3dq86+J2qXun+N/h/bWl9dW0NzqWy4SGVkSZ PMg4f+/1P50AerUV4h8QriyHxJsdO8dSSDwibd5bKO1DiN5scmYr87P9/wC503J/ffO/4G0HRLPX TqXgzxKk2iSQAzaQkzzIjv8Ax/6z5H+QffT++P8AcAPUKKK8Tkt9R8TfG3XvDl3rV/Ho8doj3FjH OwSdNsPyf7Abf823/b/vUAe2UV4xptnH4G+N2n+GdDkmg0bU9PeaazeV2RX2v86c/e/cpzz/ABVN Jbx/E/4kaxp2oTfaPDegFI1s0keIyXLfIXfj59uyXuP4fV6APYa4+08bRXvxJv8AwhHaMXsrMXL3 Jf8AiOz5dv8AwNa5EQn4a/EbQtJsb94vDGtI8C2U8skv2eZf+eefub2kT/vt/wDYxz/hrw35Hx91 XTTreuv9gtobn7Q95+9uf9Qdkz4+ZPm+77CgD36iivAvEF7odx8TtUtviaZfscEI/sZYfO+yiFjk v8nz+Z/tfd+Rx/CmAD32ivPfAOhWukXOozaD4kTUvD8zhYbOOTzo7J/vbEffj+P+7n7tZfwx1S91 Dxv8QLa7vrq5httS2W6TSs6Qp5k/Cf3Og/KgD1avP/BHjDU/E3ibxZpl5FbRw6Ne+RbPCj7nXfMn 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 bHwn4b1bUNF07WbJZbo2kz7vl8xvkY9P9V97tvf+H5KAPoSivCte0LTvhx8TPBU/hqJ7UancPZXM TyuyOheNO/8A10/8cSrXxB8XWUvxAt/Dmqa09j4ftoDLqccYlV53dP8AUlkXlNjrxxwzfx7KAPa6 K+cV8U+DfB/ivS9R8C6oIdPnmW31azlS4ZJId3E3zr95cv8Axf3eOXr6OoAKKK5fxrYeIdT8PvZ+ Gry2tLyZ9j3Erupjj53FCg+/nH60AdRRXg3juyi8H6Lc3emfEbW5dbsZYnOnXurLMz5dP+WPf72/ muh+IXifV08CeFPEGipNFfXl9ZzJbQuzebvid/Jbb99P50AesUV5L4i8Ga1ovhm+8Q2vjXxFNqtp CbxxNeBLZmT53/chPuff+T6Ck8ReLfEGoaD4P07TD9m1DxTEhmvLZWdrZNkZdkUcg/Pnfn5Av/Ag AeheJNRm0nwxq+pW6o01lZzTqj/dLIhcfyo8N6jNq3hjSNSuFRZr2zhnZE+6GdA5/nXmXjrwLqmj eDdU1HS/FfiO8mit2E1vqF75sUsO3bLxx/Blu/3eleieA/8Akn3hv/sF2v8A6JSgDoqKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvFPjdeTWPifwHd21s11Lb3kk0cCfeldHgOwV 7XRQB4l488bW/jTw9J4S8O6ZqF7q18yCe3MDQvYlHQnzg3A+fCf3Ovz8cnxH0abw1pvgLU3Ju9P8 MTwRXMkK/O6jyvn29P8Alj/e6sle20UAfPHxh8Z2HijwnZjQop7vTYb9fOv9roiylJNsSh+Wbblz j7vy/wB7jovjJMLDxR4D1a5EkdjZamWuZ8MyIN8L/wAkc/8AAa9looAoaXqdnrOnQ6hp9wk9pOu5 JUrzD4u/8lB+Gn/YUP8A6Otq9eooA8w8VeNIdH8Q3Oj+LNCx4ZniQQ6hJAbmFpfv7ZFPH8P3fv8A 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 5NeheA/+SfeG/wDsF2v/AKJStC10qwsZ7i4tLC2t5rl987wwqjyt/tkfe6mtKgAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigArB8OeJtG8U6e9/o14bm3jl8lpPLdPn6/xgf3hXK+MLu78S6sfAulwSeXMiTav frNt+zWxf7mQeHfaRtP8H1+TI/Z1/wCSe6h/2FJP/RMNAHr9FFFABRRRQAUUUUAFcz4r8WWvhKxt ru6s7u7+0XKWkUNom+R3bceF7/cNdNXm3xeuoNNsfCt/cNst7XxHaTTPj7iIHJoAs/8AC0v+pD8c f+Cj/wCzro/D+unX9Oe5Ok6pp22Ux+VqNt5Mjf7W3P3ef0rnP+F2fD3/AKGD/wAk5/8A4itTxD42 0zQfBX/CTL/pFtLEj2ybtjTh/u/e56HNAHWUV5J/bXxc/wCEc/tn+ydA83yvtH9neXP9o2+mzf8A e/2Ovb73Fa2s+PpI/hIfGekxW7TNFC6wTBnRWMqo6cbCdp3jt0z0oA9Forh/CGseJNduX1K80+ys vDtxDvskZt124O3Y77fkCFd/HXpXcUAYfhfxBZ+KvD9trdjHIltcl9iyr83yOU/9lrcrwT4Uax45 vvBUFl4cttBjsNOZ4Wm1My7pZXdn+Up/vqK7zwJ44u9euNQ0bXrFLDxDpsmJbdD8rp/fXv3+nzJz 81AHf0V5J4K8ceL/ABtDp9xZaVpkVrDM8eqXcxbY7B1+WFQ+/f5TZy/FXNU8beJNU8c3HhrwdY2E 4so/9Mvr4s0KSf3Mxn2K/wC9v4+TNAHp9YeneI7TUvEGs6JCsi3OlGDznYfI3nJvXbXJ6J4t8TWv jf8A4RjxbZWMEl3B5un3lisnlTun30+fP/sn3f8AbSoNI1Oz0b4k/EnUdQuEgtIF0xpJW7fuDigD 0+iuG8H+Ite8StcazdWUVhoU7f8AEthdG+0ypwfNc79irjt/l8fTvFXjfxbNd3fhSw0WDRoZnigu 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 f/hLf+F+6t539h/2n9nh/tDZ53lfZv3OfJ/29uz79dVfeOvE0vj3W/CeiaVZ3V5bLbSW8sx2pDE6 oZXm+fL43r9ygD1SiuKu9f1XTvE3hDRbuOzaTVIrj7c8aNhHhhR/3JPRN5P3s8VU+KnjHUvBXhm2 1TTYbWWWa8SBkukZl27HfPysP7lAHoFFcF4v8XX2lappPh/QYLW81/VZCYUuX/dQxL995MfP/f8A ++H9NpzbjxX4v8L6lpsnjC20P+yb6cWZutMd0+zSt91383+D7/5f99AHdvq9hHqkWmS6hbJqEq74 7V5VEzr6hO/3W/Kq3/CQWn/CYf8ACN7Jftv2D+0N+z5Nm/Z/31Xj3ij/AIS3/hfuk+T/AGH/AGn9 nm/s/f53lfZv32PO/wBvbv8AuV6l/wAJFef8LP8A+Ea2RfY/7G+378fPv87Z6/dxQB1lFeYap428 Sap45uPDXg6xsJxZR/6ZfXxZoUk/uZjPsV/3t/HyZqfRPFvia18b/wDCMeLbKxgku4PN0+8sVk8q d0++nz5/9k+7/tpQB6RRXlt7438SXHj/AFvwnollYy3tskMltLc71hij2q8rS4+ZvmZVQIP4s9qt 6P4t8TWXjq08M+K7OwL6hA8tpd6YJBDvTdvRvM6/d7f7H96gD0eivLH8Y+Lde8a6xo/hC30X7LpO yK4udQMp3S8gr8vuGHT+D71a3g/XvFd5q+q6Z4o0ZLS6tXHk3NrDJ9luY+5Vn7+nz/x/c+R6AO9o oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8e8MeEPiT4Tt5orBvCM01xL5txeX T3Uk9w/+22Oe9ZH7P/8Awkf9jP5H9l/8I99vm+1eZv8AtPmeSv3P4Nudn/j1e8Vg+HPDOjeFtPew 0azNtbvL5zR+Y7/P0z85P90UAXYNRsp7q5s4bmF7m3CebAj5eLf9zcv8NaNZNroljZavqGq28O28 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 BW5kiWKW5eQtI/1/uf8AAcUAY/haCJ/jD4+umiBmjSwRHx8yq8OWH/jif981P4s/5K78O/8AuJf+ iFrqrXRLGy1fUNVt4dt5qPl/aZC7fPsXYn6UXWiWN7q+n6rcQ7rzTvM+zSB2+Teux/0oA881Hw1o PjbxVrl/4a8TappniK1KWd+9nujVSG2/Nnbv/wBV/C/8ArR8La1rtp4+1DwhrGr2usyRWiX0d7FG sLxr8iGJ0Tj+LcPbn+L5bnij4Z+GPF00t5qFlJHfuqJ9rt5Nr/L/AOOHgbPnX+lbXhzwnovhO3mi 0WwW0WVt8x3vIzn/AHnNAGjBqNlPdXNnDcwvc24TzYEfLxb/ALm5f4a0aybXRLGy1fUNVt4dt5qP l/aZC7fPsXYn6VrUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcTrHxO8JeH9Un0v VdUNteQbfMT7PM+3cm8cqnuKq/8AC7Ph7/0MH/knP/8AEVm6PrelaN8WvHrapqtnp4m/s/yzdXCR b8Qc43fhXbWXivw9qd2trZa/pdxO/wByKC8jd2/4CDQBuUVzX/CSn/hYX/CL/Z+P7L/tD7Rv/wCm vl7Nv9azvFnjdvC2v+GtJOn/AGk63dfZvM87YIfnRM/d+f8A1nTigDtqK898TfEVfDvicaEuj3V7 cvp32u2S13yPPNvdfKCBCeiO+/8A2a4L41atr974M0pNV8N/2dA10kzyG+SbZN++Xyfl6/J8+/8A CgD2nVNasNF+yfbp/K+2XSWcOUZ98z/cXj8a1q8l+IOr3KeGPB+q6/Y/2TJB4itprmAz/aPJRPM/ jT73yfPU2rfEbxPoumT6zc+ApotKjCsZZ9TiSTazDbvi271b5h8vagD1SiuT1zxtpGheEk8S3Mry 6fMqPAIh88wf7uxX29vm/OuWv/id4k0XTItW1rwFc2elyMm6ZL5HeNW/2NvH/AtvpQB6rRXD+Jvi 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 z/cb7tAGldaVYX09vcXdhbXE1s++B5oVd4m/2Cfu9BWlRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAeUWfiDS9H8Ra9F4R8IapqGqXV4yXtyrbLWadDvcGZ3xHt3v/DWL 4Bu9Qb47eJYrvTTo8lxYiWawjnV13/ucOdnyO/zu2f8Apo1XNI8N+Nvh0bnSPC9rpup6Re3Rlgur yTY9v9wfvhkbl2q/3B/tcfcq7oPhDxLo3xOPiHUpbfUV1S1eG9ltf3KWbjZsVFPLp+7RPzLe4AfC zRYl8VeOtaba00mt3NnH+7+ZFV97/N/tb04/2KvW1nb2/wC0PdzQpta88OedMc/efzkT/wBBRK3f B3h+70GTxAt08Tf2hrFzfw+UT8qSbMBuPvcUv/CO3n/Cz/8AhJd8X2P+xvsGzJ37/O3+n3cUAcra 27+FvjjNEE26Z4mtWdI4oUVftMK5fd/wEO3v5tRfCi2/4SDV/EXjq5jm36lcPb2Rmi2FbZfcfK/R E/7Y9etM+PWmxXng6xCxNNftqaRWoji3u7Oj/J+n/jq16D4W0G28M+GdP0a2YMtpFsL/AN9+rtj/ AHsmgCt420YeIPBOs6SsXnzTWrmGMNt3TL86f+Pha8ovb6H4kaB8O/Dk94yi/jee7kkbfcl7ZGTf 97+MpMNzZ9e1e+15b4N+G0vhXx9rmvpc240+7V47W2hj2FI3dHxj+HZt2gf+g0AcDfaneX3wp0bw ObpodabXDpFzHcHen7t843Dd8iF4Bx/cr0jxFBDafFH4c21vCsUEK6iiIi7VVfs61X034cz2fxXu PEpnjTSFaW5tbVZXZxczIiSuyuP4vn6H+59K6PWvD13qXjfwtrcckS22lG885Wf5285AibfyoA4z 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 3uOVQY6Fokmc/d5f+8a7mP4bS2/xhPjGK5t4tOKtIbdYijmZkMb9PqX3/wD7dO1z4c3Wq/FGw8R2 9xHFpUckNzeQJM2+a5h37H2/c/uJ+L/iAY3xB8L/AGf4a+C/Cu6K3d9Ts7KZ4l+Xe6Orv7/OS1dx 470qyl+GGu2LQKtpBp0jxQp8qr5S70+mCiflT/GPh+716Tw+tq8S/wBn6xbX83mk/Mke/IXj73Na niTTpdW8MavptuyLNe2c0Cu/3QzoUGfzoA8b8ZaleDwN8M9BgtheW+ow2/nWom8r7VsSHbDv7K2/ /wBBrd8RL4s8QeF5NBl+FsMUAhMdtt1m3/0dwmEdBj+HNbeq+BbjUfBHh+whuIYdf0OGFrK8VNyJ NGoH937jbf0Tis24tvin4nt7/RNSi8PaZYT/AOjTXcW93libhzEu9/4P7+z7w+oAMHxdoeqXvwn8 EeHdaVLG+fVrawYJh/LXbNGjfe5+Tafzr2ewsbPTbSO0sbaG3t0HyxQpsVf+AiuT1zwXcXGj+E9N 02WM2+h6nZ3DNcv87wwJs/hXl/yruqACisHwrba5a6Bbw+I7yG71ZN/nzw42P8529FX+HaOlb1AB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHN3XhLSL7XrbW bq2kuLy1bfbma6kZIn/2E37F6D+GukoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig Ark4/AXh6G/vL23ivbe6vZfOuZLbUrmHzX55Oxx/eNdZRQBhaF4b0rw+LhtMszDLdymW4leV5Xlb /adyWNbtFFABRRRQBy8/gfQbnWrnWjb3UGp3SbJrm2vpoXdBt/uOP7i1Jo/hPR9G1G41KytZF1C5 RUluZ7mSaVl/3pHf0rpKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACs m10SxstX1DVbeHbeaj5f2mQu3z7F2J+la1FABRRRQAVzes+FdI8QzW82q273RgdXSB7iTyd6+sO7 Y34iukooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKxdZ1/S/DsNvcardLbRXEy26O wIXe3/oPQ0AbVFVLe4gvLdLm3mSWGVNyOjbkdat0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFeQftFf8k90/wD7Ckf/AKJmr1+vIP2iv+Se6f8A9hSP/wBEzUAeF+Gf HWu+Epg2kX7Rw7972rDdBJ93qh7/ACD5x81e4+D/AI56LrAhtdfA0q8b5fNY7rd2+X+L+Dv9/IH9 +vmKigD70t7iC8t0ubeZJYZU3I6NuR1q3XxZ4Z8da74SmDaRftHDv3vasN0En3eqHv8AIPnHzV7j 4P8AjnousCG118DSrxvl81jut3b5f4v4O/38gf36APYqKqW9xBeW6XNvMksMqbkdG3I61boAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOd8R+LNF8J28MutX62iytsh Gx5Gc/7qCvP/APhozwl/z4a7/wB+Yf8A45XlHjK4vfGPxhutOu7gx79T/syFiN6QoJPLzt/8er3K D4K+A4oEWXRXmdFw0rXcwZ/9rCvQBo+FfiT4d8YKkdhe+VeEc2lx8kvRun9/7v8ABnFbXijxBZ+F fD9zrd9HI9tbFN6xL83zuE/9mr5p8R/DvxL4P8ZZ0HS9Uv4bWVLizuoLQzf7S7tgxuVv844r3Xx3 d6VqHwxvLnXYNTt9Nnht5JYII1W5Tc6bUKv0YPQBY8E/ETTPHh1D+yrW7j+xBN5uERMl93Tazf3D Xa14/wDBD/hEf+J5/wAIp/bv/LH7T/afk/7ezZ5f/A67vxT4v0XwdYLd6tc+Vv3CKFF3SSt/sr/n rQB0tFeZ+HPjL4Y8TaxDpNv9ts55v9VJeIiK7f3Plf7xo8NfGXw74s8QWuiafY6kl1cl/LaeJAny IX7Of7tAHplFee+MPitofgfVYtM1O21GaaaETq1qiMu0uyc73HPyVnan8b/Cem/ZsG9upJ4ldkto lbygyq218uF3/Nzt3YwRQB6nRXDeC/iToHjSZ7TTWuoryJDI1vcxbXMeV+f5cp1YV3NABXmf/C5f Dv8Awl3/AAjP2LU/t327+z93lR+X5m/y+u/7ma9Mr5B/5uE/7mr/ANuqAPr6vPfGHxW0PwPqsWma nbajNNNCJ1a1RGXaXZOd7jn5K9Cr5e/aK/5KFYf9gtP/AEdNQB9C+F/EFn4q8P22t2MciW1yX2LK vzfI5T/2WtyuA+Cv/JI9D/7bf+j5Koa58bPB2g3P2dbqfU3IG7+z1WRE+rlwv/fNAHp1FefeF/it 4Y8UXZt4L2S0u5JNkdtfYjaTlR8hzsP3vu53n0rpfFHiCz8K+H7nW76OR7a2Kb1iX5vncJ/7NQBu UV5npnxl8Maloup6mPtttFp2zzFuVQNM779iRhX+ZvkP+em74W8d6V4t0G51q1Wa0sraZ45pL3am zYivvOH+5hh/9agDr6K8s1X45+D9IvntIWu78qPmms41aPd/vM67vwrd8K/Enw74wVI7C98q8I5t Lj5JejdP7/3f4M4oA7avIP2iv+Se6f8A9hSP/wBEzV6/XkH7RX/JPdP/AOwpH/6JmoA+X6KKKACi iigDrPDPjrXfCUwbSL9o4d+97Vhugk+71Q9/kHzj5q9i8LfH+wvHW28UW/2CQcG5tUeSE/f/AIPv p/AP4/8AgNfONei+EfhN4i8UtFcLCbDTnAf7XcjZvT5eY06v8r8dE/26APqywvrPUrSO7sbmG4t3 HyywvvVv+BCr1cJ4J+Hem+B4HWyuLm4vZlH2m4kf5ZPYJ9zt/vfMfmru6ACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKAPA/iD8F7zUNXn1zwyglkuG825sZ59rGR25ZGb67sMf X/criodY+Kfgi3mR/wC2rWxtgkLSXFt50MIT5F2O6Mirzj5ev5V2N78afE2i+OH0PVrbTIrO2v8A yric2cyv5O//AFm3f/c+evcrC+s9StI7uxuYbi3cfLLC+9W/4EKAPn3w/wDtBavaSwJr2n215bBE R5rX5Jv98j7h6fd+SvRPi1qEGp/BXVL+zffb3ENtNE/95XmjI/SvH/jJfeG9Q8X+ZoIt3YQg3c1m UMM0rMz/AMK/M/PzPvOenVDXe6zb3Vr+y6sdzN50zWlrIjb93yPcoyJz/dRlWgDP/Zo/5mj/ALdP /a1cR4q+3eOvjHdaYzSB31A2EQjjZ/JiR9m7b/327f8AAjxXb/s0f8zR/wBun/tauB0mSP4d/GFV lzFb6dqLws9wG3/Zn+Tedv8A0zffQB67rnwN8OXPh57bRo5LPU41Aju55mcTNj/loP8Ab5+4Bj/x 2vIPgr/yVzQ/+2//AKIkr6e1fxLpOheH31q6vYTZeSZIWEqf6Qdu8KmT87Ng4HevmH4K/wDJXND/ AO2//oiSgDe/aK/5KFYf9gtP/R01d54I+DnhG58H6beapZNqV3ewx3Jd5ni2b0DBMI/bNcH+0V/y UKw/7Baf+jpq9/8AAf8AyT7w3/2C7X/0SlAHy/4ZjuvDPxksLG2uPMks9Z/s/wA3Z95N/kv8v+6T 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 rmG+12//ALQmXa/2aKLbCH/2s/fX/vmvR/Gnhv8A4S3wle6J9r+y/afL/fbN+3Y6v93j+7XSUUAe e/DT4at8PP7Uxqn277f5XH2fyvL2b/8AbbP365j4g+D/AAl401EtZeItMsfEaN9nZDcJm5cfIqOm 7fv3YXd79G4r2mvHfiL8GrbxPqD6tolxDZX8pzPC8Z8qZsj5sj7jf+hfnQBzOhfASSyuGv8AxZqt immW4EzR27su9AMvvdgmxeB+Z+7XIfBKGab4q6VKkTusKTO7gfcXyXT+bL+ddhe/CL4oajbva3/i +C5t2+/DPqdy6P8A8AKV6Z4A+HGm+BbeVo5ftepTD99dvHs+X+6q/wAK8UAY/wAQ/hH/AMJ74gh1 U639hMNslt5f2bzcne7ZzvX+/XfaFpn9jeH9M0wy+b9itorbzNu3fsTZ/StWigDx3/hSDf8ACf8A /CU/8JD839qf2j9l+x/9NvM2b9/4dK9ioooAK8d/4Ug3/Cf/APCU/wDCQ/N/an9o/Zfsf/TbzNm/ f+HSvYqKACvLPiH8I/8AhPfEEOqnW/sJhtktvL+zebk73bOd6/369TooA5Dw34Ng0LwHH4UvJvtt qIpoJZAnlGRHdyf4uPv15Nrn7O14bgN4f1iBoH6x3+UaM4/vIp3/AMX8K/jX0RRQB4J4c/Z/SGcz +J75ZY1kJS1sN21x8pG92H+8MAf8D7V6v408N/8ACW+Er3RPtf2X7T5f77Zv27HV/u8f3a6SigDz 34afDVvh5/amNU+3fb/K4+z+V5ezf/ttn79dR4h0Sz8TaJdaRqCt9nuF2uUfDJ/dYflW1RQB84az +zvqov2bRdUs5LI8r9rDxun+z8qtu6/erpPBHwOttF1K11TXL43d9bSpNFBafJEjoTgl/vv/AAP/ AAf8Dr2uigArhfib4Ou/G2gWWl21xDbhL9JpZJv7mx0+X1b5xXdUUAed+EfhN4d8LLFcLCL/AFFC H+13Q37H+XmNOifMnHV/9uvRKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAqjf31nptpJd31zDb26D5pZn2Kv/AjV6vFtZv8AwrpXxO1u 78c6XI8c8MKaZdXts9xblFjTeiJs+9vcnPP/AAD+MA9porxjWtO8M6H4P8UarpbWus+GbyWHz9It rnbElwJU5SVGPlj5k+XZ/CnRa7bXfFFxZ69b+H9I0k6lq00H2qVWuhbrb2+/Z5jORz8/8C89fxAO xory+4+J99pui+IrvUPDbW1/oS232iya7V9zTPjh0TH3drZ/2q0X8c6pay6PNqnhmWysdWvPscLN ef6REz58rzYtnyF/Tednf3AO/orjbvxHr8mpXdpo/hiW5trNG/0m8ufsnnyp/wAs4lKHfnjD/c96 5Pxf4zv9Y+DH/CS6Qj2MdwimaRbxo57Z/PVP3e1Pn6MPvJ8h6dqAPXqK5SPxRK/jWPwxcaakdx/Z Q1Nplm3Kj+Zs2fc/Hd+lY2vfEj+xP+EuxpHnjw99j6XO37T5/wDwD5Nv4/hQB6JRXAL4z1S30u51 HUvDE9i7Sww6VBNdxLNfvM52IUP+qf7u8HOPn/uU6Pxdq1nr+labr+gDT4tUTZDeQ6h5qLN/zxf5 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 1a38PySXup+G18q0FzlIUa53h5Jtvypsw33erKuKAPbqK8l8SeNLa+8J+LtP8ReGy76PJbJdWi3x 8uZZHUxusqqH/wBv7v8A9bqdd8UXFnr1v4f0jSTqWrTQfapVa6Futvb79nmM5HPz/wAC89fxAOxo rxv4geKDrXwv8W2F1afZdV0uW2S5t1k81NrzIyOr8blZee1dK/jnVLWXR5tU8My2Vjq159jhZrz/ AEiJnz5XmxbPkL+m87O/uAd/RVK4nW1gaZ/M2Iu5tiM7f98KMmuE1LxzrWkaC+v6h4Qa20lZ0VzJ qKi5WFz8sph24/iHyb927j/aoA9IorjbvxZeT+JrnQ9C0hb+axVG1Caa58iK33pvRfuOz7sfwr6f hyPjfxjqOpfC/U9S0lJbC5tJ/sl/i9dJrOdJkDomxcOPm+8GX5T9VoA9gorhYby3b4qRW0+koutn w+JXvFumZVj87Hk7On3+d9YmnfEfWNT8H3Piay8H40+0id38/UNu7aXLmH5PnVV/3Ody/wANAHqt FcNJ46N1caRY6FpMmoajqNkl/wCTNOtukFu+Pnd/n/vD5V3dPzseFfFV3r+rappt/oz6Vf6WkP2i BrhJsNLvYfOnH3UU/wDAvagDsaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK86s/EXiDQ/E+oab4h07VL2 zluHmstQ0+yeeFLds7I32Ju3rt/2j83PHzV6LRQB8++JfDV1f2fiq/8ADPhrUtP0qSzgtfshs3ha 8uEuUbzY7fH3Ag67F++/+3XoGptd6L8ULbWJLG6uNOvNJa0aWzsXuHhlSbf82xCyKwb8T/u16FXJ 6r4Ra/1T+29P1a60zWVsmsluIkjkV03b/nR0/v8APy7TzQB5Trcl14jX4qfYNNvmmmbSkS1e2dJn CfxBMb/4d/8Au816P8RLG6vj4UFpbTTmHxDZzzGJC2yNd+XbH8PvWloXhG18P3Wo3sV3fXt/qEiP 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 oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo 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 +fD4VvlKbc/3t3atP4UC1tvip4rsvDxnbw75Qw5/eR71cbPnH8PMuz+8nWvQvEnw28K+KtRN9qen b7sld00UzKzqo/i59ttaGn6L4e8DaNczWVjDY2kEDS3Mka732JufLt998fNjrQB51quoQ3/7UOiW 8asXsLNoH3dN3kzSfydK9sryD4R2E+r32tePbsFbnV5ZFtY3l3+VAG/vd+V2fd/5Y16/QAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRSGs+61vSrG48i71Ozg mwD5cs6q2D7E0JN7AaIopo6dadQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUYoooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwv E3ibTfCmizanqcu2JchEX78rc/IvP3uK86/4aM8Jf8+Gu/8AfmH/AOOVgfHWR4fG3hl9Wiabw8ih 2jUqHY7/AN8o/j+55de5ad9i/s+1+weR9j8lPJ8j7mzA2bcfw4oAo+GfE2m+K9Fh1PTJd0TYDo33 4m4+Rufvc0/XfEGleGtOa/1e7S1t92wO+W3N7KKfpWh6boccsOmWcNpBNL5zRxJsQPsVOFHT7i14 XJBL8U/jbe6bqrv/AGRo8kv+i+b1RH2HbgfxuV3f7PG75UoA6n/hozwl/wA+Gu/9+Yf/AI5XYeEf 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 Dx/9eup+JPiqfQtNisrFyl3d5/eL1jQdSPQnOAfr3qamCqRrKitWwjNNXO7yPUV4L8Tf+R4uv+uc f/oIpNF8GeJNctG1y1mCSFjJHJLMyyysP4lPrnPJI5rA1m81C91N21Td9sjAik3rhsrxz716ODwk aVV2knZamc53jsfS8P8AqU/3RTs1j67rSeH/AA5NqLrvMUY2JnG5jwB+Zrxyy0zxL8RLye4a5DpE fvzuViQnHyqoBx07Dtz7+bRwrqpzk7RXU0crJHvmaK8EjuPEHw411LeWQ+Uf3jQq5MU6ngkZ78Yz jIx6V6T41W+1PwfHqei3lzBJEouQIJChkjIyRwew5/CnVwbhKPvXUtmCnd2Oyory34a+MZJvtOma tePI6qZ4pp5CxIA+Zcn06/nWPZavrfjPx2Y7PUb+2sGk3FYZmQJCvsDgE/zam8DUjKSl9nW4vaK1 z2qlpo4FKeOa4i0FJkV4p4y8V6n4h16TRdKklFqJDbrHCdpnbod3qOvtjmopPh74s0KIajYyI0yD lbKZvNUY54wM9Ogzn0NegsClFOpNRb2RDnrZHuPak6d65TxD4om8OeDre9nQHUZo0RUcYHmFckke g5OPwry/TfD/AIm8evLfPdeYiMR511IQu7qVUAHHXoABWdHB88XOUuWK6jc7HvmQaO1fP0h8R/Dz WUh88x8iTajloZx0PH6dARXsM+sDU/A1zqlozxGSxkkUqcMjbD3HcHv7Uq+EdLlkneL6hGd3ZnQU ZHrXgWheJfFV2s+k2F3d3V1elQskkxdolGd20k/LnI57YqDXNA17wZf295Pc4mlJZLm3lY/N3BJA Oefxz9a6Flr5/Zymk+nmL2nZH0JRmvGRe+K/iRCLW2KW1nAgWdyxSOV/cgc+u3oKwdN1DVvAnidr eR2TypQtzCGykq+v5HIP/wCqpjl0nePMuZdAdTqfQtFNUhlBHcU4V5xoFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR 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 E8QQxQWgBUFYoUOViXPLM35ZOPSvXJ9KTRvh/dadF8whsJFyP4m2HJ/E5NFdexw8KMn717gvendH nPwi/wCRouv+vQ/+hLXSfGED/hH7E/8AT0P/AEBq5v4Qj/ip7sgdLQ5P/AlrpPjAD/wjtkccfax/ 6A1XVa/tCL9BR+Fl34U/8iav/XxJ/SuA+KAA8bTEDrDHn8q9A+FQI8GISOs8mP0rgPikCPGsuR1h jx+tGHa+uzfqL/l0e4Wn/HnD/uL/ACqeoLQEWcIIwdg4/Cp68aW7No7BRRRSGFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcv4i8F+HvFO3+2dKiuZIsbZ uUkwM/JvX59vzn5ayIfg94CtpY5o9ATejbl33Mzr+Ks+K7+igCpb28FnbpbW8KRQxJtREXaiLTL+ xs9StJLS+tobi3cfNFMm9W/4CavUUAef/wDCk/h7/wBC/wD+Tk//AMXXS6N4b0jw9EYdK022tF2I jtFHseTZ93c/8Xfr61t0UAcz4d8G+H/CBuToOnm0+07POHnPJv2Z2/fY/wB4101FFAHO+I/Cei+L LeGLWrBbtYm3wne8bIf95DT7rwzo994YXw5c2Zk0tIEh+z+Y/CJ9wbs7uNorfooAx9D0Ow0DSYdL 0uE29nAX8uPez7Nz7/4vrVnVNMs9Z06bT9Qt0ntJ12vE9X6KAOd8OeE9F8J280Wi2C2iytvmO95G c/7zmuioooA5n/hDNB/4Sr/hK/7P/wCJ3/z8+e/9zy/ubtn3OK6aiigChqmmWes6dNp+oW6T2k67 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 6dEYrK0gto2bcVhjCAn1IHerQFFLRdvcBMD0FLRRQAmB6Cg0tHegDMj0HR4roXUelWSXAbf5q26B s+ucZzWlgYoFLTcm9wsFUr7StP1Ip9usbW5KZ2+fEr7c9cZHtV2ikm1sBm2mhaTYzCe00uzglAwJ IoFVsfUCtHGaWim23uAUmB6UtFIAxRj0oooAguLaC7gaC5hjmhcYaORQyt9Qaq2mh6TYT+fZ6ZZ2 8uMb4oFRsemQK0aKfM1oAlULzRdL1CUS3um2lxIBtDzQK5A64yRWhRSTa2Aq2dhaafD5Nnaw28WS 2yGMIM+uBVntS0UXvuAmB6UuM0UUAFJgegpaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q0K ZW5kc3RyZWFtDQplbmRvYmoNCjcgMCBvYmoNCjw8L0ltMTcxNDM0NjE4ODggNiAwIFI+Pg0KZW5k b2JqDQo4IDAgb2JqDQo8PC9Db3VudCAxL1R5cGUvUGFnZXMvS2lkc1s5IDAgUl0+Pg0KZW5kb2Jq DQo5IDAgb2JqDQo8PC9UeXBlL1BhZ2VzL1BhcmVudCA4IDAgUi9LaWRzWzEgMCBSXS9Db3VudCAx Pj4NCmVuZG9iag0KMTAgMCBvYmoNCjw8L09wZW5BY3Rpb24gMyAwIFIvVHlwZS9DYXRhbG9nL1Bh Z2VzIDggMCBSL01ldGFkYXRhIDExIDAgUj4+DQplbmRvYmoNCjExIDAgb2JqDQo8PC9MZW5ndGgg MTc2NS9UeXBlL01ldGFkYXRhL1N1YnR5cGUvWE1MPj5zdHJlYW0NCjw/eHBhY2tldCBiZWdpbj0n 77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+Cjw/YWRvYmUteGFwLWZpbHRlcnMg ZXNjPSJDUkxGIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0nYWRvYmU6bnM6bWV0YS8nIHg6eG1wdGs9 JzMuMS03MDInPgo8cmRmOlJERiB4bWxuczpyZGY9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIv MjItcmRmLXN5bnRheC1ucyMnPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nQTYwNkIzQzct Nzc2Ny1DQ0UxLUE2M0ItNkYyNDg3NUQzM0QwJyB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5j b20vcGRmLzEuMy8nPjxwZGY6S2V5d29yZHM+d3d3Lk5lZXZpYS5jb20sIERvY3VtZW50IENvbnZl cnRlciBQcm8sIENvbnZlcnQgdG8gUERGIG9yIEltYWdlIGluIGJhdGNoZXMhPC9wZGY6S2V5d29y ZHM+PHBkZjpQcm9kdWNlcj5OZWV2aWEgRG9jdW1lbnQgQ29udmVydGVyIFBybyB2Ni41IChodHRw Oi8vbmVldmlhLmNvbSk8L3BkZjpQcm9kdWNlcj48L3JkZjpEZXNjcmlwdGlvbj4KPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9J0E2MDZCM0M3LTc3NjctQ0NFMS1BNjNCLTZGMjQ4NzVEMzNEMCcg eG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz48eG1wOk1vZGlmeURhdGU+ MjAxNC0wNi0xMVQxNzoxNDozNC0wNTowMDwveG1wOk1vZGlmeURhdGU+PHhtcDpDcmVhdGVEYXRl PjIwMTQtMDYtMTFUMTc6MTQ6MzQtMDU6MDA8L3htcDpDcmVhdGVEYXRlPjx4bXA6TWV0YWRhdGFE YXRlPjIwMTQtMDYtMTFUMTc6MTQ6MzQtMDU6MDA8L3htcDpNZXRhZGF0YURhdGU+PHhtcDpDcmVh dG9yVG9vbD5OZWV2aWEgREMgUHJvIC0gSU1BR0UvT0NSIHBhcnNlcjwveG1wOkNyZWF0b3JUb29s PjwvcmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nQTYwNkIzQzct Nzc2Ny1DQ0UxLUE2M0ItNkYyNDg3NUQzM0QwJyB4bWxuczpkYz0naHR0cDovL3B1cmwub3JnL2Rj L2VsZW1lbnRzLzEuMS8nPjxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9kYzpmb3JtYXQ+PGRj OmRlc2NyaXB0aW9uPjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+PC9yZGY6 bGk+PC9yZGY6QWx0PjwvZGM6ZGVzY3JpcHRpb24+PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjps aT48L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpjcmVhdG9yPjxkYzp0aXRsZT48cmRmOkFsdD48cmRm OmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPjwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOnRpdGxlPjwv cmRmOkRlc2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nQTYwNkIzQzctNzc2 Ny1DQ0UxLUE2M0ItNkYyNDg3NUQzM0QwJyB4bWxuczp4bXBNTT0naHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyc+PHhtcE1NOkRvY3VtZW50SUQ+dXVpZDoxOTdGQUY3NS1FNTgyLTM0QTgt RENEMi00QjFFNDkzRDIxQUE8L3htcE1NOkRvY3VtZW50SUQ+PHhtcE1NOkluc3RhbmNlSUQ+dXVp ZDpBNjA2QjNDNy03NzY3LUNDRTEtQTYzQi02RjI0ODc1RDMzRDA8L3htcE1NOkluc3RhbmNlSUQ+ PC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz4NCmVuZHN0cmVhbQ0KZW5kb2Jq DQp4cmVmDQowIDEyDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAw MDAwMDE2OSAwMDAwMCBuDQowMDAwMDAwMjkxIDAwMDAwIG4NCjAwMDAwMDAzNDMgMDAwMDAgbg0K MDAwMDAwMDYzNyAwMDAwMCBuDQowMDAwMDAzMDUxIDAwMDAwIG4NCjAwMDA5NzM4NjQgMDAwMDAg bg0KMDAwMDk3MzkwNyAwMDAwMCBuDQowMDAwOTczOTYxIDAwMDAwIG4NCjAwMDA5NzQwMjggMDAw MDAgbg0KMDAwMDk3NDExMCAwMDAwMCBuDQp0cmFpbGVyDQo8PA0KL1NpemUgMTINCi9Sb290IDEw IDAgUg0KL0luZm8gNCAwIFINCi9JRCBbPEI1ODBGRjc0M0Y2RTg1QjA1NjIwRUE3NURDQUE2NUFF PjxBMEU5RDFEQzRCRTk1MzcxMEVEMDJERDYzQUE2MTJERj5dDQo+Pg0Kc3RhcnR4cmVmDQo5NzU5 NTYNCiUlRU9GDQo= --b1_9d810f79c8795d9600b2ffce27d14fc8-- From david@fromorbit.com Sun Jun 15 17:33:49 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 892847F50 for ; Sun, 15 Jun 2014 17:33:49 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 62FC38F8087 for ; Sun, 15 Jun 2014 15:33:46 -0700 (PDT) X-ASG-Debug-ID: 1402871620-04cb6c78c5256330001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id Wc30Z1C6a2FrRSud for ; Sun, 15 Jun 2014 15:33:40 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AllIALIenlN5LC2vPGdsb2JhbABagw2IT6JCAQEBAwaZJAGBBBcEAQEBATg1hAMBAQQBJxMcIwULCAMOCgklDwUlAwcaExuIHwfORxcWhU2JEweDLYEWBJpCizGLeis Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 16 Jun 2014 08:03:25 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WwIzL-0006s7-Bc; Mon, 16 Jun 2014 08:33:23 +1000 Date: Mon, 16 Jun 2014 08:33:23 +1000 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140615223323.GB9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613162352.GB23394@infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402871620 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6679 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 13, 2014 at 09:23:52AM -0700, Christoph Hellwig wrote: > On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: > > On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: > > > There doesn't really seem anything XFS specific here, so instead > > > of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c > > > based on the workqueue and ->fsync. > > > > I really don't know whether the other ->fsync methods in other > > filesystems can stand alone like that. I also don't have the > > time to test that it works properly on all filesystems right now. > > Of course they can, as shown by various calls to vfs_fsync_range that > is nothing but a small wrapper around ->fsync. Sure, but that's not getting 10,000 concurrent callers, is it? And some fsync methods require journal credits, and others serialise completely, and so on. Besides, putting an *unbound, highly concurrent* aio queue into the kernel for an operation that can serialise the entire filesystem seems like a pretty nasty user-level DOS vector to me. > I'm pretty sure if you > Cc linux-fsdevel you'll find plenty of testers. -fsdevel and -man > should get a Cc anyway when implementing an ABI that had it's constants > defines but never was implemented properly. When the userspace ABIs are already fully documented and *just work*, I'm not sure that there's any need for an ABI or man page discussion... > Talking about documentation: The kernel aio manpages (io_*.2) seems > to not really be very useful, mostly because they don't explain how > to set up the iocbs. Michael, any idea how to get started to improve > this? $ man 3 io_prep_fsync or, perhaps you just need to use: $ man 3 io_fsync Which does all the prep and submission for you. Yup, I used those man pages to write the fs_mark modifications.... > > Also, doing this implementation in fs/aio.c would mean we can't > > optimise it to reduce things like log forces by splitting up the > > work of concurrent fsyncs into a single log force of the highest > > LSN of the batch of fsyncs being run. We also want to be able to do > > "background fsync" where latency doesn't matter and we only want to > > trickle them out rather than issue them as fast as we possibly can. > > It didn't really sound like you were aiming for that. But in that > case the current implementation is still useful as a > generic_file_aio_fsync as suggested by Brian. It's an RFC - I'm not proposing it as is, but merely posting it to see what people think about the approach and where to take it from the. This is not production ready code, nor is it something we should implement generically as it stands because of things like the DOS potential it has. > > So I really don't see this as the infrastructure solution that > > everyone uses. It could be made a generic method with the filesystem > > passing the workqueue to use to generic_aio_fsync(), but for XFS I > > see it turning into something much more complex and optimised... > > Why not have a common workqueue? In fact we already have a common > workqueue to call ->fsync from aio code to implement aio O_SYNC anyway. Maybe a generic solution will eventually, but this isn't an RFC for a generic solution to the aio_fsync() hook... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Jun 15 21:01:06 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BE93C7F3F for ; Sun, 15 Jun 2014 21:01:06 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 488E0AC083 for ; Sun, 15 Jun 2014 19:01:00 -0700 (PDT) X-ASG-Debug-ID: 1402884055-04cb6c78c525b2e0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id iB8nZYriwfOWZ4KI for ; Sun, 15 Jun 2014 19:00:55 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlZIAP5OnlN5LC2vPGdsb2JhbABagw2IT6JDAQEBAwaZJAGBBxcEAQEBATg1hAMBAQUnExwjEAgDDgoJJQ8FJQMHGhOIQc5VFxaFTYkTB4MtgRYEmkKLMYt6Kw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 16 Jun 2014 11:30:32 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WwMDm-0007Eg-LY; Mon, 16 Jun 2014 12:00:30 +1000 Date: Mon, 16 Jun 2014 12:00:30 +1000 From: Dave Chinner To: Christoph Hellwig Cc: linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, axboe@kernel.dk Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140616020030.GC9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140615223323.GB9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1402884055 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6683 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > On Fri, Jun 13, 2014 at 09:23:52AM -0700, Christoph Hellwig wrote: > > On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: > > > On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: > > > > There doesn't really seem anything XFS specific here, so instead > > > > of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c > > > > based on the workqueue and ->fsync. > > > > > > I really don't know whether the other ->fsync methods in other > > > filesystems can stand alone like that. I also don't have the > > > time to test that it works properly on all filesystems right now. > > > > Of course they can, as shown by various calls to vfs_fsync_range that > > is nothing but a small wrapper around ->fsync. > > Sure, but that's not getting 10,000 concurrent callers, is it? And > some fsync methods require journal credits, and others serialise > completely, and so on. > > Besides, putting an *unbound, highly concurrent* aio queue into the > kernel for an operation that can serialise the entire filesystem > seems like a pretty nasty user-level DOS vector to me. FWIW, the non-linear system CPU overhead of a fs_mark test I've been running isn't anything related to XFS. The async fsync workqueue results in several thousand worker threads dispatching IO concurrently across 16 CPUs: $ ps -ef |grep kworker |wc -l 4693 $ Profiles from 3.15 + xfs for-next + xfs aio_fsync show: - 51.33% [kernel] [k] percpu_ida_alloc - percpu_ida_alloc + 85.73% blk_mq_wait_for_tags + 14.23% blk_mq_get_tag - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore - _raw_spin_unlock_irqrestore - 66.26% virtio_queue_rq - __blk_mq_run_hw_queue - 99.65% blk_mq_run_hw_queue + 99.47% blk_mq_insert_requests + 0.53% blk_mq_insert_request ..... - 7.91% [kernel] [k] _raw_spin_unlock_irq - _raw_spin_unlock_irq - 69.59% __schedule - 86.49% schedule + 47.72% percpu_ida_alloc + 21.75% worker_thread + 19.12% schedule_timeout .... + 18.06% blk_mq_make_request Runtime: real 4m1.243s user 0m47.724s sys 11m56.724s Most of the excessive CPU usage is coming from the blk-mq layer, and XFS is barely showing up in the profiles at all - the IDA tag allocator is burning 8 CPUs at about 60,000 write IOPS.... I know that the tag allocator has been rewritten, so I tested against a current a current Linus kernel with the XFS aio-fsync patch. The results are all over the place - from several sequential runs of the same test (removing the files in between so each tests starts from an empty fs): Wall time sys time IOPS files/s 4m58.151s 11m12.648s 30,000 13,500 4m35.075s 12m45.900s 45,000 15,000 3m10.665s 11m15.804s 65,000 21,000 3m27.384s 11m54.723s 85,000 20,000 3m59.574s 11m12.012s 50,000 16,500 4m12.704s 12m15.720s 50,000 17,000 The 3.15 based kernel was pretty consistent around the 4m10 mark, generally only +/-10s in runtime and not much change in system time. The files/s rate reported by fs_mark doesn't vary that much, either. So the new tag allocator seems to be no better in terms of IO dispatch scalability, yet adds significant variability to IO performance. What I noticed is a massive jump in context switch overhead: from around 250,000/s to over 800,000/s and the CPU profiles show that this comes from the new tag allocator: - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore - _raw_spin_unlock_irqrestore - 58.22% prepare_to_wait 100.00% bt_get blk_mq_get_tag __blk_mq_alloc_request blk_mq_map_request blk_sq_make_request generic_make_request - 22.51% virtio_queue_rq __blk_mq_run_hw_queue .... - 21.56% [kernel] [k] _raw_spin_unlock_irq - _raw_spin_unlock_irq - 58.73% __schedule - 53.42% io_schedule 99.88% bt_get blk_mq_get_tag __blk_mq_alloc_request blk_mq_map_request blk_sq_make_request generic_make_request - 35.58% schedule + 49.31% worker_thread + 32.45% schedule_timeout + 10.35% _xfs_log_force_lsn + 3.10% xlog_cil_force_lsn .... The new block-mq tag allocator is hammering the waitqueues and that's generating a large amount of lock contention. It looks like the new allocator replaces CPU burn doing work in the IDA allocator with the same amount of CPU burn from extra context switch overhead.... Oh, OH. Now I understand! # echo 4 > /sys/block/vdc/queue/nr_requests 80.56% [kernel] [k] _raw_spin_unlock_irqrestore - _raw_spin_unlock_irqrestore - 98.49% prepare_to_wait bt_get blk_mq_get_tag __blk_mq_alloc_request blk_mq_map_request blk_sq_make_request generic_make_request + submit_bio + 1.07% finish_wait + 13.63% [kernel] [k] _raw_spin_unlock_irq ... It's context switch bound at 800,000 context switches/s, burning all 16 CPUs waking up and going to sleep and doing very little real work. How little real work? About 3000 IOPS for 2MB/s of IO. That amount of IO should only take a single digit CPU percentage of one CPU. This seems like bad behaviour to have on a congested block device, even a high performance one.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From axboe@kernel.dk Sun Jun 15 21:58:57 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 90A407F3F for ; Sun, 15 Jun 2014 21:58:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 157A2AC073 for ; Sun, 15 Jun 2014 19:58:56 -0700 (PDT) X-ASG-Debug-ID: 1402887531-04cbb00a02fee10001-NocioJ Received: from mail-pa0-f53.google.com (mail-pa0-f53.google.com [209.85.220.53]) by cuda.sgi.com with ESMTP id IIGFkhG1UIibTTIP (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 15 Jun 2014 19:58:51 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.53 Received: by mail-pa0-f53.google.com with SMTP id ey11so522541pad.12 for ; Sun, 15 Jun 2014 19:58:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=5o50nx+lok2pJDRwRnGiWO4iT+qsbGNpOpBLc8OqDo0=; b=j8jfp5+Mr8uD9GZk5O+JfXtwDMVaAGsF0KsxIldwk5MIo+DTlCWL8Zt2ajqDXNNXrw CdHTBoOzORXIgiEeiA4MSUlIzlwqc59zdv7+H5d26CtMDaCtdvPOz620o1uZbVkC70LB mzBuSlYrUejxlFFUlT8LuP25X4f7Lx0h88lQb/F45wDx7HVYJ556rPl2XkVS7lb+KLqn a985i2rlCdlztXWP924gxVcJBxbpqQS0vAcaCzjqtTvC9qeshQ2Tx/yiJgFxGQZEaadB MMhc4sHnFYYgqO9r0gRKZSyGMDNmZTjjkVJ3muBB6XvAnZz+BLRcoiqviu6jtjl1FbQ2 aWJA== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQni8rQ7z/1nLPQA9FYbNfuykkK0HjtWzR0tzqLNcjBFuCW3lImOWCPzpnLtSdey0rrTeWiV X-Received: by 10.66.176.196 with SMTP id ck4mr1164857pac.154.1402887530840; Sun, 15 Jun 2014 19:58:50 -0700 (PDT) Received: from [192.168.3.11] (66.29.187.52.static.utbb.net. [66.29.187.52]) by mx.google.com with ESMTPSA id ga1sm15711542pbb.82.2014.06.15.19.58.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 15 Jun 2014 19:58:49 -0700 (PDT) Message-ID: <539E5D66.8040605@kernel.dk> Date: Sun, 15 Jun 2014 20:58:46 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner , Christoph Hellwig CC: linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140616020030.GC9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-pa0-f53.google.com[209.85.220.53] X-Barracuda-Start-Time: 1402887531 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6684 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On 2014-06-15 20:00, Dave Chinner wrote: > On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: >> On Fri, Jun 13, 2014 at 09:23:52AM -0700, Christoph Hellwig wrote: >>> On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: >>>> On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: >>>>> There doesn't really seem anything XFS specific here, so instead >>>>> of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c >>>>> based on the workqueue and ->fsync. >>>> >>>> I really don't know whether the other ->fsync methods in other >>>> filesystems can stand alone like that. I also don't have the >>>> time to test that it works properly on all filesystems right now. >>> >>> Of course they can, as shown by various calls to vfs_fsync_range that >>> is nothing but a small wrapper around ->fsync. >> >> Sure, but that's not getting 10,000 concurrent callers, is it? And >> some fsync methods require journal credits, and others serialise >> completely, and so on. >> >> Besides, putting an *unbound, highly concurrent* aio queue into the >> kernel for an operation that can serialise the entire filesystem >> seems like a pretty nasty user-level DOS vector to me. > > FWIW, the non-linear system CPU overhead of a fs_mark test I've been > running isn't anything related to XFS. The async fsync workqueue > results in several thousand worker threads dispatching IO > concurrently across 16 CPUs: > > $ ps -ef |grep kworker |wc -l > 4693 > $ > > Profiles from 3.15 + xfs for-next + xfs aio_fsync show: > > - 51.33% [kernel] [k] percpu_ida_alloc > - percpu_ida_alloc > + 85.73% blk_mq_wait_for_tags > + 14.23% blk_mq_get_tag > - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore > - _raw_spin_unlock_irqrestore > - 66.26% virtio_queue_rq > - __blk_mq_run_hw_queue > - 99.65% blk_mq_run_hw_queue > + 99.47% blk_mq_insert_requests > + 0.53% blk_mq_insert_request > ..... > - 7.91% [kernel] [k] _raw_spin_unlock_irq > - _raw_spin_unlock_irq > - 69.59% __schedule > - 86.49% schedule > + 47.72% percpu_ida_alloc > + 21.75% worker_thread > + 19.12% schedule_timeout > .... > + 18.06% blk_mq_make_request > > Runtime: > > real 4m1.243s > user 0m47.724s > sys 11m56.724s > > Most of the excessive CPU usage is coming from the blk-mq layer, and > XFS is barely showing up in the profiles at all - the IDA tag > allocator is burning 8 CPUs at about 60,000 write IOPS.... > > I know that the tag allocator has been rewritten, so I tested > against a current a current Linus kernel with the XFS aio-fsync > patch. The results are all over the place - from several sequential > runs of the same test (removing the files in between so each tests > starts from an empty fs): > > Wall time sys time IOPS files/s > 4m58.151s 11m12.648s 30,000 13,500 > 4m35.075s 12m45.900s 45,000 15,000 > 3m10.665s 11m15.804s 65,000 21,000 > 3m27.384s 11m54.723s 85,000 20,000 > 3m59.574s 11m12.012s 50,000 16,500 > 4m12.704s 12m15.720s 50,000 17,000 > > The 3.15 based kernel was pretty consistent around the 4m10 mark, > generally only +/-10s in runtime and not much change in system time. > The files/s rate reported by fs_mark doesn't vary that much, either. > So the new tag allocator seems to be no better in terms of IO > dispatch scalability, yet adds significant variability to IO > performance. > > What I noticed is a massive jump in context switch overhead: from > around 250,000/s to over 800,000/s and the CPU profiles show that > this comes from the new tag allocator: > > - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore > - _raw_spin_unlock_irqrestore > - 58.22% prepare_to_wait > 100.00% bt_get > blk_mq_get_tag > __blk_mq_alloc_request > blk_mq_map_request > blk_sq_make_request > generic_make_request > - 22.51% virtio_queue_rq > __blk_mq_run_hw_queue > .... > - 21.56% [kernel] [k] _raw_spin_unlock_irq > - _raw_spin_unlock_irq > - 58.73% __schedule > - 53.42% io_schedule > 99.88% bt_get > blk_mq_get_tag > __blk_mq_alloc_request > blk_mq_map_request > blk_sq_make_request > generic_make_request > - 35.58% schedule > + 49.31% worker_thread > + 32.45% schedule_timeout > + 10.35% _xfs_log_force_lsn > + 3.10% xlog_cil_force_lsn > .... > > The new block-mq tag allocator is hammering the waitqueues and > that's generating a large amount of lock contention. It looks like > the new allocator replaces CPU burn doing work in the IDA allocator > with the same amount of CPU burn from extra context switch > overhead.... > > Oh, OH. Now I understand! > > # echo 4 > /sys/block/vdc/queue/nr_requests > > > > 80.56% [kernel] [k] _raw_spin_unlock_irqrestore > - _raw_spin_unlock_irqrestore > - 98.49% prepare_to_wait > bt_get > blk_mq_get_tag > __blk_mq_alloc_request > blk_mq_map_request > blk_sq_make_request > generic_make_request > + submit_bio > + 1.07% finish_wait > + 13.63% [kernel] [k] _raw_spin_unlock_irq > ... > > It's context switch bound at 800,000 context switches/s, burning all > 16 CPUs waking up and going to sleep and doing very little real > work. How little real work? About 3000 IOPS for 2MB/s of IO. That > amount of IO should only take a single digit CPU percentage of one > CPU. With thousands of threads? I think not. Sanely submitted 3000 IOPS, correct, I would agree with you. > This seems like bad behaviour to have on a congested block device, > even a high performance one.... That is pretty much the suck. How do I reproduce this (eg what are you running, and what are the xfs aio fsync patches)? Even if dispatching thousands of threads to do IO is a bad idea (it very much is), gracefully handling is a must. I haven't seen any bad behavior from the new allocator, it seems to be well behaved (for most normal cases, anyway). I'd like to take a stab at ensuring this works, too. If you tell me exactly what you are running, I'll reproduce and get this fixed up tomorrow. -- Jens Axboe From david@fromorbit.com Mon Jun 16 02:20:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6D87F7F3F for ; Mon, 16 Jun 2014 02:20:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4431E8F821E for ; Mon, 16 Jun 2014 00:20:11 -0700 (PDT) X-ASG-Debug-ID: 1402903206-04cbb00a01104ff0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id VLA2HBLX04lDM2pm for ; Mon, 16 Jun 2014 00:20:07 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AncRAP2ZnlN5LC2v/2dsb2JhbABagw1SjgKcPwEBAQMGmSQBgQ4XdYQDAQEEAScTHCMFCwgDGAklDwUlAyETiDoHDs5sFxaFTYcMggcHgy2BFgSaQosxiCiDUisv Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 16 Jun 2014 16:50:05 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WwRCp-0007rx-Ns; Mon, 16 Jun 2014 17:19:51 +1000 Date: Mon, 16 Jun 2014 17:19:51 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140616071951.GD9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <539E5D66.8040605@kernel.dk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402903206 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6688 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > On 2014-06-15 20:00, Dave Chinner wrote: > >On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > >>On Fri, Jun 13, 2014 at 09:23:52AM -0700, Christoph Hellwig wrote: > >>>On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: > >>>>On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: > >>>>>There doesn't really seem anything XFS specific here, so instead > >>>>>of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c > >>>>>based on the workqueue and ->fsync. > >>>> > >>>>I really don't know whether the other ->fsync methods in other > >>>>filesystems can stand alone like that. I also don't have the > >>>>time to test that it works properly on all filesystems right now. > >>> > >>>Of course they can, as shown by various calls to vfs_fsync_range that > >>>is nothing but a small wrapper around ->fsync. > >> > >>Sure, but that's not getting 10,000 concurrent callers, is it? And > >>some fsync methods require journal credits, and others serialise > >>completely, and so on. > >> > >>Besides, putting an *unbound, highly concurrent* aio queue into the > >>kernel for an operation that can serialise the entire filesystem > >>seems like a pretty nasty user-level DOS vector to me. > > > >FWIW, the non-linear system CPU overhead of a fs_mark test I've been > >running isn't anything related to XFS. The async fsync workqueue > >results in several thousand worker threads dispatching IO > >concurrently across 16 CPUs: > > > >$ ps -ef |grep kworker |wc -l > >4693 > >$ > > > >Profiles from 3.15 + xfs for-next + xfs aio_fsync show: > > > >- 51.33% [kernel] [k] percpu_ida_alloc > > - percpu_ida_alloc > > + 85.73% blk_mq_wait_for_tags > > + 14.23% blk_mq_get_tag > >- 14.25% [kernel] [k] _raw_spin_unlock_irqrestore > > - _raw_spin_unlock_irqrestore > > - 66.26% virtio_queue_rq > > - __blk_mq_run_hw_queue > > - 99.65% blk_mq_run_hw_queue > > + 99.47% blk_mq_insert_requests > > + 0.53% blk_mq_insert_request > >..... > >- 7.91% [kernel] [k] _raw_spin_unlock_irq > > - _raw_spin_unlock_irq > > - 69.59% __schedule > > - 86.49% schedule > > + 47.72% percpu_ida_alloc > > + 21.75% worker_thread > > + 19.12% schedule_timeout > >.... > > + 18.06% blk_mq_make_request > > > >Runtime: > > > >real 4m1.243s > >user 0m47.724s > >sys 11m56.724s > > > >Most of the excessive CPU usage is coming from the blk-mq layer, and > >XFS is barely showing up in the profiles at all - the IDA tag > >allocator is burning 8 CPUs at about 60,000 write IOPS.... > > > >I know that the tag allocator has been rewritten, so I tested > >against a current a current Linus kernel with the XFS aio-fsync > >patch. The results are all over the place - from several sequential > >runs of the same test (removing the files in between so each tests > >starts from an empty fs): > > > >Wall time sys time IOPS files/s > >4m58.151s 11m12.648s 30,000 13,500 > >4m35.075s 12m45.900s 45,000 15,000 > >3m10.665s 11m15.804s 65,000 21,000 > >3m27.384s 11m54.723s 85,000 20,000 > >3m59.574s 11m12.012s 50,000 16,500 > >4m12.704s 12m15.720s 50,000 17,000 > > > >The 3.15 based kernel was pretty consistent around the 4m10 mark, > >generally only +/-10s in runtime and not much change in system time. > >The files/s rate reported by fs_mark doesn't vary that much, either. > >So the new tag allocator seems to be no better in terms of IO > >dispatch scalability, yet adds significant variability to IO > >performance. > > > >What I noticed is a massive jump in context switch overhead: from > >around 250,000/s to over 800,000/s and the CPU profiles show that > >this comes from the new tag allocator: > > > >- 34.62% [kernel] [k] _raw_spin_unlock_irqrestore > > - _raw_spin_unlock_irqrestore > > - 58.22% prepare_to_wait > > 100.00% bt_get > > blk_mq_get_tag > > __blk_mq_alloc_request > > blk_mq_map_request > > blk_sq_make_request > > generic_make_request > > - 22.51% virtio_queue_rq > > __blk_mq_run_hw_queue > >.... > >- 21.56% [kernel] [k] _raw_spin_unlock_irq > > - _raw_spin_unlock_irq > > - 58.73% __schedule > > - 53.42% io_schedule > > 99.88% bt_get > > blk_mq_get_tag > > __blk_mq_alloc_request > > blk_mq_map_request > > blk_sq_make_request > > generic_make_request > > - 35.58% schedule > > + 49.31% worker_thread > > + 32.45% schedule_timeout > > + 10.35% _xfs_log_force_lsn > > + 3.10% xlog_cil_force_lsn > >.... > > > >The new block-mq tag allocator is hammering the waitqueues and > >that's generating a large amount of lock contention. It looks like > >the new allocator replaces CPU burn doing work in the IDA allocator > >with the same amount of CPU burn from extra context switch > >overhead.... > > > >Oh, OH. Now I understand! > > > ># echo 4 > /sys/block/vdc/queue/nr_requests > > > > > > > >80.56% [kernel] [k] _raw_spin_unlock_irqrestore > > - _raw_spin_unlock_irqrestore > > - 98.49% prepare_to_wait > > bt_get > > blk_mq_get_tag > > __blk_mq_alloc_request > > blk_mq_map_request > > blk_sq_make_request > > generic_make_request > > + submit_bio > > + 1.07% finish_wait > >+ 13.63% [kernel] [k] _raw_spin_unlock_irq > >... > > > >It's context switch bound at 800,000 context switches/s, burning all > >16 CPUs waking up and going to sleep and doing very little real > >work. How little real work? About 3000 IOPS for 2MB/s of IO. That > >amount of IO should only take a single digit CPU percentage of one > >CPU. > > With thousands of threads? I think not. Sanely submitted 3000 IOPS, > correct, I would agree with you. > > >This seems like bad behaviour to have on a congested block device, > >even a high performance one.... > > That is pretty much the suck. How do I reproduce this (eg what are > you running, and what are the xfs aio fsync patches)? Even if http://oss.sgi.com/pipermail/xfs/2014-June/036773.html > dispatching thousands of threads to do IO is a bad idea (it very > much is), gracefully handling is a must. I haven't seen any bad > behavior from the new allocator, it seems to be well behaved (for > most normal cases, anyway). I'd like to take a stab at ensuring this > works, too. > > If you tell me exactly what you are running, I'll reproduce and get > this fixed up tomorrow. Test case - take fs_mark: git://oss.sgi.com/dgc/fs_mark Apply the patch for aio fsync support: http://oss.sgi.com/pipermail/xfs/2014-June/036774.html Run this test: $ time ./fs_mark -D 10000 -S5 -n 50000 -s 4096 -L 5 -A \ -d /mnt/scratch/0 -d /mnt/scratch/1 -d /mnt/scratch/2 \ -d /mnt/scratch/3 -d /mnt/scratch/4 -d /mnt/scratch/5 \ -d /mnt/scratch/6 -d /mnt/scratch/7 -d /mnt/scratch/8 \ -d /mnt/scratch/9 -d /mnt/scratch/10 -d /mnt/scratch/11 \ -d /mnt/scratch/12 -d /mnt/scratch/13 -d /mnt/scratch/14 \ -d /mnt/scratch/15 Drop the "-A" if you want to use normal fsync (but then you won't see the problem). Use a XFS filesystem that has at least 32 AGs (I'm using a sparse 500TB fs image on a virtio device). I'm also using mkfs options of "-m crc=1,finobt=1", but to use that last one you'll need a mkfs built from the xfsprogs git tree. It shouldn't make any difference to the result, though. I'm running on a VM with 16 CPUs and 16GB RAM, using fakenuma=4. Cheers, Dave. -- Dave Chinner david@fromorbit.com From jack@suse.cz Mon Jun 16 04:00:10 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 06C3C7F3F for ; Mon, 16 Jun 2014 04:00:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 87E7FAC0B7 for ; Mon, 16 Jun 2014 02:00:06 -0700 (PDT) X-ASG-Debug-ID: 1402909203-04cbb00a03107dd0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id pcF9llfDt5tjdW1H (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 02:00:04 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 28710ACC2; Mon, 16 Jun 2014 09:00:03 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 4697081EC8; Mon, 16 Jun 2014 11:00:01 +0200 (CEST) Date: Mon, 16 Jun 2014 11:00:01 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , Brian Foster , dchinner@redhat.com, xfs@oss.sgi.com Subject: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() Message-ID: <20140616090001.GA15837@quack.suse.cz> X-ASG-Orig-Subj: Re: [PATCH v2] xfs: Fix rounding in xfs_alloc_fix_len() References: <1401900833-25485-1-git-send-email-jack@suse.cz> <20140604184440.GC55624@bfoster.bfoster> <20140613150207.GA24615@quack.suse.cz> <20140613235622.GA9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613235622.GA9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1402909204 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6690 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sat 14-06-14 09:56:22, Dave Chinner wrote: > On Fri, Jun 13, 2014 at 05:02:07PM +0200, Jan Kara wrote: > > On Wed 04-06-14 14:44:40, Brian Foster wrote: > > > On Wed, Jun 04, 2014 at 06:53:53PM +0200, Jan Kara wrote: > > > > Rounding in xfs_alloc_fix_len() is wrong. As the comment states, the > > > > result should be a number of a form (k*prod+mod) however due to sign > > > > mistake the result is different. As a result allocations on raid arrays > > > > could be misaligned in some cases. > > > > > > > > This also seems to fix occasional assertion failure: > > > > XFS_WANT_CORRUPTED_GOTO(rlen <= flen, error0) > > > > in xfs_alloc_ag_vextent_size(). > > > > > > > > Also add an assertion that the result of xfs_alloc_fix_len() is of > > > > expected form. > > > > > > > > Signed-off-by: Jan Kara > > > > --- > > > > > > Looks good to me. Thanks Jan. > > > > > > Reviewed-by: Brian Foster > > Ping Dave? Are you going to pick up this patch? > > I did - it's already in Linus' tree for 3.16: > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/fs/xfs/xfs_alloc.c?id=30265117ee1e23fa91920f337a3ea91207f700dc Ah, sorry. I was expecting some email about acceptance. I'll check the git tree next time. Honza -- Jan Kara SUSE Labs, CR From BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org Mon Jun 16 04:34:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id B2C607F3F for ; Mon, 16 Jun 2014 04:34:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 80EDB304279 for ; Mon, 16 Jun 2014 02:34:42 -0700 (PDT) X-ASG-Debug-ID: 1402911281-04bdf0566927f3f0001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id iWGB5rzwJAZSua4J (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 02:34:41 -0700 (PDT) X-Barracuda-Envelope-From: BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwTJI-0007DI-OF; Mon, 16 Jun 2014 09:34:40 +0000 Date: Mon, 16 Jun 2014 02:34:40 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss , fstests@vger.kernel.org Subject: Re: [PATCH] xfs/279: use MKFS_XFS_PROG, not hardcoded path Message-ID: <20140616093440.GA26172@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfs/279: use MKFS_XFS_PROG, not hardcoded path References: <539B68D2.2000300@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <539B68D2.2000300@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1402911281 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6690 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Fri, Jun 13, 2014 at 04:10:42PM -0500, Eric Sandeen wrote: > I'm really not sure why this wasn't this way from the start. > On some systems it's in /usr/sbin, and the test fails. > > Signed-off-by: Eric Sandeen Looks good, Reviewed-by: Christoph Hellwig From BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org Mon Jun 16 04:39:54 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id F3B837F3F for ; Mon, 16 Jun 2014 04:39:53 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8DE33AC0BA for ; Mon, 16 Jun 2014 02:39:53 -0700 (PDT) X-ASG-Debug-ID: 1402911592-04bdf0566627f6e0001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id EUyh2dwiSYGEWAUZ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 02:39:52 -0700 (PDT) X-Barracuda-Envelope-From: BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwTOK-0001OT-92; Mon, 16 Jun 2014 09:39:52 +0000 Date: Mon, 16 Jun 2014 02:39:52 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: xfs-oss , Karel Zak Subject: Re: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage Message-ID: <20140616093952.GB26172@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 1/2] xfsprogs: add mount options to xfs.5 manpage References: <5398B5ED.6030703@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5398B5ED.6030703@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1402911592 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6690 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Wed, Jun 11, 2014 at 03:02:53PM -0500, Eric Sandeen wrote: > This is a straight cut and paste from the util-linux > mount manpage to xfs.5. > > It's pretty much impossible for util-linux to keep up > with every filesystem out there, and Karel has more than > once expressed a wish that mount options move into fs-specific > manpages. > > So, here we go. Looks reasonable, but it seems there it seems to lack documentation for the biosize option. Also it would be good to mention which options could be changed using remount, as our limited set for that seems to confuse users a lot. Is it worth mentioning the various deprecated options thast the kernel just warns about now? From BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org Mon Jun 16 04:40:24 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 0DE377F3F for ; Mon, 16 Jun 2014 04:40:24 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8DBCFAC0B7 for ; Mon, 16 Jun 2014 02:40:23 -0700 (PDT) X-ASG-Debug-ID: 1402911622-04cbb00a01109370001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id S5GntvkssNZwWPvH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 02:40:22 -0700 (PDT) X-Barracuda-Envelope-From: BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwTOm-0002W5-Ul; Mon, 16 Jun 2014 09:40:20 +0000 Date: Mon, 16 Jun 2014 02:40:20 -0700 From: Christoph Hellwig To: Eric Sandeen Cc: Eric Sandeen , xfs-oss , Karel Zak Subject: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage Message-ID: <20140616094020.GC26172@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage References: <5398B5ED.6030703@redhat.com> <5398B649.6020600@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5398B649.6020600@sandeen.net> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1402911622 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6690 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Wed, Jun 11, 2014 at 03:04:25PM -0500, Eric Sandeen wrote: > Not every pair of mount options indicated which was the > default, so add those. Looks good, but why have this separate from the previous patch? From sandeen@sandeen.net Mon Jun 16 09:29:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id EFEB97F3F for ; Mon, 16 Jun 2014 09:29:27 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 850DAAC00F for ; Mon, 16 Jun 2014 07:29:24 -0700 (PDT) X-ASG-Debug-ID: 1402928959-04cbb00a041154a0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id a6qw6gHpFtBtXTSZ for ; Mon, 16 Jun 2014 07:29:19 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 7A91663C5FF2; Mon, 16 Jun 2014 09:29:19 -0500 (CDT) Message-ID: <539EFF41.2070302@sandeen.net> Date: Mon, 16 Jun 2014 09:29:21 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Christoph Hellwig CC: Eric Sandeen , xfs-oss , Karel Zak Subject: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage References: <5398B5ED.6030703@redhat.com> <5398B649.6020600@sandeen.net> <20140616094020.GC26172@infradead.org> X-ASG-Orig-Subj: Re: [PATCH 2/2] xfsprogs: indicate default mount options in xfs.5 manpage In-Reply-To: <20140616094020.GC26172@infradead.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402928959 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/16/14, 4:40 AM, Christoph Hellwig wrote: > On Wed, Jun 11, 2014 at 03:04:25PM -0500, Eric Sandeen wrote: >> Not every pair of mount options indicated which was the >> default, so add those. > > Looks good, but why have this separate from the previous patch? > just to keep the move separate from any "functional" changes. -Eric From BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org Mon Jun 16 09:47:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 7AF4E7F3F for ; Mon, 16 Jun 2014 09:47:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1435A30404E for ; Mon, 16 Jun 2014 07:47:21 -0700 (PDT) X-ASG-Debug-ID: 1402930037-04bdf0566928c2d0001-NocioJ Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) by cuda.sgi.com with ESMTP id eR5LU6B41QpPvw8P (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 07:47:17 -0700 (PDT) X-Barracuda-Envelope-From: BATV+85f9ddd8769b84121843+3949+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwYBp-000769-Nz for xfs@oss.sgi.com; Mon, 16 Jun 2014 14:47:17 +0000 Date: Mon, 16 Jun 2014 07:47:17 -0700 From: Christoph Hellwig To: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: require 64-bit sector_t Message-ID: <20140616144717.GA27182@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] xfs: require 64-bit sector_t References: <20131114164603.GA13628@infradead.org> <20131210162005.GA32644@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20131210162005.GA32644@infradead.org> User-Agent: Mutt/1.5.23 (2014-03-12) 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[198.137.202.9] X-Barracuda-Start-Time: 1402930037 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_RULE_7580F X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6695 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.75 BSF_RULE_7580F Custom Rule 7580F ping^2 On Tue, Dec 10, 2013 at 08:20:05AM -0800, Christoph Hellwig wrote: > ping? > > On Thu, Nov 14, 2013 at 08:46:03AM -0800, Christoph Hellwig wrote: > > Trying to support tiny disks only and saving a bit memory might have > > made sense on an SGI O2 15 years ago, but is pretty pointless today. > > > > Remove the rarely tested codepath that uses various smaller in-memory > > types to reduce our test matrix and make the codebase a little bit > > smaller and less complicated. > > > > > > Signed-off-by: Christoph Hellwig > > > > diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig > > index 399e8ce..5d47b4d 100644 > > --- a/fs/xfs/Kconfig > > +++ b/fs/xfs/Kconfig > > @@ -1,6 +1,7 @@ > > config XFS_FS > > tristate "XFS filesystem support" > > depends on BLOCK > > + depends on (64BIT || LBDAF) > > select EXPORTFS > > select LIBCRC32C > > help > > diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c > > index 1c02da8..b0eccfc 100644 > > --- a/fs/xfs/xfs_bmap.c > > +++ b/fs/xfs/xfs_bmap.c > > @@ -393,7 +393,7 @@ xfs_bmap_check_leaf_extents( > > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > > bno = be64_to_cpu(*pp); > > > > - ASSERT(bno != NULLDFSBNO); > > + ASSERT(bno != NULLFSBLOCK); > > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > > > > @@ -1295,7 +1295,7 @@ xfs_bmap_read_extents( > > ASSERT(level > 0); > > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > > bno = be64_to_cpu(*pp); > > - ASSERT(bno != NULLDFSBNO); > > + ASSERT(bno != NULLFSBLOCK); > > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > > /* > > @@ -1425,11 +1425,7 @@ xfs_bmap_search_multi_extents( > > gotp->br_startoff = 0xffa5a5a5a5a5a5a5LL; > > gotp->br_blockcount = 0xa55a5a5a5a5a5a5aLL; > > gotp->br_state = XFS_EXT_INVALID; > > -#if XFS_BIG_BLKNOS > > gotp->br_startblock = 0xffffa5a5a5a5a5a5LL; > > -#else > > - gotp->br_startblock = 0xffffa5a5; > > -#endif > > prevp->br_startoff = NULLFILEOFF; > > > > ep = xfs_iext_bno_to_ext(ifp, bno, &lastx); > > diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c > > index 706bc3f..9c05b00 100644 > > --- a/fs/xfs/xfs_bmap_btree.c > > +++ b/fs/xfs/xfs_bmap_btree.c > > @@ -111,23 +111,8 @@ __xfs_bmbt_get_all( > > ext_flag = (int)(l0 >> (64 - BMBT_EXNTFLAG_BITLEN)); > > s->br_startoff = ((xfs_fileoff_t)l0 & > > xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; > > -#if XFS_BIG_BLKNOS > > s->br_startblock = (((xfs_fsblock_t)l0 & xfs_mask64lo(9)) << 43) | > > (((xfs_fsblock_t)l1) >> 21); > > -#else > > -#ifdef DEBUG > > - { > > - xfs_dfsbno_t b; > > - > > - b = (((xfs_dfsbno_t)l0 & xfs_mask64lo(9)) << 43) | > > - (((xfs_dfsbno_t)l1) >> 21); > > - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); > > - s->br_startblock = (xfs_fsblock_t)b; > > - } > > -#else /* !DEBUG */ > > - s->br_startblock = (xfs_fsblock_t)(((xfs_dfsbno_t)l1) >> 21); > > -#endif /* DEBUG */ > > -#endif /* XFS_BIG_BLKNOS */ > > s->br_blockcount = (xfs_filblks_t)(l1 & xfs_mask64lo(21)); > > /* This is xfs_extent_state() in-line */ > > if (ext_flag) { > > @@ -163,21 +148,8 @@ xfs_fsblock_t > > xfs_bmbt_get_startblock( > > xfs_bmbt_rec_host_t *r) > > { > > -#if XFS_BIG_BLKNOS > > return (((xfs_fsblock_t)r->l0 & xfs_mask64lo(9)) << 43) | > > (((xfs_fsblock_t)r->l1) >> 21); > > -#else > > -#ifdef DEBUG > > - xfs_dfsbno_t b; > > - > > - b = (((xfs_dfsbno_t)r->l0 & xfs_mask64lo(9)) << 43) | > > - (((xfs_dfsbno_t)r->l1) >> 21); > > - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); > > - return (xfs_fsblock_t)b; > > -#else /* !DEBUG */ > > - return (xfs_fsblock_t)(((xfs_dfsbno_t)r->l1) >> 21); > > -#endif /* DEBUG */ > > -#endif /* XFS_BIG_BLKNOS */ > > } > > > > /* > > @@ -241,7 +213,6 @@ xfs_bmbt_set_allf( > > ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); > > ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); > > > > -#if XFS_BIG_BLKNOS > > ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); > > > > r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > > @@ -250,23 +221,6 @@ xfs_bmbt_set_allf( > > r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | > > ((xfs_bmbt_rec_base_t)blockcount & > > (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > > -#else /* !XFS_BIG_BLKNOS */ > > - if (isnullstartblock(startblock)) { > > - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > > - ((xfs_bmbt_rec_base_t)startoff << 9) | > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(9); > > - r->l1 = xfs_mask64hi(11) | > > - ((xfs_bmbt_rec_base_t)startblock << 21) | > > - ((xfs_bmbt_rec_base_t)blockcount & > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > > - } else { > > - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | > > - ((xfs_bmbt_rec_base_t)startoff << 9); > > - r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | > > - ((xfs_bmbt_rec_base_t)blockcount & > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > > - } > > -#endif /* XFS_BIG_BLKNOS */ > > } > > > > /* > > @@ -298,8 +252,6 @@ xfs_bmbt_disk_set_allf( > > ASSERT(state == XFS_EXT_NORM || state == XFS_EXT_UNWRITTEN); > > ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); > > ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); > > - > > -#if XFS_BIG_BLKNOS > > ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); > > > > r->l0 = cpu_to_be64( > > @@ -310,26 +262,6 @@ xfs_bmbt_disk_set_allf( > > ((xfs_bmbt_rec_base_t)startblock << 21) | > > ((xfs_bmbt_rec_base_t)blockcount & > > (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > > -#else /* !XFS_BIG_BLKNOS */ > > - if (isnullstartblock(startblock)) { > > - r->l0 = cpu_to_be64( > > - ((xfs_bmbt_rec_base_t)extent_flag << 63) | > > - ((xfs_bmbt_rec_base_t)startoff << 9) | > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(9)); > > - r->l1 = cpu_to_be64(xfs_mask64hi(11) | > > - ((xfs_bmbt_rec_base_t)startblock << 21) | > > - ((xfs_bmbt_rec_base_t)blockcount & > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > > - } else { > > - r->l0 = cpu_to_be64( > > - ((xfs_bmbt_rec_base_t)extent_flag << 63) | > > - ((xfs_bmbt_rec_base_t)startoff << 9)); > > - r->l1 = cpu_to_be64( > > - ((xfs_bmbt_rec_base_t)startblock << 21) | > > - ((xfs_bmbt_rec_base_t)blockcount & > > - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); > > - } > > -#endif /* XFS_BIG_BLKNOS */ > > } > > > > /* > > @@ -365,24 +297,11 @@ xfs_bmbt_set_startblock( > > xfs_bmbt_rec_host_t *r, > > xfs_fsblock_t v) > > { > > -#if XFS_BIG_BLKNOS > > ASSERT((v & xfs_mask64hi(12)) == 0); > > r->l0 = (r->l0 & (xfs_bmbt_rec_base_t)xfs_mask64hi(55)) | > > (xfs_bmbt_rec_base_t)(v >> 43); > > r->l1 = (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)) | > > (xfs_bmbt_rec_base_t)(v << 21); > > -#else /* !XFS_BIG_BLKNOS */ > > - if (isnullstartblock(v)) { > > - r->l0 |= (xfs_bmbt_rec_base_t)xfs_mask64lo(9); > > - r->l1 = (xfs_bmbt_rec_base_t)xfs_mask64hi(11) | > > - ((xfs_bmbt_rec_base_t)v << 21) | > > - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > > - } else { > > - r->l0 &= ~(xfs_bmbt_rec_base_t)xfs_mask64lo(9); > > - r->l1 = ((xfs_bmbt_rec_base_t)v << 21) | > > - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); > > - } > > -#endif /* XFS_BIG_BLKNOS */ > > } > > > > /* > > @@ -438,8 +357,8 @@ xfs_bmbt_to_bmdr( > > cpu_to_be64(XFS_BUF_DADDR_NULL)); > > } else > > ASSERT(rblock->bb_magic == cpu_to_be32(XFS_BMAP_MAGIC)); > > - ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)); > > - ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)); > > + ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)); > > + ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)); > > ASSERT(rblock->bb_level != 0); > > dblock->bb_level = rblock->bb_level; > > dblock->bb_numrecs = rblock->bb_numrecs; > > @@ -765,11 +684,11 @@ xfs_bmbt_verify( > > > > /* sibling pointer verification */ > > if (!block->bb_u.l.bb_leftsib || > > - (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLDFSBNO) && > > + (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLFSBLOCK) && > > !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_leftsib)))) > > return false; > > if (!block->bb_u.l.bb_rightsib || > > - (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLDFSBNO) && > > + (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLFSBLOCK) && > > !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_rightsib)))) > > return false; > > > > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > > index 5887e41..699776e 100644 > > --- a/fs/xfs/xfs_bmap_util.c > > +++ b/fs/xfs/xfs_bmap_util.c > > @@ -467,7 +467,7 @@ xfs_bmap_count_blocks( > > ASSERT(level > 0); > > pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); > > bno = be64_to_cpu(*pp); > > - ASSERT(bno != NULLDFSBNO); > > + ASSERT(bno != NULLFSBLOCK); > > ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); > > ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); > > > > diff --git a/fs/xfs/xfs_btree.c b/fs/xfs/xfs_btree.c > > index 9adaae4..6f217a5 100644 > > --- a/fs/xfs/xfs_btree.c > > +++ b/fs/xfs/xfs_btree.c > > @@ -76,11 +76,11 @@ xfs_btree_check_lblock( > > be16_to_cpu(block->bb_numrecs) <= > > cur->bc_ops->get_maxrecs(cur, level) && > > block->bb_u.l.bb_leftsib && > > - (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO) || > > + (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK) || > > XFS_FSB_SANITY_CHECK(mp, > > be64_to_cpu(block->bb_u.l.bb_leftsib))) && > > block->bb_u.l.bb_rightsib && > > - (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO) || > > + (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK) || > > XFS_FSB_SANITY_CHECK(mp, > > be64_to_cpu(block->bb_u.l.bb_rightsib))); > > > > @@ -165,12 +165,12 @@ xfs_btree_check_block( > > int /* error (0 or EFSCORRUPTED) */ > > xfs_btree_check_lptr( > > struct xfs_btree_cur *cur, /* btree cursor */ > > - xfs_dfsbno_t bno, /* btree block disk address */ > > + xfs_fsblock_t bno, /* btree block disk address */ > > int level) /* btree block level */ > > { > > XFS_WANT_CORRUPTED_RETURN( > > level > 0 && > > - bno != NULLDFSBNO && > > + bno != NULLFSBLOCK && > > XFS_FSB_SANITY_CHECK(cur->bc_mp, bno)); > > return 0; > > } > > @@ -601,7 +601,7 @@ xfs_btree_islastblock( > > block = xfs_btree_get_block(cur, level, &bp); > > xfs_btree_check_block(cur, block, level, bp); > > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > > - return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO); > > + return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK); > > else > > return block->bb_u.s.bb_rightsib == cpu_to_be32(NULLAGBLOCK); > > } > > @@ -778,16 +778,16 @@ xfs_btree_readahead_lblock( > > struct xfs_btree_block *block) > > { > > int rval = 0; > > - xfs_dfsbno_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); > > - xfs_dfsbno_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); > > + xfs_fsblock_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); > > + xfs_fsblock_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); > > > > - if ((lr & XFS_BTCUR_LEFTRA) && left != NULLDFSBNO) { > > + if ((lr & XFS_BTCUR_LEFTRA) && left != NULLFSBLOCK) { > > xfs_btree_reada_bufl(cur->bc_mp, left, 1, > > cur->bc_ops->buf_ops); > > rval++; > > } > > > > - if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLDFSBNO) { > > + if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLFSBLOCK) { > > xfs_btree_reada_bufl(cur->bc_mp, right, 1, > > cur->bc_ops->buf_ops); > > rval++; > > @@ -859,7 +859,7 @@ xfs_btree_ptr_to_daddr( > > union xfs_btree_ptr *ptr) > > { > > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { > > - ASSERT(ptr->l != cpu_to_be64(NULLDFSBNO)); > > + ASSERT(ptr->l != cpu_to_be64(NULLFSBLOCK)); > > > > return XFS_FSB_TO_DADDR(cur->bc_mp, be64_to_cpu(ptr->l)); > > } else { > > @@ -907,9 +907,9 @@ xfs_btree_setbuf( > > > > b = XFS_BUF_TO_BLOCK(bp); > > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { > > - if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)) > > + if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)) > > cur->bc_ra[lev] |= XFS_BTCUR_LEFTRA; > > - if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)) > > + if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)) > > cur->bc_ra[lev] |= XFS_BTCUR_RIGHTRA; > > } else { > > if (b->bb_u.s.bb_leftsib == cpu_to_be32(NULLAGBLOCK)) > > @@ -925,7 +925,7 @@ xfs_btree_ptr_is_null( > > union xfs_btree_ptr *ptr) > > { > > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > > - return ptr->l == cpu_to_be64(NULLDFSBNO); > > + return ptr->l == cpu_to_be64(NULLFSBLOCK); > > else > > return ptr->s == cpu_to_be32(NULLAGBLOCK); > > } > > @@ -936,7 +936,7 @@ xfs_btree_set_ptr_null( > > union xfs_btree_ptr *ptr) > > { > > if (cur->bc_flags & XFS_BTREE_LONG_PTRS) > > - ptr->l = cpu_to_be64(NULLDFSBNO); > > + ptr->l = cpu_to_be64(NULLFSBLOCK); > > else > > ptr->s = cpu_to_be32(NULLAGBLOCK); > > } > > @@ -1004,8 +1004,8 @@ xfs_btree_init_block_int( > > buf->bb_numrecs = cpu_to_be16(numrecs); > > > > if (flags & XFS_BTREE_LONG_PTRS) { > > - buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLDFSBNO); > > - buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLDFSBNO); > > + buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLFSBLOCK); > > + buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLFSBLOCK); > > if (flags & XFS_BTREE_CRC_BLOCKS) { > > buf->bb_u.l.bb_blkno = cpu_to_be64(blkno); > > buf->bb_u.l.bb_owner = cpu_to_be64(owner); > > diff --git a/fs/xfs/xfs_btree.h b/fs/xfs/xfs_btree.h > > index 91e34f2..a5f0ee7 100644 > > --- a/fs/xfs/xfs_btree.h > > +++ b/fs/xfs/xfs_btree.h > > @@ -255,7 +255,7 @@ xfs_btree_check_block( > > int /* error (0 or EFSCORRUPTED) */ > > xfs_btree_check_lptr( > > struct xfs_btree_cur *cur, /* btree cursor */ > > - xfs_dfsbno_t ptr, /* btree block disk address */ > > + xfs_fsblock_t ptr, /* btree block disk address */ > > int level); /* btree block level */ > > > > /* > > diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c > > index 796272a..6ea2c63 100644 > > --- a/fs/xfs/xfs_da_btree.c > > +++ b/fs/xfs/xfs_da_btree.c > > @@ -2002,7 +2002,7 @@ xfs_da_grow_inode_int( > > struct xfs_trans *tp = args->trans; > > struct xfs_inode *dp = args->dp; > > int w = args->whichfork; > > - xfs_drfsbno_t nblks = dp->i_d.di_nblocks; > > + xfs_rfsblock_t nblks = dp->i_d.di_nblocks; > > struct xfs_bmbt_irec map, *mapp; > > int nmap, error, got, i, mapi; > > > > diff --git a/fs/xfs/xfs_dir2_sf.c b/fs/xfs/xfs_dir2_sf.c > > index aafc6e4..411407d 100644 > > --- a/fs/xfs/xfs_dir2_sf.c > > +++ b/fs/xfs/xfs_dir2_sf.c > > @@ -51,10 +51,9 @@ static void xfs_dir2_sf_check(xfs_da_args_t *args); > > #else > > #define xfs_dir2_sf_check(args) > > #endif /* DEBUG */ > > -#if XFS_BIG_INUMS > > + > > static void xfs_dir2_sf_toino4(xfs_da_args_t *args); > > static void xfs_dir2_sf_toino8(xfs_da_args_t *args); > > -#endif /* XFS_BIG_INUMS */ > > > > /* > > * Given a block directory (dp/block), calculate its size as a shortform (sf) > > @@ -115,10 +114,10 @@ xfs_dir2_block_sfsize( > > isdotdot = > > dep->namelen == 2 && > > dep->name[0] == '.' && dep->name[1] == '.'; > > -#if XFS_BIG_INUMS > > + > > if (!isdot) > > i8count += be64_to_cpu(dep->inumber) > XFS_DIR2_MAX_SHORT_INUM; > > -#endif > > + > > /* take into account the file type field */ > > if (!isdot && !isdotdot) { > > count++; > > @@ -309,7 +308,7 @@ xfs_dir2_sf_addname( > > add_entsize = dp->d_ops->sf_entsize(sfp, args->namelen); > > incr_isize = add_entsize; > > objchange = 0; > > -#if XFS_BIG_INUMS > > + > > /* > > * Do we have to change to 8 byte inodes? > > */ > > @@ -326,7 +325,7 @@ xfs_dir2_sf_addname( > > (uint)sizeof(xfs_dir2_ino4_t)); > > objchange = 1; > > } > > -#endif > > + > > old_isize = (int)dp->i_d.di_size; > > new_isize = old_isize + incr_isize; > > /* > > @@ -365,10 +364,8 @@ xfs_dir2_sf_addname( > > */ > > else { > > ASSERT(pick == 2); > > -#if XFS_BIG_INUMS > > if (objchange) > > xfs_dir2_sf_toino8(args); > > -#endif > > xfs_dir2_sf_addname_hard(args, objchange, new_isize); > > } > > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > > @@ -420,10 +417,8 @@ xfs_dir2_sf_addname_easy( > > * Update the header and inode. > > */ > > sfp->count++; > > -#if XFS_BIG_INUMS > > if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) > > sfp->i8count++; > > -#endif > > dp->i_d.di_size = new_isize; > > xfs_dir2_sf_check(args); > > } > > @@ -511,10 +506,8 @@ xfs_dir2_sf_addname_hard( > > dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); > > dp->d_ops->sf_put_ftype(sfep, args->filetype); > > sfp->count++; > > -#if XFS_BIG_INUMS > > if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) > > sfp->i8count++; > > -#endif > > /* > > * If there's more left to copy, do that. > > */ > > @@ -588,13 +581,8 @@ xfs_dir2_sf_addname_pick( > > /* > > * If changing the inode number size, do it the hard way. > > */ > > -#if XFS_BIG_INUMS > > - if (objchange) { > > + if (objchange) > > return 2; > > - } > > -#else > > - ASSERT(objchange == 0); > > -#endif > > /* > > * If it won't fit at the end then do it the hard way (use the hole). > > */ > > @@ -645,7 +633,6 @@ xfs_dir2_sf_check( > > ASSERT(dp->d_ops->sf_get_ftype(sfep) < XFS_DIR3_FT_MAX); > > } > > ASSERT(i8count == sfp->i8count); > > - ASSERT(XFS_BIG_INUMS || i8count == 0); > > ASSERT((char *)sfep - (char *)sfp == dp->i_d.di_size); > > ASSERT(offset + > > (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + > > @@ -865,7 +852,6 @@ xfs_dir2_sf_removename( > > */ > > xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); > > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > > -#if XFS_BIG_INUMS > > /* > > * Are we changing inode number size? > > */ > > @@ -875,7 +861,6 @@ xfs_dir2_sf_removename( > > else > > sfp->i8count--; > > } > > -#endif > > xfs_dir2_sf_check(args); > > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > > return 0; > > @@ -890,12 +875,8 @@ xfs_dir2_sf_replace( > > { > > xfs_inode_t *dp; /* incore directory inode */ > > int i; /* entry index */ > > -#if XFS_BIG_INUMS || defined(DEBUG) > > xfs_ino_t ino=0; /* entry old inode number */ > > -#endif > > -#if XFS_BIG_INUMS > > int i8elevated; /* sf_toino8 set i8count=1 */ > > -#endif > > xfs_dir2_sf_entry_t *sfep; /* shortform directory entry */ > > xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ > > > > @@ -915,7 +896,7 @@ xfs_dir2_sf_replace( > > ASSERT(dp->i_df.if_u1.if_data != NULL); > > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > > ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); > > -#if XFS_BIG_INUMS > > + > > /* > > * New inode number is large, and need to convert to 8-byte inodes. > > */ > > @@ -946,17 +927,15 @@ xfs_dir2_sf_replace( > > sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; > > } else > > i8elevated = 0; > > -#endif > > + > > ASSERT(args->namelen != 1 || args->name[0] != '.'); > > /* > > * Replace ..'s entry. > > */ > > if (args->namelen == 2 && > > args->name[0] == '.' && args->name[1] == '.') { > > -#if XFS_BIG_INUMS || defined(DEBUG) > > ino = dp->d_ops->sf_get_parent_ino(sfp); > > ASSERT(args->inumber != ino); > > -#endif > > dp->d_ops->sf_put_parent_ino(sfp, args->inumber); > > } > > /* > > @@ -967,10 +946,8 @@ xfs_dir2_sf_replace( > > i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { > > if (xfs_da_compname(args, sfep->name, sfep->namelen) == > > XFS_CMP_EXACT) { > > -#if XFS_BIG_INUMS || defined(DEBUG) > > ino = dp->d_ops->sf_get_ino(sfp, sfep); > > ASSERT(args->inumber != ino); > > -#endif > > dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); > > dp->d_ops->sf_put_ftype(sfep, args->filetype); > > break; > > @@ -981,14 +958,11 @@ xfs_dir2_sf_replace( > > */ > > if (i == sfp->count) { > > ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); > > -#if XFS_BIG_INUMS > > if (i8elevated) > > xfs_dir2_sf_toino4(args); > > -#endif > > return XFS_ERROR(ENOENT); > > } > > } > > -#if XFS_BIG_INUMS > > /* > > * See if the old number was large, the new number is small. > > */ > > @@ -1015,13 +989,11 @@ xfs_dir2_sf_replace( > > if (!i8elevated) > > sfp->i8count++; > > } > > -#endif > > xfs_dir2_sf_check(args); > > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); > > return 0; > > } > > > > -#if XFS_BIG_INUMS > > /* > > * Convert from 8-byte inode numbers to 4-byte inode numbers. > > * The last 8-byte inode number is gone, but the count is still 1. > > @@ -1176,4 +1148,3 @@ xfs_dir2_sf_toino8( > > dp->i_d.di_size = newsize; > > xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); > > } > > -#endif /* XFS_BIG_INUMS */ > > diff --git a/fs/xfs/xfs_format.h b/fs/xfs/xfs_format.h > > index b6ab5a3..e6b8f7d 100644 > > --- a/fs/xfs/xfs_format.h > > +++ b/fs/xfs/xfs_format.h > > @@ -68,11 +68,7 @@ struct xfs_ifork; > > #define XFS_RTLOBIT(w) xfs_lowbit32(w) > > #define XFS_RTHIBIT(w) xfs_highbit32(w) > > > > -#if XFS_BIG_BLKNOS > > #define XFS_RTBLOCKLOG(b) xfs_highbit64(b) > > -#else > > -#define XFS_RTBLOCKLOG(b) xfs_highbit32(b) > > -#endif > > > > /* > > * Dquot and dquot block format definitions > > @@ -290,23 +286,15 @@ typedef struct xfs_bmbt_rec_host { > > * Values and macros for delayed-allocation startblock fields. > > */ > > #define STARTBLOCKVALBITS 17 > > -#define STARTBLOCKMASKBITS (15 + XFS_BIG_BLKNOS * 20) > > -#define DSTARTBLOCKMASKBITS (15 + 20) > > +#define STARTBLOCKMASKBITS (15 + 20) > > #define STARTBLOCKMASK \ > > (((((xfs_fsblock_t)1) << STARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) > > -#define DSTARTBLOCKMASK \ > > - (((((xfs_dfsbno_t)1) << DSTARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) > > > > static inline int isnullstartblock(xfs_fsblock_t x) > > { > > return ((x) & STARTBLOCKMASK) == STARTBLOCKMASK; > > } > > > > -static inline int isnulldstartblock(xfs_dfsbno_t x) > > -{ > > - return ((x) & DSTARTBLOCKMASK) == DSTARTBLOCKMASK; > > -} > > - > > static inline xfs_fsblock_t nullstartblock(int k) > > { > > ASSERT(k < (1 << STARTBLOCKVALBITS)); > > diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h > > index c5fc116..7e907f2 100644 > > --- a/fs/xfs/xfs_fs.h > > +++ b/fs/xfs/xfs_fs.h > > @@ -254,8 +254,8 @@ typedef struct xfs_fsop_resblks { > > ((2 * 1024 * 1024 * 1024ULL) - XFS_MIN_LOG_BYTES) > > > > /* Used for sanity checks on superblock */ > > -#define XFS_MAX_DBLOCKS(s) ((xfs_drfsbno_t)(s)->sb_agcount * (s)->sb_agblocks) > > -#define XFS_MIN_DBLOCKS(s) ((xfs_drfsbno_t)((s)->sb_agcount - 1) * \ > > +#define XFS_MAX_DBLOCKS(s) ((xfs_rfsblock_t)(s)->sb_agcount * (s)->sb_agblocks) > > +#define XFS_MIN_DBLOCKS(s) ((xfs_rfsblock_t)((s)->sb_agcount - 1) * \ > > (s)->sb_agblocks + XFS_MIN_AG_BLOCKS) > > > > /* > > diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c > > index cfee14a..cb2677c 100644 > > --- a/fs/xfs/xfs_inode_fork.c > > +++ b/fs/xfs/xfs_inode_fork.c > > @@ -526,7 +526,7 @@ xfs_iroot_realloc( > > ifp->if_broot_bytes = (int)new_size; > > ASSERT(XFS_BMAP_BMDR_SPACE(ifp->if_broot) <= > > XFS_IFORK_SIZE(ip, whichfork)); > > - memmove(np, op, cur_max * (uint)sizeof(xfs_dfsbno_t)); > > + memmove(np, op, cur_max * (uint)sizeof(xfs_fsblock_t)); > > return; > > } > > > > @@ -573,7 +573,7 @@ xfs_iroot_realloc( > > ifp->if_broot_bytes); > > np = (char *)XFS_BMAP_BROOT_PTR_ADDR(mp, new_broot, 1, > > (int)new_size); > > - memcpy(np, op, new_max * (uint)sizeof(xfs_dfsbno_t)); > > + memcpy(np, op, new_max * (uint)sizeof(xfs_fsblock_t)); > > } > > kmem_free(ifp->if_broot); > > ifp->if_broot = new_broot; > > diff --git a/fs/xfs/xfs_inum.h b/fs/xfs/xfs_inum.h > > index 90efdaf..4ff2278 100644 > > --- a/fs/xfs/xfs_inum.h > > +++ b/fs/xfs/xfs_inum.h > > @@ -54,11 +54,7 @@ struct xfs_mount; > > #define XFS_OFFBNO_TO_AGINO(mp,b,o) \ > > ((xfs_agino_t)(((b) << XFS_INO_OFFSET_BITS(mp)) | (o))) > > > > -#if XFS_BIG_INUMS > > #define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 56) - 1ULL)) > > -#else > > -#define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 32) - 1ULL)) > > -#endif > > #define XFS_MAXINUMBER_32 ((xfs_ino_t)((1ULL << 32) - 1ULL)) > > > > #endif /* __XFS_INUM_H__ */ > > diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h > > index f9bb590..9dc1349 100644 > > --- a/fs/xfs/xfs_linux.h > > +++ b/fs/xfs/xfs_linux.h > > @@ -21,18 +21,6 @@ > > #include > > > > /* > > - * XFS_BIG_BLKNOS needs block layer disk addresses to be 64 bits. > > - * XFS_BIG_INUMS requires XFS_BIG_BLKNOS to be set. > > - */ > > -#if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64) > > -# define XFS_BIG_BLKNOS 1 > > -# define XFS_BIG_INUMS 1 > > -#else > > -# define XFS_BIG_BLKNOS 0 > > -# define XFS_BIG_INUMS 0 > > -#endif > > - > > -/* > > * Kernel specific type declarations for XFS > > */ > > typedef signed char __int8_t; > > diff --git a/fs/xfs/xfs_log_format.h b/fs/xfs/xfs_log_format.h > > index f0969c7..aff12f2 100644 > > --- a/fs/xfs/xfs_log_format.h > > +++ b/fs/xfs/xfs_log_format.h > > @@ -380,7 +380,7 @@ typedef struct xfs_icdinode { > > xfs_ictimestamp_t di_mtime; /* time last modified */ > > xfs_ictimestamp_t di_ctime; /* time created/inode modified */ > > xfs_fsize_t di_size; /* number of bytes in file */ > > - xfs_drfsbno_t di_nblocks; /* # of direct & btree blocks used */ > > + xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */ > > xfs_extlen_t di_extsize; /* basic/minimum extent size for file */ > > xfs_extnum_t di_nextents; /* number of extents in data fork */ > > xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/ > > @@ -516,7 +516,7 @@ xfs_blft_from_flags(struct xfs_buf_log_format *blf) > > * EFI/EFD log format definitions > > */ > > typedef struct xfs_extent { > > - xfs_dfsbno_t ext_start; > > + xfs_fsblock_t ext_start; > > xfs_extlen_t ext_len; > > } xfs_extent_t; > > > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > > index da88f16..1053aa2 100644 > > --- a/fs/xfs/xfs_mount.c > > +++ b/fs/xfs/xfs_mount.c > > @@ -172,13 +172,9 @@ xfs_sb_validate_fsb_count( > > ASSERT(PAGE_SHIFT >= sbp->sb_blocklog); > > ASSERT(sbp->sb_blocklog >= BBSHIFT); > > > > -#if XFS_BIG_BLKNOS /* Limited by ULONG_MAX of page cache index */ > > + /* Limited by ULONG_MAX of page cache index */ > > if (nblocks >> (PAGE_CACHE_SHIFT - sbp->sb_blocklog) > ULONG_MAX) > > return EFBIG; > > -#else /* Limited by UINT_MAX of sectors */ > > - if (nblocks << (sbp->sb_blocklog - BBSHIFT) > UINT_MAX) > > - return EFBIG; > > -#endif > > return 0; > > } > > > > diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c > > index a6a76b2..4176e8d 100644 > > --- a/fs/xfs/xfs_rtalloc.c > > +++ b/fs/xfs/xfs_rtalloc.c > > @@ -944,9 +944,9 @@ xfs_growfs_rt( > > xfs_buf_t *bp; /* temporary buffer */ > > int error; /* error return value */ > > xfs_mount_t *nmp; /* new (fake) mount structure */ > > - xfs_drfsbno_t nrblocks; /* new number of realtime blocks */ > > + xfs_rfsblock_t nrblocks; /* new number of realtime blocks */ > > xfs_extlen_t nrbmblocks; /* new number of rt bitmap blocks */ > > - xfs_drtbno_t nrextents; /* new number of realtime extents */ > > + xfs_rtblock_t nrextents; /* new number of realtime extents */ > > uint8_t nrextslog; /* new log2 of sb_rextents */ > > xfs_extlen_t nrsumblocks; /* new number of summary blocks */ > > uint nrsumlevels; /* new rt summary levels */ > > diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h > > index 35061d4..c24a9ab 100644 > > --- a/fs/xfs/xfs_sb.h > > +++ b/fs/xfs/xfs_sb.h > > @@ -104,11 +104,11 @@ struct xfs_trans; > > typedef struct xfs_sb { > > __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ > > __uint32_t sb_blocksize; /* logical block size, bytes */ > > - xfs_drfsbno_t sb_dblocks; /* number of data blocks */ > > - xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */ > > - xfs_drtbno_t sb_rextents; /* number of realtime extents */ > > + xfs_rfsblock_t sb_dblocks; /* number of data blocks */ > > + xfs_rfsblock_t sb_rblocks; /* number of realtime blocks */ > > + xfs_rtblock_t sb_rextents; /* number of realtime extents */ > > uuid_t sb_uuid; /* file system unique id */ > > - xfs_dfsbno_t sb_logstart; /* starting block of log if internal */ > > + xfs_fsblock_t sb_logstart; /* starting block of log if internal */ > > xfs_ino_t sb_rootino; /* root inode number */ > > xfs_ino_t sb_rbmino; /* bitmap inode for realtime extents */ > > xfs_ino_t sb_rsumino; /* summary inode for rt bitmap */ > > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c > > index d971f49..0eeb30c 100644 > > --- a/fs/xfs/xfs_super.c > > +++ b/fs/xfs/xfs_super.c > > @@ -204,9 +204,6 @@ xfs_parseargs( > > */ > > mp->m_flags |= XFS_MOUNT_BARRIER; > > mp->m_flags |= XFS_MOUNT_COMPAT_IOSIZE; > > -#if !XFS_BIG_INUMS > > - mp->m_flags |= XFS_MOUNT_SMALL_INUMS; > > -#endif > > > > /* > > * These can be overridden by the mount option parsing. > > @@ -313,11 +310,6 @@ xfs_parseargs( > > mp->m_flags |= XFS_MOUNT_SMALL_INUMS; > > } else if (!strcmp(this_char, MNTOPT_64BITINODE)) { > > mp->m_flags &= ~XFS_MOUNT_SMALL_INUMS; > > -#if !XFS_BIG_INUMS > > - xfs_warn(mp, "%s option not allowed on this system", > > - this_char); > > - return EINVAL; > > -#endif > > } else if (!strcmp(this_char, MNTOPT_NOUUID)) { > > mp->m_flags |= XFS_MOUNT_NOUUID; > > } else if (!strcmp(this_char, MNTOPT_BARRIER)) { > > diff --git a/fs/xfs/xfs_super.h b/fs/xfs/xfs_super.h > > index bbe3d15..31f757c 100644 > > --- a/fs/xfs/xfs_super.h > > +++ b/fs/xfs/xfs_super.h > > @@ -44,16 +44,6 @@ extern void xfs_qm_exit(void); > > # define XFS_REALTIME_STRING > > #endif > > > > -#if XFS_BIG_BLKNOS > > -# if XFS_BIG_INUMS > > -# define XFS_BIGFS_STRING "large block/inode numbers, " > > -# else > > -# define XFS_BIGFS_STRING "large block numbers, " > > -# endif > > -#else > > -# define XFS_BIGFS_STRING > > -#endif > > - > > #ifdef DEBUG > > # define XFS_DBG_STRING "debug" > > #else > > @@ -64,7 +54,6 @@ extern void xfs_qm_exit(void); > > #define XFS_BUILD_OPTIONS XFS_ACL_STRING \ > > XFS_SECURITY_STRING \ > > XFS_REALTIME_STRING \ > > - XFS_BIGFS_STRING \ > > XFS_DBG_STRING /* DBG must be last */ > > > > struct xfs_inode; > > diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h > > index 82bbc34..14e3d87 100644 > > --- a/fs/xfs/xfs_types.h > > +++ b/fs/xfs/xfs_types.h > > @@ -38,43 +38,18 @@ typedef __int32_t xfs_tid_t; /* transaction identifier */ > > typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ > > typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */ > > > > -/* > > - * These types are 64 bits on disk but are either 32 or 64 bits in memory. > > - * Disk based types: > > - */ > > -typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ > > -typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ > > -typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ > > -typedef __uint64_t xfs_dfiloff_t; /* block number in a file */ > > -typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */ > > - > > -/* > > - * Memory based types are conditional. > > - */ > > -#if XFS_BIG_BLKNOS > > typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > > typedef __uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > > typedef __uint64_t xfs_rtblock_t; /* extent (block) in realtime area */ > > -typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > > -#else > > -typedef __uint32_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > > -typedef __uint32_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > > -typedef __uint32_t xfs_rtblock_t; /* extent (block) in realtime area */ > > -typedef __int32_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > > -#endif > > typedef __uint64_t xfs_fileoff_t; /* block number in a file */ > > -typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > > typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */ > > > > +typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > > +typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > > > > /* > > * Null values for the types. > > */ > > -#define NULLDFSBNO ((xfs_dfsbno_t)-1) > > -#define NULLDRFSBNO ((xfs_drfsbno_t)-1) > > -#define NULLDRTBNO ((xfs_drtbno_t)-1) > > -#define NULLDFILOFF ((xfs_dfiloff_t)-1) > > - > > #define NULLFSBLOCK ((xfs_fsblock_t)-1) > > #define NULLRFSBLOCK ((xfs_rfsblock_t)-1) > > #define NULLRTBLOCK ((xfs_rtblock_t)-1) > ---end quoted text--- > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs ---end quoted text--- From webmaster@getit6.subvalue.com Mon Jun 16 11:13:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=HTML_FONT_LOW_CONTRAST, HTML_MESSAGE,RCVD_NUMERIC_HELO,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1F5E77F3F for ; Mon, 16 Jun 2014 11:13:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E92188F8065 for ; Mon, 16 Jun 2014 09:13:30 -0700 (PDT) X-ASG-Debug-ID: 1402935204-04cbb00a0211b3a0001-NocioJ Received: from server3.subvalue.com (server3.subvalue.com [115.124.106.60]) by cuda.sgi.com with ESMTP id GOjCKeGJxFTdKXd8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 09:13:26 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit6.subvalue.com X-Barracuda-Apparent-Source-IP: 115.124.106.60 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit6.subvalue.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=SFOLpcSyOy/pGlfHCpF0U983LGfRmz7VdV8BavY5I2s=; b=JPVN4kRfGAoKkX4xQ2kJwRaaT7gdvz/UE4nDWoBHemhVQUuHQdm1zirea1CsSygw8/rJcBEO0ST6SyFd/sE/E0zMjTMz7f7F6O+uU2Iqksd0IwTBd6qcQQT3Um41crdCsez/ivenV0B17RaGMsPw04MXFrD8dK7PiYYdHArSJaE=; Received: from nobody by server3.subvalue.com with local (Exim 4.82) (envelope-from ) id 1WwZX7-0000pg-JM for xfs@oss.sgi.com; Mon, 16 Jun 2014 16:13:21 +0000 To: xfs@oss.sgi.com Subject: =?UTF-8?Q?Congratulations!!_Your_I.P_is_selected,__you_could_be_Today?= =?UTF-8?Q?=E2=80=99s_Lucky_winner.?= X-PHP-Script: getit6.subvalue.com/mailz/admin/index.php for 116.203.242.24 X-ASG-Orig-Subj: =?UTF-8?Q?Congratulations!!_Your_I.P_is_selected,__you_could_be_Today?= =?UTF-8?Q?=E2=80=99s_Lucky_winner.?= Received: from 116.203.242.24 [116.203.242.24] by getit6.subvalue.com with HTTP; Mon, 16 Jun 2014 14:55:06 +0000 Date: Mon, 16 Jun 2014 16:13:21 +0000 From: Lucky Day Reply-To: Lucky Day Message-ID: X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 8 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit6.subvalue.com List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_e3697e7abe347476989b1563f7aec4c8" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server3.subvalue.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 32007] / [47 12] X-AntiAbuse: Sender Address Domain - getit6.subvalue.com X-Get-Message-Sender-Via: server3.subvalue.com: uid via acl_c_vhost_owner from authenticated_id: getit6su from //getit6.subvalue.com/mailz/admin/index.php for 116.203.242.24 /from_h X-Source: X-Source-Args: /usr/local/apache/bin/httpd -k start -DSSL X-Source-Dir: getit6.subvalue.com:/public_html/mailz/admin X-Barracuda-Connect: server3.subvalue.com[115.124.106.60] X-Barracuda-Start-Time: 1402935205 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.80 X-Barracuda-Spam-Status: No, SCORE=1.80 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_FONT_LOW_CONTRAST, HTML_MESSAGE, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6697 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.54 HTML_FONT_LOW_CONTRAST BODY: HTML font color similar to background 0.00 HTML_MESSAGE BODY: HTML included in message 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO --b1_e3697e7abe347476989b1563f7aec4c8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Cheers!! "Great News For You" From The Below List Of Products, Choose Your Favorite One. Click Now, To Get Rewarded. -- This message was sent to xfs@oss.sgi.com by sonam@getit6.subvalue.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A Or you can UNSUBSCRIBE completely=0A from all future mailings. =20 -- developed by, www.mailsmagic.com -- --b1_e3697e7abe347476989b1563f7aec4c8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =0A =0A

 

Cheers!! "Great Ne= ws For You"
= >From The Below List Of Products, Choose Your Favorite One.
3D"Apple
 
3D"Samsung 3D"Samsung 3D"Apple
Click Now, To Get Rewar= ded.

-- =20

This message was sent to xfs@oss.sgi.com by sonam@getit6.subvalue.= com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can UNSUBSCRIBE completely from all future mailings.

=0A=0A=0A-- developed by, www.mailsmagic.com --=0A=0A --b1_e3697e7abe347476989b1563f7aec4c8-- From BATV+af2297009939245a6d99+3949+infradead.org+hch@casper.srs.infradead.org Mon Jun 16 11:41:55 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 49BAF7F3F for ; Mon, 16 Jun 2014 11:41:55 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id DA0A98F804B for ; Mon, 16 Jun 2014 09:41:54 -0700 (PDT) X-ASG-Debug-ID: 1402936909-04bdf05669291b10001-NocioJ Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by cuda.sgi.com with ESMTP id t5coNHGkgDLxy5zn (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 16 Jun 2014 09:41:50 -0700 (PDT) X-Barracuda-Envelope-From: BATV+af2297009939245a6d99+3949+infradead.org+hch@casper.srs.infradead.org X-Barracuda-Apparent-Source-IP: 85.118.1.10 Received: from [83.175.99.196] (helo=localhost) by casper.infradead.org with esmtpsa (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwZye-0004sm-Ps for xfs@oss.sgi.com; Mon, 16 Jun 2014 16:41:49 +0000 From: Christoph Hellwig To: xfs@oss.sgi.com Subject: [PATCH] xfs: require 64-bit sector_t Date: Mon, 16 Jun 2014 18:44:05 +0200 X-ASG-Orig-Subj: [PATCH] xfs: require 64-bit sector_t Message-Id: <1402937045-31103-1-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.7.10.4 X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: casper.infradead.org[85.118.1.10] X-Barracuda-Start-Time: 1402936910 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.75 X-Barracuda-Spam-Status: No, SCORE=0.75 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_RULE_7580F X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6697 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.75 BSF_RULE_7580F Custom Rule 7580F Trying to support tiny disks only and saving a bit memory might have made sense on an SGI O2 15 years ago, but is pretty pointless today. Remove the rarely tested codepath that uses various smaller in-memory types to reduce our test matrix and make the codebase a little bit smaller and less complicated. Signed-off-by: Christoph Hellwig Reviewed-by: Ben Myers --- fs/xfs/Kconfig | 1 + fs/xfs/xfs_bmap.c | 8 ++--- fs/xfs/xfs_bmap_btree.c | 89 +++-------------------------------------------- fs/xfs/xfs_bmap_util.c | 2 +- fs/xfs/xfs_btree.c | 32 ++++++++--------- fs/xfs/xfs_btree.h | 2 +- fs/xfs/xfs_da_btree.c | 2 +- fs/xfs/xfs_dir2_sf.c | 45 +++++------------------- fs/xfs/xfs_format.h | 14 +------- fs/xfs/xfs_fs.h | 4 +-- fs/xfs/xfs_inode_fork.c | 4 +-- fs/xfs/xfs_inum.h | 4 --- fs/xfs/xfs_linux.h | 12 ------- fs/xfs/xfs_log_format.h | 4 +-- fs/xfs/xfs_mount.c | 6 +--- fs/xfs/xfs_rtalloc.c | 4 +-- fs/xfs/xfs_sb.h | 8 ++--- fs/xfs/xfs_super.c | 8 ----- fs/xfs/xfs_super.h | 11 ------ fs/xfs/xfs_types.h | 29 ++------------- 20 files changed, 50 insertions(+), 239 deletions(-) diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig index 399e8ce..5d47b4d 100644 --- a/fs/xfs/Kconfig +++ b/fs/xfs/Kconfig @@ -1,6 +1,7 @@ config XFS_FS tristate "XFS filesystem support" depends on BLOCK + depends on (64BIT || LBDAF) select EXPORTFS select LIBCRC32C help diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index 96175df..689ffd7 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c @@ -392,7 +392,7 @@ xfs_bmap_check_leaf_extents( pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); bno = be64_to_cpu(*pp); - ASSERT(bno != NULLDFSBNO); + ASSERT(bno != NULLFSBLOCK); ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); @@ -1299,7 +1299,7 @@ xfs_bmap_read_extents( ASSERT(level > 0); pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); bno = be64_to_cpu(*pp); - ASSERT(bno != NULLDFSBNO); + ASSERT(bno != NULLFSBLOCK); ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); /* @@ -1429,11 +1429,7 @@ xfs_bmap_search_multi_extents( gotp->br_startoff = 0xffa5a5a5a5a5a5a5LL; gotp->br_blockcount = 0xa55a5a5a5a5a5a5aLL; gotp->br_state = XFS_EXT_INVALID; -#if XFS_BIG_BLKNOS gotp->br_startblock = 0xffffa5a5a5a5a5a5LL; -#else - gotp->br_startblock = 0xffffa5a5; -#endif prevp->br_startoff = NULLFILEOFF; ep = xfs_iext_bno_to_ext(ifp, bno, &lastx); diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c index 948836c..5201159 100644 --- a/fs/xfs/xfs_bmap_btree.c +++ b/fs/xfs/xfs_bmap_btree.c @@ -111,23 +111,8 @@ __xfs_bmbt_get_all( ext_flag = (int)(l0 >> (64 - BMBT_EXNTFLAG_BITLEN)); s->br_startoff = ((xfs_fileoff_t)l0 & xfs_mask64lo(64 - BMBT_EXNTFLAG_BITLEN)) >> 9; -#if XFS_BIG_BLKNOS s->br_startblock = (((xfs_fsblock_t)l0 & xfs_mask64lo(9)) << 43) | (((xfs_fsblock_t)l1) >> 21); -#else -#ifdef DEBUG - { - xfs_dfsbno_t b; - - b = (((xfs_dfsbno_t)l0 & xfs_mask64lo(9)) << 43) | - (((xfs_dfsbno_t)l1) >> 21); - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); - s->br_startblock = (xfs_fsblock_t)b; - } -#else /* !DEBUG */ - s->br_startblock = (xfs_fsblock_t)(((xfs_dfsbno_t)l1) >> 21); -#endif /* DEBUG */ -#endif /* XFS_BIG_BLKNOS */ s->br_blockcount = (xfs_filblks_t)(l1 & xfs_mask64lo(21)); /* This is xfs_extent_state() in-line */ if (ext_flag) { @@ -163,21 +148,8 @@ xfs_fsblock_t xfs_bmbt_get_startblock( xfs_bmbt_rec_host_t *r) { -#if XFS_BIG_BLKNOS return (((xfs_fsblock_t)r->l0 & xfs_mask64lo(9)) << 43) | (((xfs_fsblock_t)r->l1) >> 21); -#else -#ifdef DEBUG - xfs_dfsbno_t b; - - b = (((xfs_dfsbno_t)r->l0 & xfs_mask64lo(9)) << 43) | - (((xfs_dfsbno_t)r->l1) >> 21); - ASSERT((b >> 32) == 0 || isnulldstartblock(b)); - return (xfs_fsblock_t)b; -#else /* !DEBUG */ - return (xfs_fsblock_t)(((xfs_dfsbno_t)r->l1) >> 21); -#endif /* DEBUG */ -#endif /* XFS_BIG_BLKNOS */ } /* @@ -241,7 +213,6 @@ xfs_bmbt_set_allf( ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); -#if XFS_BIG_BLKNOS ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | @@ -250,23 +221,6 @@ xfs_bmbt_set_allf( r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | ((xfs_bmbt_rec_base_t)blockcount & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); -#else /* !XFS_BIG_BLKNOS */ - if (isnullstartblock(startblock)) { - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | - ((xfs_bmbt_rec_base_t)startoff << 9) | - (xfs_bmbt_rec_base_t)xfs_mask64lo(9); - r->l1 = xfs_mask64hi(11) | - ((xfs_bmbt_rec_base_t)startblock << 21) | - ((xfs_bmbt_rec_base_t)blockcount & - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); - } else { - r->l0 = ((xfs_bmbt_rec_base_t)extent_flag << 63) | - ((xfs_bmbt_rec_base_t)startoff << 9); - r->l1 = ((xfs_bmbt_rec_base_t)startblock << 21) | - ((xfs_bmbt_rec_base_t)blockcount & - (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); - } -#endif /* XFS_BIG_BLKNOS */ } /* @@ -298,8 +252,6 @@ xfs_bmbt_disk_set_allf( ASSERT(state == XFS_EXT_NORM || state == XFS_EXT_UNWRITTEN); ASSERT((startoff & xfs_mask64hi(64-BMBT_STARTOFF_BITLEN)) == 0); ASSERT((blockcount & xfs_mask64hi(64-BMBT_BLOCKCOUNT_BITLEN)) == 0); - -#if XFS_BIG_BLKNOS ASSERT((startblock & xfs_mask64hi(64-BMBT_STARTBLOCK_BITLEN)) == 0); r->l0 = cpu_to_be64( @@ -310,26 +262,6 @@ xfs_bmbt_disk_set_allf( ((xfs_bmbt_rec_base_t)startblock << 21) | ((xfs_bmbt_rec_base_t)blockcount & (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); -#else /* !XFS_BIG_BLKNOS */ - if (isnullstartblock(startblock)) { - r->l0 = cpu_to_be64( - ((xfs_bmbt_rec_base_t)extent_flag << 63) | - ((xfs_bmbt_rec_base_t)startoff << 9) | - (xfs_bmbt_rec_base_t)xfs_mask64lo(9)); - r->l1 = cpu_to_be64(xfs_mask64hi(11) | - ((xfs_bmbt_rec_base_t)startblock << 21) | - ((xfs_bmbt_rec_base_t)blockcount & - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); - } else { - r->l0 = cpu_to_be64( - ((xfs_bmbt_rec_base_t)extent_flag << 63) | - ((xfs_bmbt_rec_base_t)startoff << 9)); - r->l1 = cpu_to_be64( - ((xfs_bmbt_rec_base_t)startblock << 21) | - ((xfs_bmbt_rec_base_t)blockcount & - (xfs_bmbt_rec_base_t)xfs_mask64lo(21))); - } -#endif /* XFS_BIG_BLKNOS */ } /* @@ -365,24 +297,11 @@ xfs_bmbt_set_startblock( xfs_bmbt_rec_host_t *r, xfs_fsblock_t v) { -#if XFS_BIG_BLKNOS ASSERT((v & xfs_mask64hi(12)) == 0); r->l0 = (r->l0 & (xfs_bmbt_rec_base_t)xfs_mask64hi(55)) | (xfs_bmbt_rec_base_t)(v >> 43); r->l1 = (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)) | (xfs_bmbt_rec_base_t)(v << 21); -#else /* !XFS_BIG_BLKNOS */ - if (isnullstartblock(v)) { - r->l0 |= (xfs_bmbt_rec_base_t)xfs_mask64lo(9); - r->l1 = (xfs_bmbt_rec_base_t)xfs_mask64hi(11) | - ((xfs_bmbt_rec_base_t)v << 21) | - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); - } else { - r->l0 &= ~(xfs_bmbt_rec_base_t)xfs_mask64lo(9); - r->l1 = ((xfs_bmbt_rec_base_t)v << 21) | - (r->l1 & (xfs_bmbt_rec_base_t)xfs_mask64lo(21)); - } -#endif /* XFS_BIG_BLKNOS */ } /* @@ -438,8 +357,8 @@ xfs_bmbt_to_bmdr( cpu_to_be64(XFS_BUF_DADDR_NULL)); } else ASSERT(rblock->bb_magic == cpu_to_be32(XFS_BMAP_MAGIC)); - ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)); - ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)); + ASSERT(rblock->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)); + ASSERT(rblock->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)); ASSERT(rblock->bb_level != 0); dblock->bb_level = rblock->bb_level; dblock->bb_numrecs = rblock->bb_numrecs; @@ -763,11 +682,11 @@ xfs_bmbt_verify( /* sibling pointer verification */ if (!block->bb_u.l.bb_leftsib || - (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLDFSBNO) && + (block->bb_u.l.bb_leftsib != cpu_to_be64(NULLFSBLOCK) && !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_leftsib)))) return false; if (!block->bb_u.l.bb_rightsib || - (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLDFSBNO) && + (block->bb_u.l.bb_rightsib != cpu_to_be64(NULLFSBLOCK) && !XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_rightsib)))) return false; diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 703b3ec..9306a38 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -478,7 +478,7 @@ xfs_bmap_count_blocks( ASSERT(level > 0); pp = XFS_BMAP_BROOT_PTR_ADDR(mp, block, 1, ifp->if_broot_bytes); bno = be64_to_cpu(*pp); - ASSERT(bno != NULLDFSBNO); + ASSERT(bno != NULLFSBLOCK); ASSERT(XFS_FSB_TO_AGNO(mp, bno) < mp->m_sb.sb_agcount); ASSERT(XFS_FSB_TO_AGBNO(mp, bno) < mp->m_sb.sb_agblocks); diff --git a/fs/xfs/xfs_btree.c b/fs/xfs/xfs_btree.c index bf810c6..a052507 100644 --- a/fs/xfs/xfs_btree.c +++ b/fs/xfs/xfs_btree.c @@ -77,11 +77,11 @@ xfs_btree_check_lblock( be16_to_cpu(block->bb_numrecs) <= cur->bc_ops->get_maxrecs(cur, level) && block->bb_u.l.bb_leftsib && - (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO) || + (block->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK) || XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_leftsib))) && block->bb_u.l.bb_rightsib && - (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO) || + (block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK) || XFS_FSB_SANITY_CHECK(mp, be64_to_cpu(block->bb_u.l.bb_rightsib))); @@ -166,12 +166,12 @@ xfs_btree_check_block( int /* error (0 or EFSCORRUPTED) */ xfs_btree_check_lptr( struct xfs_btree_cur *cur, /* btree cursor */ - xfs_dfsbno_t bno, /* btree block disk address */ + xfs_fsblock_t bno, /* btree block disk address */ int level) /* btree block level */ { XFS_WANT_CORRUPTED_RETURN( level > 0 && - bno != NULLDFSBNO && + bno != NULLFSBLOCK && XFS_FSB_SANITY_CHECK(cur->bc_mp, bno)); return 0; } @@ -594,7 +594,7 @@ xfs_btree_islastblock( block = xfs_btree_get_block(cur, level, &bp); xfs_btree_check_block(cur, block, level, bp); if (cur->bc_flags & XFS_BTREE_LONG_PTRS) - return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO); + return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK); else return block->bb_u.s.bb_rightsib == cpu_to_be32(NULLAGBLOCK); } @@ -770,16 +770,16 @@ xfs_btree_readahead_lblock( struct xfs_btree_block *block) { int rval = 0; - xfs_dfsbno_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); - xfs_dfsbno_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); + xfs_fsblock_t left = be64_to_cpu(block->bb_u.l.bb_leftsib); + xfs_fsblock_t right = be64_to_cpu(block->bb_u.l.bb_rightsib); - if ((lr & XFS_BTCUR_LEFTRA) && left != NULLDFSBNO) { + if ((lr & XFS_BTCUR_LEFTRA) && left != NULLFSBLOCK) { xfs_btree_reada_bufl(cur->bc_mp, left, 1, cur->bc_ops->buf_ops); rval++; } - if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLDFSBNO) { + if ((lr & XFS_BTCUR_RIGHTRA) && right != NULLFSBLOCK) { xfs_btree_reada_bufl(cur->bc_mp, right, 1, cur->bc_ops->buf_ops); rval++; @@ -851,7 +851,7 @@ xfs_btree_ptr_to_daddr( union xfs_btree_ptr *ptr) { if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { - ASSERT(ptr->l != cpu_to_be64(NULLDFSBNO)); + ASSERT(ptr->l != cpu_to_be64(NULLFSBLOCK)); return XFS_FSB_TO_DADDR(cur->bc_mp, be64_to_cpu(ptr->l)); } else { @@ -899,9 +899,9 @@ xfs_btree_setbuf( b = XFS_BUF_TO_BLOCK(bp); if (cur->bc_flags & XFS_BTREE_LONG_PTRS) { - if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLDFSBNO)) + if (b->bb_u.l.bb_leftsib == cpu_to_be64(NULLFSBLOCK)) cur->bc_ra[lev] |= XFS_BTCUR_LEFTRA; - if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLDFSBNO)) + if (b->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK)) cur->bc_ra[lev] |= XFS_BTCUR_RIGHTRA; } else { if (b->bb_u.s.bb_leftsib == cpu_to_be32(NULLAGBLOCK)) @@ -917,7 +917,7 @@ xfs_btree_ptr_is_null( union xfs_btree_ptr *ptr) { if (cur->bc_flags & XFS_BTREE_LONG_PTRS) - return ptr->l == cpu_to_be64(NULLDFSBNO); + return ptr->l == cpu_to_be64(NULLFSBLOCK); else return ptr->s == cpu_to_be32(NULLAGBLOCK); } @@ -928,7 +928,7 @@ xfs_btree_set_ptr_null( union xfs_btree_ptr *ptr) { if (cur->bc_flags & XFS_BTREE_LONG_PTRS) - ptr->l = cpu_to_be64(NULLDFSBNO); + ptr->l = cpu_to_be64(NULLFSBLOCK); else ptr->s = cpu_to_be32(NULLAGBLOCK); } @@ -996,8 +996,8 @@ xfs_btree_init_block_int( buf->bb_numrecs = cpu_to_be16(numrecs); if (flags & XFS_BTREE_LONG_PTRS) { - buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLDFSBNO); - buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLDFSBNO); + buf->bb_u.l.bb_leftsib = cpu_to_be64(NULLFSBLOCK); + buf->bb_u.l.bb_rightsib = cpu_to_be64(NULLFSBLOCK); if (flags & XFS_BTREE_CRC_BLOCKS) { buf->bb_u.l.bb_blkno = cpu_to_be64(blkno); buf->bb_u.l.bb_owner = cpu_to_be64(owner); diff --git a/fs/xfs/xfs_btree.h b/fs/xfs/xfs_btree.h index a04b694..8f18bab 100644 --- a/fs/xfs/xfs_btree.h +++ b/fs/xfs/xfs_btree.h @@ -258,7 +258,7 @@ xfs_btree_check_block( int /* error (0 or EFSCORRUPTED) */ xfs_btree_check_lptr( struct xfs_btree_cur *cur, /* btree cursor */ - xfs_dfsbno_t ptr, /* btree block disk address */ + xfs_fsblock_t ptr, /* btree block disk address */ int level); /* btree block level */ /* diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index a514ab6..daa9ec3 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -2004,7 +2004,7 @@ xfs_da_grow_inode_int( struct xfs_trans *tp = args->trans; struct xfs_inode *dp = args->dp; int w = args->whichfork; - xfs_drfsbno_t nblks = dp->i_d.di_nblocks; + xfs_rfsblock_t nblks = dp->i_d.di_nblocks; struct xfs_bmbt_irec map, *mapp; int nmap, error, got, i, mapi; diff --git a/fs/xfs/xfs_dir2_sf.c b/fs/xfs/xfs_dir2_sf.c index 53c3be6..577ce44 100644 --- a/fs/xfs/xfs_dir2_sf.c +++ b/fs/xfs/xfs_dir2_sf.c @@ -51,10 +51,9 @@ static void xfs_dir2_sf_check(xfs_da_args_t *args); #else #define xfs_dir2_sf_check(args) #endif /* DEBUG */ -#if XFS_BIG_INUMS + static void xfs_dir2_sf_toino4(xfs_da_args_t *args); static void xfs_dir2_sf_toino8(xfs_da_args_t *args); -#endif /* XFS_BIG_INUMS */ /* * Given a block directory (dp/block), calculate its size as a shortform (sf) @@ -117,10 +116,10 @@ xfs_dir2_block_sfsize( isdotdot = dep->namelen == 2 && dep->name[0] == '.' && dep->name[1] == '.'; -#if XFS_BIG_INUMS + if (!isdot) i8count += be64_to_cpu(dep->inumber) > XFS_DIR2_MAX_SHORT_INUM; -#endif + /* take into account the file type field */ if (!isdot && !isdotdot) { count++; @@ -318,7 +317,7 @@ xfs_dir2_sf_addname( */ incr_isize = dp->d_ops->sf_entsize(sfp, args->namelen); objchange = 0; -#if XFS_BIG_INUMS + /* * Do we have to change to 8 byte inodes? */ @@ -332,7 +331,7 @@ xfs_dir2_sf_addname( (uint)sizeof(xfs_dir2_ino4_t)); objchange = 1; } -#endif + new_isize = (int)dp->i_d.di_size + incr_isize; /* * Won't fit as shortform any more (due to size), @@ -370,10 +369,8 @@ xfs_dir2_sf_addname( */ else { ASSERT(pick == 2); -#if XFS_BIG_INUMS if (objchange) xfs_dir2_sf_toino8(args); -#endif xfs_dir2_sf_addname_hard(args, objchange, new_isize); } xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); @@ -425,10 +422,8 @@ xfs_dir2_sf_addname_easy( * Update the header and inode. */ sfp->count++; -#if XFS_BIG_INUMS if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) sfp->i8count++; -#endif dp->i_d.di_size = new_isize; xfs_dir2_sf_check(args); } @@ -516,10 +511,8 @@ xfs_dir2_sf_addname_hard( dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); dp->d_ops->sf_put_ftype(sfep, args->filetype); sfp->count++; -#if XFS_BIG_INUMS if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) sfp->i8count++; -#endif /* * If there's more left to copy, do that. */ @@ -593,13 +586,8 @@ xfs_dir2_sf_addname_pick( /* * If changing the inode number size, do it the hard way. */ -#if XFS_BIG_INUMS - if (objchange) { + if (objchange) return 2; - } -#else - ASSERT(objchange == 0); -#endif /* * If it won't fit at the end then do it the hard way (use the hole). */ @@ -650,7 +638,6 @@ xfs_dir2_sf_check( ASSERT(dp->d_ops->sf_get_ftype(sfep) < XFS_DIR3_FT_MAX); } ASSERT(i8count == sfp->i8count); - ASSERT(XFS_BIG_INUMS || i8count == 0); ASSERT((char *)sfep - (char *)sfp == dp->i_d.di_size); ASSERT(offset + (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + @@ -870,7 +857,6 @@ xfs_dir2_sf_removename( */ xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; -#if XFS_BIG_INUMS /* * Are we changing inode number size? */ @@ -880,7 +866,6 @@ xfs_dir2_sf_removename( else sfp->i8count--; } -#endif xfs_dir2_sf_check(args); xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); return 0; @@ -895,12 +880,8 @@ xfs_dir2_sf_replace( { xfs_inode_t *dp; /* incore directory inode */ int i; /* entry index */ -#if XFS_BIG_INUMS || defined(DEBUG) xfs_ino_t ino=0; /* entry old inode number */ -#endif -#if XFS_BIG_INUMS int i8elevated; /* sf_toino8 set i8count=1 */ -#endif xfs_dir2_sf_entry_t *sfep; /* shortform directory entry */ xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ @@ -920,7 +901,7 @@ xfs_dir2_sf_replace( ASSERT(dp->i_df.if_u1.if_data != NULL); sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); -#if XFS_BIG_INUMS + /* * New inode number is large, and need to convert to 8-byte inodes. */ @@ -951,17 +932,15 @@ xfs_dir2_sf_replace( sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; } else i8elevated = 0; -#endif + ASSERT(args->namelen != 1 || args->name[0] != '.'); /* * Replace ..'s entry. */ if (args->namelen == 2 && args->name[0] == '.' && args->name[1] == '.') { -#if XFS_BIG_INUMS || defined(DEBUG) ino = dp->d_ops->sf_get_parent_ino(sfp); ASSERT(args->inumber != ino); -#endif dp->d_ops->sf_put_parent_ino(sfp, args->inumber); } /* @@ -972,10 +951,8 @@ xfs_dir2_sf_replace( i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { if (xfs_da_compname(args, sfep->name, sfep->namelen) == XFS_CMP_EXACT) { -#if XFS_BIG_INUMS || defined(DEBUG) ino = dp->d_ops->sf_get_ino(sfp, sfep); ASSERT(args->inumber != ino); -#endif dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); dp->d_ops->sf_put_ftype(sfep, args->filetype); break; @@ -986,14 +963,11 @@ xfs_dir2_sf_replace( */ if (i == sfp->count) { ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); -#if XFS_BIG_INUMS if (i8elevated) xfs_dir2_sf_toino4(args); -#endif return XFS_ERROR(ENOENT); } } -#if XFS_BIG_INUMS /* * See if the old number was large, the new number is small. */ @@ -1020,13 +994,11 @@ xfs_dir2_sf_replace( if (!i8elevated) sfp->i8count++; } -#endif xfs_dir2_sf_check(args); xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); return 0; } -#if XFS_BIG_INUMS /* * Convert from 8-byte inode numbers to 4-byte inode numbers. * The last 8-byte inode number is gone, but the count is still 1. @@ -1181,4 +1153,3 @@ xfs_dir2_sf_toino8( dp->i_d.di_size = newsize; xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); } -#endif /* XFS_BIG_INUMS */ diff --git a/fs/xfs/xfs_format.h b/fs/xfs/xfs_format.h index 34d85ac..7e42bba 100644 --- a/fs/xfs/xfs_format.h +++ b/fs/xfs/xfs_format.h @@ -68,11 +68,7 @@ struct xfs_ifork; #define XFS_RTLOBIT(w) xfs_lowbit32(w) #define XFS_RTHIBIT(w) xfs_highbit32(w) -#if XFS_BIG_BLKNOS #define XFS_RTBLOCKLOG(b) xfs_highbit64(b) -#else -#define XFS_RTBLOCKLOG(b) xfs_highbit32(b) -#endif /* * Dquot and dquot block format definitions @@ -304,23 +300,15 @@ typedef struct xfs_bmbt_rec_host { * Values and macros for delayed-allocation startblock fields. */ #define STARTBLOCKVALBITS 17 -#define STARTBLOCKMASKBITS (15 + XFS_BIG_BLKNOS * 20) -#define DSTARTBLOCKMASKBITS (15 + 20) +#define STARTBLOCKMASKBITS (15 + 20) #define STARTBLOCKMASK \ (((((xfs_fsblock_t)1) << STARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) -#define DSTARTBLOCKMASK \ - (((((xfs_dfsbno_t)1) << DSTARTBLOCKMASKBITS) - 1) << STARTBLOCKVALBITS) static inline int isnullstartblock(xfs_fsblock_t x) { return ((x) & STARTBLOCKMASK) == STARTBLOCKMASK; } -static inline int isnulldstartblock(xfs_dfsbno_t x) -{ - return ((x) & DSTARTBLOCKMASK) == DSTARTBLOCKMASK; -} - static inline xfs_fsblock_t nullstartblock(int k) { ASSERT(k < (1 << STARTBLOCKVALBITS)); diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index d34703d..dffafc6 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -255,8 +255,8 @@ typedef struct xfs_fsop_resblks { ((2 * 1024 * 1024 * 1024ULL) - XFS_MIN_LOG_BYTES) /* Used for sanity checks on superblock */ -#define XFS_MAX_DBLOCKS(s) ((xfs_drfsbno_t)(s)->sb_agcount * (s)->sb_agblocks) -#define XFS_MIN_DBLOCKS(s) ((xfs_drfsbno_t)((s)->sb_agcount - 1) * \ +#define XFS_MAX_DBLOCKS(s) ((xfs_rfsblock_t)(s)->sb_agcount * (s)->sb_agblocks) +#define XFS_MIN_DBLOCKS(s) ((xfs_rfsblock_t)((s)->sb_agcount - 1) * \ (s)->sb_agblocks + XFS_MIN_AG_BLOCKS) /* diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c index b031e8d..9cffae9 100644 --- a/fs/xfs/xfs_inode_fork.c +++ b/fs/xfs/xfs_inode_fork.c @@ -528,7 +528,7 @@ xfs_iroot_realloc( ifp->if_broot_bytes = (int)new_size; ASSERT(XFS_BMAP_BMDR_SPACE(ifp->if_broot) <= XFS_IFORK_SIZE(ip, whichfork)); - memmove(np, op, cur_max * (uint)sizeof(xfs_dfsbno_t)); + memmove(np, op, cur_max * (uint)sizeof(xfs_fsblock_t)); return; } @@ -575,7 +575,7 @@ xfs_iroot_realloc( ifp->if_broot_bytes); np = (char *)XFS_BMAP_BROOT_PTR_ADDR(mp, new_broot, 1, (int)new_size); - memcpy(np, op, new_max * (uint)sizeof(xfs_dfsbno_t)); + memcpy(np, op, new_max * (uint)sizeof(xfs_fsblock_t)); } kmem_free(ifp->if_broot); ifp->if_broot = new_broot; diff --git a/fs/xfs/xfs_inum.h b/fs/xfs/xfs_inum.h index 90efdaf..4ff2278 100644 --- a/fs/xfs/xfs_inum.h +++ b/fs/xfs/xfs_inum.h @@ -54,11 +54,7 @@ struct xfs_mount; #define XFS_OFFBNO_TO_AGINO(mp,b,o) \ ((xfs_agino_t)(((b) << XFS_INO_OFFSET_BITS(mp)) | (o))) -#if XFS_BIG_INUMS #define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 56) - 1ULL)) -#else -#define XFS_MAXINUMBER ((xfs_ino_t)((1ULL << 32) - 1ULL)) -#endif #define XFS_MAXINUMBER_32 ((xfs_ino_t)((1ULL << 32) - 1ULL)) #endif /* __XFS_INUM_H__ */ diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h index 825249d..9590ef7 100644 --- a/fs/xfs/xfs_linux.h +++ b/fs/xfs/xfs_linux.h @@ -21,18 +21,6 @@ #include /* - * XFS_BIG_BLKNOS needs block layer disk addresses to be 64 bits. - * XFS_BIG_INUMS requires XFS_BIG_BLKNOS to be set. - */ -#if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64) -# define XFS_BIG_BLKNOS 1 -# define XFS_BIG_INUMS 1 -#else -# define XFS_BIG_BLKNOS 0 -# define XFS_BIG_INUMS 0 -#endif - -/* * Kernel specific type declarations for XFS */ typedef signed char __int8_t; diff --git a/fs/xfs/xfs_log_format.h b/fs/xfs/xfs_log_format.h index f0969c7..aff12f2 100644 --- a/fs/xfs/xfs_log_format.h +++ b/fs/xfs/xfs_log_format.h @@ -380,7 +380,7 @@ typedef struct xfs_icdinode { xfs_ictimestamp_t di_mtime; /* time last modified */ xfs_ictimestamp_t di_ctime; /* time created/inode modified */ xfs_fsize_t di_size; /* number of bytes in file */ - xfs_drfsbno_t di_nblocks; /* # of direct & btree blocks used */ + xfs_rfsblock_t di_nblocks; /* # of direct & btree blocks used */ xfs_extlen_t di_extsize; /* basic/minimum extent size for file */ xfs_extnum_t di_nextents; /* number of extents in data fork */ xfs_aextnum_t di_anextents; /* number of extents in attribute fork*/ @@ -516,7 +516,7 @@ xfs_blft_from_flags(struct xfs_buf_log_format *blf) * EFI/EFD log format definitions */ typedef struct xfs_extent { - xfs_dfsbno_t ext_start; + xfs_fsblock_t ext_start; xfs_extlen_t ext_len; } xfs_extent_t; diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 3507cd0..20fc5c7 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -173,13 +173,9 @@ xfs_sb_validate_fsb_count( ASSERT(PAGE_SHIFT >= sbp->sb_blocklog); ASSERT(sbp->sb_blocklog >= BBSHIFT); -#if XFS_BIG_BLKNOS /* Limited by ULONG_MAX of page cache index */ + /* Limited by ULONG_MAX of page cache index */ if (nblocks >> (PAGE_CACHE_SHIFT - sbp->sb_blocklog) > ULONG_MAX) return EFBIG; -#else /* Limited by UINT_MAX of sectors */ - if (nblocks << (sbp->sb_blocklog - BBSHIFT) > UINT_MAX) - return EFBIG; -#endif return 0; } diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index ec5ca65..9dcf53f 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -944,9 +944,9 @@ xfs_growfs_rt( xfs_buf_t *bp; /* temporary buffer */ int error; /* error return value */ xfs_mount_t *nmp; /* new (fake) mount structure */ - xfs_drfsbno_t nrblocks; /* new number of realtime blocks */ + xfs_rfsblock_t nrblocks; /* new number of realtime blocks */ xfs_extlen_t nrbmblocks; /* new number of rt bitmap blocks */ - xfs_drtbno_t nrextents; /* new number of realtime extents */ + xfs_rtblock_t nrextents; /* new number of realtime extents */ uint8_t nrextslog; /* new log2 of sb_rextents */ xfs_extlen_t nrsumblocks; /* new number of summary blocks */ uint nrsumlevels; /* new rt summary levels */ diff --git a/fs/xfs/xfs_sb.h b/fs/xfs/xfs_sb.h index c43c2d6..2e73970 100644 --- a/fs/xfs/xfs_sb.h +++ b/fs/xfs/xfs_sb.h @@ -87,11 +87,11 @@ struct xfs_trans; typedef struct xfs_sb { __uint32_t sb_magicnum; /* magic number == XFS_SB_MAGIC */ __uint32_t sb_blocksize; /* logical block size, bytes */ - xfs_drfsbno_t sb_dblocks; /* number of data blocks */ - xfs_drfsbno_t sb_rblocks; /* number of realtime blocks */ - xfs_drtbno_t sb_rextents; /* number of realtime extents */ + xfs_rfsblock_t sb_dblocks; /* number of data blocks */ + xfs_rfsblock_t sb_rblocks; /* number of realtime blocks */ + xfs_rtblock_t sb_rextents; /* number of realtime extents */ uuid_t sb_uuid; /* file system unique id */ - xfs_dfsbno_t sb_logstart; /* starting block of log if internal */ + xfs_fsblock_t sb_logstart; /* starting block of log if internal */ xfs_ino_t sb_rootino; /* root inode number */ xfs_ino_t sb_rbmino; /* bitmap inode for realtime extents */ xfs_ino_t sb_rsumino; /* summary inode for rt bitmap */ diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 8f0333b..1c6bf84 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -204,9 +204,6 @@ xfs_parseargs( */ mp->m_flags |= XFS_MOUNT_BARRIER; mp->m_flags |= XFS_MOUNT_COMPAT_IOSIZE; -#if !XFS_BIG_INUMS - mp->m_flags |= XFS_MOUNT_SMALL_INUMS; -#endif /* * These can be overridden by the mount option parsing. @@ -313,11 +310,6 @@ xfs_parseargs( mp->m_flags |= XFS_MOUNT_SMALL_INUMS; } else if (!strcmp(this_char, MNTOPT_64BITINODE)) { mp->m_flags &= ~XFS_MOUNT_SMALL_INUMS; -#if !XFS_BIG_INUMS - xfs_warn(mp, "%s option not allowed on this system", - this_char); - return EINVAL; -#endif } else if (!strcmp(this_char, MNTOPT_NOUUID)) { mp->m_flags |= XFS_MOUNT_NOUUID; } else if (!strcmp(this_char, MNTOPT_BARRIER)) { diff --git a/fs/xfs/xfs_super.h b/fs/xfs/xfs_super.h index bbe3d15..31f757c 100644 --- a/fs/xfs/xfs_super.h +++ b/fs/xfs/xfs_super.h @@ -44,16 +44,6 @@ extern void xfs_qm_exit(void); # define XFS_REALTIME_STRING #endif -#if XFS_BIG_BLKNOS -# if XFS_BIG_INUMS -# define XFS_BIGFS_STRING "large block/inode numbers, " -# else -# define XFS_BIGFS_STRING "large block numbers, " -# endif -#else -# define XFS_BIGFS_STRING -#endif - #ifdef DEBUG # define XFS_DBG_STRING "debug" #else @@ -64,7 +54,6 @@ extern void xfs_qm_exit(void); #define XFS_BUILD_OPTIONS XFS_ACL_STRING \ XFS_SECURITY_STRING \ XFS_REALTIME_STRING \ - XFS_BIGFS_STRING \ XFS_DBG_STRING /* DBG must be last */ struct xfs_inode; diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h index 65c6e66..b79dc66 100644 --- a/fs/xfs/xfs_types.h +++ b/fs/xfs/xfs_types.h @@ -38,43 +38,18 @@ typedef __int32_t xfs_tid_t; /* transaction identifier */ typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */ -/* - * These types are 64 bits on disk but are either 32 or 64 bits in memory. - * Disk based types: - */ -typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ -typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ -typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ -typedef __uint64_t xfs_dfiloff_t; /* block number in a file */ -typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */ - -/* - * Memory based types are conditional. - */ -#if XFS_BIG_BLKNOS typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ typedef __uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ typedef __uint64_t xfs_rtblock_t; /* extent (block) in realtime area */ -typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ -#else -typedef __uint32_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ -typedef __uint32_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ -typedef __uint32_t xfs_rtblock_t; /* extent (block) in realtime area */ -typedef __int32_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ -#endif typedef __uint64_t xfs_fileoff_t; /* block number in a file */ -typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */ +typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ +typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ /* * Null values for the types. */ -#define NULLDFSBNO ((xfs_dfsbno_t)-1) -#define NULLDRFSBNO ((xfs_drfsbno_t)-1) -#define NULLDRTBNO ((xfs_drtbno_t)-1) -#define NULLDFILOFF ((xfs_dfiloff_t)-1) - #define NULLFSBLOCK ((xfs_fsblock_t)-1) #define NULLRFSBLOCK ((xfs_rfsblock_t)-1) #define NULLRTBLOCK ((xfs_rtblock_t)-1) -- 1.7.10.4 From axboe@kernel.dk Mon Jun 16 14:30:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 7D2CE29DF8 for ; Mon, 16 Jun 2014 14:30:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 75C45304039 for ; Mon, 16 Jun 2014 12:30:43 -0700 (PDT) X-ASG-Debug-ID: 1402947041-04cb6c78c4281030001-NocioJ Received: from mail-pb0-f46.google.com (mail-pb0-f46.google.com [209.85.160.46]) by cuda.sgi.com with ESMTP id LGbW9tjWsfa9a7AS (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 16 Jun 2014 12:30:41 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-RBL-Trusted-Forwarder: 209.85.160.46 Received: by mail-pb0-f46.google.com with SMTP id md12so3974698pbc.33 for ; Mon, 16 Jun 2014 12:30:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type; bh=/SL4VJbAPU6v2JD2fdOajkPXYwnq3XplhOJY/mWx9e4=; b=FNipe7KrN7TtznifjkODZnQRPzT5G110ECzavU0ALphO+adcAhak9V9kGLuEleW4ZP 1TIKPgQaE7RbnvDUYTqbt5AqL9oST03XV0xaU5dN6zbdM3yE9oqTvXAYhEM8XQGug41F znUhn2vLmtQDPW5GgGYQJILS+VXGGw5O77CaVpu/dwv2ZC8lA6dP7zLtpeXdaCW1SQzh Y+bj4mYPcnQRnE7AKCaRfxegqwEmKZq4vHgrGced8HBrzgYqjutih85POf4K1VT66B+O 2j2Xa+1CpYOdsi+8wNh4P81Qo5+d1zOim0VGr8KGLpJlaw7cJAivLpmVAycx+vxHlmsl 6B5Q== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQneZ5yJQII9Vbw/O/ol9IpFvi7wuBUmfREAFCWU9pyHR3pc/aaomG3TVgqh77vSKI0FTGpN X-Received: by 10.68.135.100 with SMTP id pr4mr27114724pbb.46.1402947040645; Mon, 16 Jun 2014 12:30:40 -0700 (PDT) Received: from [192.168.3.12] (66.29.187.52.static.utbb.net. [66.29.187.52]) by mx.google.com with ESMTPSA id pr4sm20170096pbb.53.2014.06.16.12.30.38 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Jun 2014 12:30:39 -0700 (PDT) Message-ID: <539F45E2.5030909@kernel.dk> Date: Mon, 16 Jun 2014 13:30:42 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140616071951.GD9508@dastard> Content-Type: multipart/mixed; boundary="------------070900050408020205000309" X-Barracuda-Connect: mail-pb0-f46.google.com[209.85.160.46] X-Barracuda-Start-Time: 1402947041 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6700 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e This is a multi-part message in MIME format. --------------070900050408020205000309 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 06/16/2014 01:19 AM, Dave Chinner wrote: > On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: >> On 2014-06-15 20:00, Dave Chinner wrote: >>> On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: >>>> On Fri, Jun 13, 2014 at 09:23:52AM -0700, Christoph Hellwig wrote: >>>>> On Fri, Jun 13, 2014 at 09:44:41AM +1000, Dave Chinner wrote: >>>>>> On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: >>>>>>> There doesn't really seem anything XFS specific here, so instead >>>>>>> of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c >>>>>>> based on the workqueue and ->fsync. >>>>>> >>>>>> I really don't know whether the other ->fsync methods in other >>>>>> filesystems can stand alone like that. I also don't have the >>>>>> time to test that it works properly on all filesystems right now. >>>>> >>>>> Of course they can, as shown by various calls to vfs_fsync_range that >>>>> is nothing but a small wrapper around ->fsync. >>>> >>>> Sure, but that's not getting 10,000 concurrent callers, is it? And >>>> some fsync methods require journal credits, and others serialise >>>> completely, and so on. >>>> >>>> Besides, putting an *unbound, highly concurrent* aio queue into the >>>> kernel for an operation that can serialise the entire filesystem >>>> seems like a pretty nasty user-level DOS vector to me. >>> >>> FWIW, the non-linear system CPU overhead of a fs_mark test I've been >>> running isn't anything related to XFS. The async fsync workqueue >>> results in several thousand worker threads dispatching IO >>> concurrently across 16 CPUs: >>> >>> $ ps -ef |grep kworker |wc -l >>> 4693 >>> $ >>> >>> Profiles from 3.15 + xfs for-next + xfs aio_fsync show: >>> >>> - 51.33% [kernel] [k] percpu_ida_alloc >>> - percpu_ida_alloc >>> + 85.73% blk_mq_wait_for_tags >>> + 14.23% blk_mq_get_tag >>> - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore >>> - _raw_spin_unlock_irqrestore >>> - 66.26% virtio_queue_rq >>> - __blk_mq_run_hw_queue >>> - 99.65% blk_mq_run_hw_queue >>> + 99.47% blk_mq_insert_requests >>> + 0.53% blk_mq_insert_request >>> ..... >>> - 7.91% [kernel] [k] _raw_spin_unlock_irq >>> - _raw_spin_unlock_irq >>> - 69.59% __schedule >>> - 86.49% schedule >>> + 47.72% percpu_ida_alloc >>> + 21.75% worker_thread >>> + 19.12% schedule_timeout >>> .... >>> + 18.06% blk_mq_make_request >>> >>> Runtime: >>> >>> real 4m1.243s >>> user 0m47.724s >>> sys 11m56.724s >>> >>> Most of the excessive CPU usage is coming from the blk-mq layer, and >>> XFS is barely showing up in the profiles at all - the IDA tag >>> allocator is burning 8 CPUs at about 60,000 write IOPS.... >>> >>> I know that the tag allocator has been rewritten, so I tested >>> against a current a current Linus kernel with the XFS aio-fsync >>> patch. The results are all over the place - from several sequential >>> runs of the same test (removing the files in between so each tests >>> starts from an empty fs): >>> >>> Wall time sys time IOPS files/s >>> 4m58.151s 11m12.648s 30,000 13,500 >>> 4m35.075s 12m45.900s 45,000 15,000 >>> 3m10.665s 11m15.804s 65,000 21,000 >>> 3m27.384s 11m54.723s 85,000 20,000 >>> 3m59.574s 11m12.012s 50,000 16,500 >>> 4m12.704s 12m15.720s 50,000 17,000 >>> >>> The 3.15 based kernel was pretty consistent around the 4m10 mark, >>> generally only +/-10s in runtime and not much change in system time. >>> The files/s rate reported by fs_mark doesn't vary that much, either. >>> So the new tag allocator seems to be no better in terms of IO >>> dispatch scalability, yet adds significant variability to IO >>> performance. >>> >>> What I noticed is a massive jump in context switch overhead: from >>> around 250,000/s to over 800,000/s and the CPU profiles show that >>> this comes from the new tag allocator: >>> >>> - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore >>> - _raw_spin_unlock_irqrestore >>> - 58.22% prepare_to_wait >>> 100.00% bt_get >>> blk_mq_get_tag >>> __blk_mq_alloc_request >>> blk_mq_map_request >>> blk_sq_make_request >>> generic_make_request >>> - 22.51% virtio_queue_rq >>> __blk_mq_run_hw_queue >>> .... >>> - 21.56% [kernel] [k] _raw_spin_unlock_irq >>> - _raw_spin_unlock_irq >>> - 58.73% __schedule >>> - 53.42% io_schedule >>> 99.88% bt_get >>> blk_mq_get_tag >>> __blk_mq_alloc_request >>> blk_mq_map_request >>> blk_sq_make_request >>> generic_make_request >>> - 35.58% schedule >>> + 49.31% worker_thread >>> + 32.45% schedule_timeout >>> + 10.35% _xfs_log_force_lsn >>> + 3.10% xlog_cil_force_lsn >>> .... >>> >>> The new block-mq tag allocator is hammering the waitqueues and >>> that's generating a large amount of lock contention. It looks like >>> the new allocator replaces CPU burn doing work in the IDA allocator >>> with the same amount of CPU burn from extra context switch >>> overhead.... >>> >>> Oh, OH. Now I understand! >>> >>> # echo 4 > /sys/block/vdc/queue/nr_requests >>> >>> >>> >>> 80.56% [kernel] [k] _raw_spin_unlock_irqrestore >>> - _raw_spin_unlock_irqrestore >>> - 98.49% prepare_to_wait >>> bt_get >>> blk_mq_get_tag >>> __blk_mq_alloc_request >>> blk_mq_map_request >>> blk_sq_make_request >>> generic_make_request >>> + submit_bio >>> + 1.07% finish_wait >>> + 13.63% [kernel] [k] _raw_spin_unlock_irq >>> ... >>> >>> It's context switch bound at 800,000 context switches/s, burning all >>> 16 CPUs waking up and going to sleep and doing very little real >>> work. How little real work? About 3000 IOPS for 2MB/s of IO. That >>> amount of IO should only take a single digit CPU percentage of one >>> CPU. >> >> With thousands of threads? I think not. Sanely submitted 3000 IOPS, >> correct, I would agree with you. >> >>> This seems like bad behaviour to have on a congested block device, >>> even a high performance one.... >> >> That is pretty much the suck. How do I reproduce this (eg what are >> you running, and what are the xfs aio fsync patches)? Even if > > http://oss.sgi.com/pipermail/xfs/2014-June/036773.html > >> dispatching thousands of threads to do IO is a bad idea (it very >> much is), gracefully handling is a must. I haven't seen any bad >> behavior from the new allocator, it seems to be well behaved (for >> most normal cases, anyway). I'd like to take a stab at ensuring this >> works, too. >> >> If you tell me exactly what you are running, I'll reproduce and get >> this fixed up tomorrow. > > Test case - take fs_mark: > > git://oss.sgi.com/dgc/fs_mark > > Apply the patch for aio fsync support: > > http://oss.sgi.com/pipermail/xfs/2014-June/036774.html > > Run this test: > > $ time ./fs_mark -D 10000 -S5 -n 50000 -s 4096 -L 5 -A \ > -d /mnt/scratch/0 -d /mnt/scratch/1 -d /mnt/scratch/2 \ > -d /mnt/scratch/3 -d /mnt/scratch/4 -d /mnt/scratch/5 \ > -d /mnt/scratch/6 -d /mnt/scratch/7 -d /mnt/scratch/8 \ > -d /mnt/scratch/9 -d /mnt/scratch/10 -d /mnt/scratch/11 \ > -d /mnt/scratch/12 -d /mnt/scratch/13 -d /mnt/scratch/14 \ > -d /mnt/scratch/15 > > Drop the "-A" if you want to use normal fsync (but then you won't > see the problem). > > Use a XFS filesystem that has at least 32 AGs (I'm using > a sparse 500TB fs image on a virtio device). I'm also using mkfs > options of "-m crc=1,finobt=1", but to use that last one you'll need > a mkfs built from the xfsprogs git tree. It shouldn't make any > difference to the result, though. I'm running on a VM with 16 CPUs > and 16GB RAM, using fakenuma=4. Can you try with this patch? -- Jens Axboe --------------070900050408020205000309 Content-Type: text/x-patch; name="tag-batch-wakeup.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="tag-batch-wakeup.patch" diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 1aab39f..4f90f91 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -242,7 +242,7 @@ static int bt_get(struct blk_mq_alloc_data *data, bool was_empty; was_empty = list_empty(&wait.task_list); - prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); + prepare_to_wait_exclusive(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); tag = __bt_get(hctx, bt, last_tag); if (tag != -1) @@ -345,7 +345,7 @@ static void bt_clear_tag(struct blk_mq_bitmap_tags *bt, unsigned int tag) if (bs && atomic_dec_and_test(&bs->wait_cnt)) { atomic_set(&bs->wait_cnt, bt->wake_cnt); bt_index_inc(&bt->wake_index); - wake_up(&bs->wait); + wake_up_nr(&bs->wait, bt->wake_cnt); } } --------------070900050408020205000309-- From mtk.manpages@gmail.com Mon Jun 16 16:07:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C974B29DF8 for ; Mon, 16 Jun 2014 16:07:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id BC3808F8033 for ; Mon, 16 Jun 2014 14:07:04 -0700 (PDT) X-ASG-Debug-ID: 1402952822-04cbb00a041289c0001-NocioJ Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by cuda.sgi.com with ESMTP id hFU5C9B1VknZoOSK (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 16 Jun 2014 14:07:03 -0700 (PDT) X-Barracuda-Envelope-From: mtk.manpages@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.171 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.171] Received: by mail-wi0-f171.google.com with SMTP id n15so4783839wiw.4 for ; Mon, 16 Jun 2014 14:07:02 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.171] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.171] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=daUqr+vEMP+lngwImOLfLjkdCG51DSRTpikX5cmDnN8=; b=d8I5J4fTWz7sUmT47eqeb560GIhfOguRAbuG0srP9xjAI/9OujtUDlwp+FS5uIW8Tm Cj/Fo6FsFU0aiOyUGBoQiPbqIveJ+pOHX6okn3KaCfDSdGX7pXDT2g+U5EtmlUUAG2KJ C0JeGrwN0d4BYZm3zR6xCPC2MDzfhfafQgTAwrVPVARfAFVFKS2NcACwkj+zliXEXcNb KXZxiwN6iuRqkrIfwP4qNhDwKjbb/gh0Fg4JSvX9vA63Fa3EV9CIPtK41aSl+vjEMf16 gNwiPOLtu7DejRxKBfJklNw3Cg4XsDxJ+doSp6ldgVecn71OctWnuhHNhcbGPkarNA/K 59iQ== X-Received: by 10.180.198.178 with SMTP id jd18mr30801131wic.24.1402952822222; Mon, 16 Jun 2014 14:07:02 -0700 (PDT) Received: from [192.168.235.137] (mail.jambit.com. [95.157.63.22]) by mx.google.com with ESMTPSA id q4sm9820949eeg.9.2014.06.16.14.07.00 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 16 Jun 2014 14:07:01 -0700 (PDT) Message-ID: <539F5C6F.4060402@gmail.com> Date: Mon, 16 Jun 2014 23:06:55 +0200 From: "Michael Kerrisk (man-pages)" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Christoph Hellwig , Dave Chinner CC: mtk.manpages@gmail.com, xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140613162352.GB23394@infradead.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-wi0-f171.google.com[209.85.212.171] X-Barracuda-Start-Time: 1402952823 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6703 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hi Christoph, On 06/13/2014 06:23 PM, Christoph Hellwig wrote: > Talking about documentation: The kernel aio manpages (io_*.2) seems > to not really be very useful, mostly because they don't explain how > to set up the iocbs. Michael, any idea how to get started to improve > this? Well, it just needs someone knowledgeable to fill the gaps, and perhaps add an example program. I don't have that knowledge offhand myself... Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/ From david@fromorbit.com Mon Jun 16 17:29:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 3FE3329DF8 for ; Mon, 16 Jun 2014 17:29:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B627DAC008 for ; Mon, 16 Jun 2014 15:29:13 -0700 (PDT) X-ASG-Debug-ID: 1402957746-04cbb00a0312aed0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id zkbizno4oIIIDBnV for ; Mon, 16 Jun 2014 15:29:07 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8GAHASn1N5LC2v/2dsb2JhbABagw2rGwEBAQEBAQaZJAGBEBd1hAMBAQUyASMjEAgDGAklDwUlAyETiEHPMBcWhU2JEweDLYEWBJpCizGIKINSKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 17 Jun 2014 07:57:59 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WwfNB-0001n2-51; Tue, 17 Jun 2014 08:27:29 +1000 Date: Tue, 17 Jun 2014 08:27:29 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140616222729.GE9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <539F45E2.5030909@kernel.dk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1402957746 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6704 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: > On 06/16/2014 01:19 AM, Dave Chinner wrote: > > On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > >> On 2014-06-15 20:00, Dave Chinner wrote: > >>> On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > >>> FWIW, the non-linear system CPU overhead of a fs_mark test I've been > >>> running isn't anything related to XFS. The async fsync workqueue > >>> results in several thousand worker threads dispatching IO > >>> concurrently across 16 CPUs: > >>> > >>> $ ps -ef |grep kworker |wc -l > >>> 4693 > >>> $ > >>> > >>> Profiles from 3.15 + xfs for-next + xfs aio_fsync show: > >>> > >>> - 51.33% [kernel] [k] percpu_ida_alloc > >>> - percpu_ida_alloc > >>> + 85.73% blk_mq_wait_for_tags > >>> + 14.23% blk_mq_get_tag > >>> - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore > >>> - _raw_spin_unlock_irqrestore > >>> - 66.26% virtio_queue_rq > >>> - __blk_mq_run_hw_queue > >>> - 99.65% blk_mq_run_hw_queue > >>> + 99.47% blk_mq_insert_requests > >>> + 0.53% blk_mq_insert_request > >>> ..... > >>> - 7.91% [kernel] [k] _raw_spin_unlock_irq > >>> - _raw_spin_unlock_irq > >>> - 69.59% __schedule > >>> - 86.49% schedule > >>> + 47.72% percpu_ida_alloc > >>> + 21.75% worker_thread > >>> + 19.12% schedule_timeout > >>> .... > >>> + 18.06% blk_mq_make_request > >>> > >>> Runtime: > >>> > >>> real 4m1.243s > >>> user 0m47.724s > >>> sys 11m56.724s > >>> > >>> Most of the excessive CPU usage is coming from the blk-mq layer, and > >>> XFS is barely showing up in the profiles at all - the IDA tag > >>> allocator is burning 8 CPUs at about 60,000 write IOPS.... > >>> > >>> I know that the tag allocator has been rewritten, so I tested > >>> against a current a current Linus kernel with the XFS aio-fsync > >>> patch. The results are all over the place - from several sequential > >>> runs of the same test (removing the files in between so each tests > >>> starts from an empty fs): > >>> > >>> Wall time sys time IOPS files/s > >>> 4m58.151s 11m12.648s 30,000 13,500 > >>> 4m35.075s 12m45.900s 45,000 15,000 > >>> 3m10.665s 11m15.804s 65,000 21,000 > >>> 3m27.384s 11m54.723s 85,000 20,000 > >>> 3m59.574s 11m12.012s 50,000 16,500 > >>> 4m12.704s 12m15.720s 50,000 17,000 > >>> > >>> The 3.15 based kernel was pretty consistent around the 4m10 mark, > >>> generally only +/-10s in runtime and not much change in system time. > >>> The files/s rate reported by fs_mark doesn't vary that much, either. > >>> So the new tag allocator seems to be no better in terms of IO > >>> dispatch scalability, yet adds significant variability to IO > >>> performance. > >>> > >>> What I noticed is a massive jump in context switch overhead: from > >>> around 250,000/s to over 800,000/s and the CPU profiles show that > >>> this comes from the new tag allocator: > >>> > >>> - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore > >>> - _raw_spin_unlock_irqrestore > >>> - 58.22% prepare_to_wait > >>> 100.00% bt_get > >>> blk_mq_get_tag > >>> __blk_mq_alloc_request > >>> blk_mq_map_request > >>> blk_sq_make_request > >>> generic_make_request > >>> - 22.51% virtio_queue_rq > >>> __blk_mq_run_hw_queue > >>> .... > >>> - 21.56% [kernel] [k] _raw_spin_unlock_irq > >>> - _raw_spin_unlock_irq > >>> - 58.73% __schedule > >>> - 53.42% io_schedule > >>> 99.88% bt_get > >>> blk_mq_get_tag > >>> __blk_mq_alloc_request > >>> blk_mq_map_request > >>> blk_sq_make_request > >>> generic_make_request > >>> - 35.58% schedule > >>> + 49.31% worker_thread > >>> + 32.45% schedule_timeout > >>> + 10.35% _xfs_log_force_lsn > >>> + 3.10% xlog_cil_force_lsn > >>> .... ..... > Can you try with this patch? Ok, context switches are back down in the realm of 400,000/s. It's better, but it's still a bit higher than that the 3.15 code. XFS is actually showing up in the context switch path profiles now... However, performance is still excitingly variable and not much different to not having this patch applied. System time is unchanged (still around the 11m20s +/- 1m) and IOPS, wall time and files/s all show significant variance (at least +/-25%) from run to run. The worst case is not as slow as the unpatched kernel, but it's no better than the 3.15 worst case. Profiles on a slow run look like: - 43.43% [kernel] [k] _raw_spin_unlock_irq - _raw_spin_unlock_irq - 64.23% blk_sq_make_request generic_make_request submit_bio ¿ + 26.79% __schedule ... - 15.00% [kernel] [k] _raw_spin_unlock_irqrestore - _raw_spin_unlock_irqrestore - 39.81% virtio_queue_rq __blk_mq_run_hw_queue + 24.13% complete + 17.74% prepare_to_wait_exclusive + 9.66% remove_wait_queue Looks like the main contention problem is in blk_sq_make_request(). Also, there looks to be quite a bit of lock contention on the tag wait queues given that this patch made prepare_to_wait_exclusive() suddenly show up in the profiles. FWIW, on a fast run there is very little time in blk_sq_make_request() lock contention, and overall spin lock/unlock overhead of these two functions is around 10% each.... So, yes, the patch reduces context switches but doesn't really reduce system time, improve performance noticably or address the run-to-run variability issue... Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Mon Jun 16 18:14:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 04FB47F3F for ; Mon, 16 Jun 2014 18:14:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id EC8D88F8033 for ; Mon, 16 Jun 2014 16:14:25 -0700 (PDT) X-ASG-Debug-ID: 1402960464-04cbb00a0112be30001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id z6m3UqXEP8bV7Jxw for ; Mon, 16 Jun 2014 16:14:24 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: by sandeen.net (Postfix, from userid 500) id F18CF63D7D56; Mon, 16 Jun 2014 18:14:23 -0500 (CDT) From: Eric Sandeen To: xfs@oss.sgi.com Subject: [PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse() Date: Mon, 16 Jun 2014 18:14:20 -0500 X-ASG-Orig-Subj: [PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse() Message-Id: <1402960461-27881-2-git-send-email-sandeen@redhat.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1402960461-27881-1-git-send-email-sandeen@redhat.com> References: <1402960461-27881-1-git-send-email-sandeen@redhat.com> X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402960464 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6706 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- In this case, if bp is null, error is set, and we send bp to xfs_trans_brelse, which will try to dereference it. Test whether we actualy have a buffer before we try to free it. Same fix as was sent for kernelspace. Coverity spotted this. Signed-off-by: Eric Sandeen --- libxfs/xfs_da_btree.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c index b70454e..b731b54 100644 --- a/libxfs/xfs_da_btree.c +++ b/libxfs/xfs_da_btree.c @@ -2582,7 +2582,8 @@ xfs_da_get_buf( mapp, nmap, 0); error = bp ? bp->b_error : XFS_ERROR(EIO); if (error) { - xfs_trans_brelse(trans, bp); + if (bp) + xfs_trans_brelse(trans, bp); goto out_free; } -- 1.7.1 From sandeen@sandeen.net Mon Jun 16 18:14:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 90C2D7F3F for ; Mon, 16 Jun 2014 18:14:29 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 4558BAC006 for ; Mon, 16 Jun 2014 16:14:29 -0700 (PDT) X-ASG-Debug-ID: 1402960464-04bdf0566829ff90001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id dkjXdGeY4GhwITzs for ; Mon, 16 Jun 2014 16:14:24 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: by sandeen.net (Postfix, from userid 500) id E4FD3617BB24; Mon, 16 Jun 2014 18:14:23 -0500 (CDT) From: Eric Sandeen To: xfs@oss.sgi.com Subject: [PATCH 0/2] libxfs: two kernelspace sync-ups Date: Mon, 16 Jun 2014 18:14:19 -0500 X-ASG-Orig-Subj: [PATCH 0/2] libxfs: two kernelspace sync-ups Message-Id: <1402960461-27881-1-git-send-email-sandeen@redhat.com> X-Mailer: git-send-email 1.7.1 X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402960464 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6706 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- These are 2 patches for xfsprogs which have already been sent for kernelspace, but since they are both more or less bugfixes I'll send them explicitly for xfsprogs, and not wait for the next libxfs sync-up. Thanks, -Eric From sandeen@sandeen.net Mon Jun 16 18:14:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 95C847F47 for ; Mon, 16 Jun 2014 18:14:29 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2CBB0AC005 for ; Mon, 16 Jun 2014 16:14:25 -0700 (PDT) X-ASG-Debug-ID: 1402960464-04cbb00a0412be40001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id NOt8qCcyw6Eb8u8n for ; Mon, 16 Jun 2014 16:14:24 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: by sandeen.net (Postfix, from userid 500) id 005D8651AC24; Mon, 16 Jun 2014 18:14:23 -0500 (CDT) From: Eric Sandeen To: xfs@oss.sgi.com Subject: [PATCH 2/2] libxfs: fix crc field handling in xfs_sb_to/from_disk Date: Mon, 16 Jun 2014 18:14:21 -0500 X-ASG-Orig-Subj: [PATCH 2/2] libxfs: fix crc field handling in xfs_sb_to/from_disk Message-Id: <1402960461-27881-3-git-send-email-sandeen@redhat.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1402960461-27881-1-git-send-email-sandeen@redhat.com> References: <1402960461-27881-1-git-send-email-sandeen@redhat.com> X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1402960464 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6706 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- If we xfs_mdrestore an image from a non-crc filesystem, lo and behold the restored image has gained a CRC: # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 crc = 0 (correct) # xfs_db -c "sb 0" -c "p crc" test.img crc = 0xb6f8d6a0 (correct) This is because xfs_sb_from_disk doesn't fill in sb_crc, but xfs_sb_to_disk(XFS_SB_ALL_BITS) does write the in-memory CRC to disk - so we get uninitialized memory on disk. Fix this by always initializing sb_crc to 0 when we read the superblock, and masking out the CRC bit from ALL_BITS when we write it. This same fix has already been sent for kernelspace. Signed-off-by: Eric Sandeen --- libxfs/xfs_sb.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c index 7ee4612..ea89367 100644 --- a/libxfs/xfs_sb.c +++ b/libxfs/xfs_sb.c @@ -408,6 +408,8 @@ xfs_sb_from_disk( to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat); to->sb_features_log_incompat = be32_to_cpu(from->sb_features_log_incompat); + /* crc is only used on disk, not in memory; just init to 0 here. */ + to->sb_crc = 0; to->sb_pad = 0; to->sb_pquotino = be64_to_cpu(from->sb_pquotino); to->sb_lsn = be64_to_cpu(from->sb_lsn); @@ -485,6 +487,9 @@ xfs_sb_to_disk( if (!fields) return; + /* We should never write the crc here, it's updated in the IO path */ + fields &= ~XFS_SB_CRC; + xfs_sb_quota_to_disk(to, from, &fields); while (fields) { f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields); -- 1.7.1 From ms@citd.de Tue Jun 17 03:27:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 871EB7F3F for ; Tue, 17 Jun 2014 03:27:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6961C8F804C for ; Tue, 17 Jun 2014 01:26:58 -0700 (PDT) X-ASG-Debug-ID: 1402993615-04cb6c78c6298f40001-NocioJ Received: from awesome.dsw2k3.info ([217.188.63.246]) by cuda.sgi.com with ESMTP id SlBu1Q13UtUa7fkH (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 01:26:56 -0700 (PDT) X-Barracuda-Envelope-From: ms@citd.de X-Barracuda-Apparent-Source-IP: 217.188.63.246 Received: from localhost (localhost.localdomain [127.0.0.1]) by awesome.dsw2k3.info (Postfix) with ESMTP id A9F68BFB74 for ; Tue, 17 Jun 2014 10:24:20 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at awesome.dsw2k3.info Received: from awesome.dsw2k3.info ([127.0.0.1]) by localhost (awesome.dsw2k3.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xsLUUHag-Yfd for ; Tue, 17 Jun 2014 10:24:19 +0200 (CEST) Received: from citd.de (p57A6788B.dip0.t-ipconnect.de [87.166.120.139]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by awesome.dsw2k3.info (Postfix) with ESMTPSA for ; Tue, 17 Jun 2014 10:24:19 +0200 (CEST) Date: Tue, 17 Jun 2014 10:26:51 +0200 From: Matthias Schniedermeyer To: xfs@oss.sgi.com Subject: V5 format and man mkfs.xfs Message-ID: <20140617082651.GA27971@citd.de> X-ASG-Orig-Subj: V5 format and man mkfs.xfs MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Barracuda-Connect: UNKNOWN[217.188.63.246] X-Barracuda-Start-Time: 1402993616 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.60 X-Barracuda-Spam-Status: No, SCORE=0.60 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_MJ1963, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6716 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 Hi How seriously meant is "V5 isn't experimental anymore"? I ask because the man-page only mentions the syntax to enable it by accident. A.k.a. the backport of ftype to V4. (man-page of xfsprogs 3.2.0 in Debian-SID) And you still have to know that crc means V5. -- Matthias From m.mizuma@jp.fujitsu.com Tue Jun 17 03:51:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E7ED27F3F for ; Tue, 17 Jun 2014 03:51:45 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id D63AF304059 for ; Tue, 17 Jun 2014 01:51:42 -0700 (PDT) X-ASG-Debug-ID: 1402995099-04cb6c78c6299ac0001-NocioJ Received: from fgwmail2.fujitsu.co.jp (fgwmail2.fujitsu.co.jp [164.71.1.135]) by cuda.sgi.com with ESMTP id 8TVwVLEz1wobUhpX (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 01:51:41 -0700 (PDT) X-Barracuda-Envelope-From: m.mizuma@jp.fujitsu.com X-Barracuda-Apparent-Source-IP: 164.71.1.135 Received: from kw-mxauth.gw.nic.fujitsu.com (unknown [10.0.237.134]) by fgwmail2.fujitsu.co.jp (Postfix) with ESMTP id 53F653EE0C7 for ; Tue, 17 Jun 2014 17:51:39 +0900 (JST) Received: from s4.gw.fujitsu.co.jp (s4.gw.nic.fujitsu.com [10.0.50.94]) by kw-mxauth.gw.nic.fujitsu.com (Postfix) with ESMTP id 6B800AC02CD for ; Tue, 17 Jun 2014 17:51:38 +0900 (JST) Received: from g01jpfmpwyt02.exch.g01.fujitsu.local (g01jpfmpwyt02.exch.g01.fujitsu.local [10.128.193.56]) by s4.gw.fujitsu.co.jp (Postfix) with ESMTP id 128851DB8037 for ; Tue, 17 Jun 2014 17:51:38 +0900 (JST) Received: from G01JPEXCHYT16.g01.fujitsu.local (G01JPEXCHYT16.g01.fujitsu.local [10.128.194.55]) by g01jpfmpwyt02.exch.g01.fujitsu.local (Postfix) with ESMTP id 6E14B5842C1; Tue, 17 Jun 2014 17:50:04 +0900 (JST) Received: from [10.124.101.151] (10.124.101.151) by G01JPEXCHYT16.g01.fujitsu.local (10.128.194.55) with Microsoft SMTP Server (TLS) id 14.3.181.6; Tue, 17 Jun 2014 17:50:04 +0900 Message-ID: <53A0013A.1010100@jp.fujitsu.com> Date: Tue, 17 Jun 2014 17:50:02 +0900 From: Masayoshi Mizuma User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Dave Chinner CC: , Subject: xfs: two deadlock problems occur when kswapd writebacks XFS pages. Content-Type: text/plain; charset="ISO-2022-JP" X-ASG-Orig-Subj: xfs: two deadlock problems occur when kswapd writebacks XFS pages. Content-Transfer-Encoding: 7bit X-Originating-IP: [10.124.101.151] X-SecurityPolicyCheck-GC: OK by FENCE-Mail X-Barracuda-Connect: fgwmail2.fujitsu.co.jp[164.71.1.135] X-Barracuda-Start-Time: 1402995100 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: -0.00 X-Barracuda-Spam-Status: No, SCORE=-0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=ISO2022JP_CHARSET X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6717 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 ISO2022JP_CHARSET ISO-2022-JP message I found two deadlock problems occur when kswapd writebacks XFS pages. I detected these problems on RHEL kernel actually, and I suppose these also happen on upstream kernel (3.16-rc1). 1. A process (processA) has acquired read semaphore "xfs_cil.xc_ctx_lock" at xfs_log_commit_cil() and it is waiting for the kswapd. Then, a kworker has issued xlog_cil_push_work() and it is waiting for acquiring the write semaphore. kswapd is waiting for acquiring the read semaphore at xfs_log_commit_cil() because the kworker has been waiting before for acquiring the write semaphore at xlog_cil_push(). Therefore, a deadlock happens. The deadlock flow is as follows. processA | kworker | kswapd ----------------------+--------------------------+---------------------- | xfs_trans_commit | | | xfs_log_commit_cil | | | down_read(xc_ctx_lock)| | | xlog_cil_insert_items | | | xlog_cil_insert_format_items | | kmem_alloc | | | : | | | shrink_inactive_list | | | congestion_wait | | | # waiting for kswapd..| | | | xlog_cil_push_work | | | xlog_cil_push | | | xfs_trans_commit | | | down_write(xc_ctx_lock) | | | # waiting for processA...| | | | shrink_page_list | | | xfs_vm_writepage | | | xfs_map_blocks | | | xfs_iomap_write_allocate | | | xfs_trans_commit | | | xfs_log_commit_cil | | | down_read(xc_ctx_lock) V(time) | | # waiting for kworker... ----------------------+--------------------------+----------------------- To fix this, should we up the read semaphore before calling kmem_alloc() at xlog_cil_insert_format_items() to avoid blocking the kworker? Or, should we the second argument of kmem_alloc() from KM_SLEEP|KM_NOFS to KM_NOSLEEP to avoid waiting for the kswapd. Or... 2. A kworker (kworkerA), whish is a writeback thread, is waiting for the XFS allocation thread (kworkerB) while it writebacks XFS pages. kworkerB has started the allocation and it is waiting for kswapd to allocate free pages. kswapd has started writeback XFS pages and it is waiting for more log space. The reason why exhaustion of the log space is both the writeback thread and kswapd are stuck, so some processes, who have allocated the log space and are requesting free pages, are also stuck. The deadlock flow is as follows. kworkerA | kworkerB | kswapd ----------------------+--------------------------+----------------------- | wb_writeback | | | : | | | xfs_vm_writepage | | | xfs_map_blocks | | | xfs_iomap_write_allocate | | xfs_bmapi_write | | | xfs_bmapi_allocate | | | wait_for_completion | | | # waiting for kworkerB... | | | xfs_bmapi_allocate_worker| | | : | | | xfs_buf_get_map | | | xfs_buf_allocate_memory | | | alloc_pages_current | | | : | | | shrink_inactive_list | | | congestion_wait | | | # waiting for kswapd... | | | | shrink_page_list | | | xfs_vm_writepage | | | : | | | xfs_log_reserve | | | : | | | xlog_grant_head_check | | | xlog_grant_head_wait | | | # waiting for more | | | # space... V(time) | | ----------------------+--------------------------+----------------------- I don't have any ideas to fix this... Thanks, Masayoshi Mizuma From david@fromorbit.com Tue Jun 17 07:37:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D84CF7F3F for ; Tue, 17 Jun 2014 07:37:50 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C9B2A8F8059 for ; Tue, 17 Jun 2014 05:37:47 -0700 (PDT) X-ASG-Debug-ID: 1403008661-04cbb00a0114b0b0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id sPyQWh0aSld1WHWy for ; Tue, 17 Jun 2014 05:37:42 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuZNAPU1oFN5LC2vPGdsb2JhbABagw2DR4UIolsBAQEBAQEGmSYBgQsXBAEBAQE4NYQDAQEEATocIwULCAMOCgklDwUlAwcaE4g6B8wGFxaFTYkTB4RDBJpClysr Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 17 Jun 2014 22:07:40 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wwsdu-0003bf-R2; Tue, 17 Jun 2014 22:37:38 +1000 Date: Tue, 17 Jun 2014 22:37:38 +1000 From: Dave Chinner To: Matthias Schniedermeyer Cc: xfs@oss.sgi.com Subject: Re: V5 format and man mkfs.xfs Message-ID: <20140617123738.GH9508@dastard> X-ASG-Orig-Subj: Re: V5 format and man mkfs.xfs References: <20140617082651.GA27971@citd.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617082651.GA27971@citd.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403008661 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6720 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 17, 2014 at 10:26:51AM +0200, Matthias Schniedermeyer wrote: > Hi > > How seriously meant is "V5 isn't experimental anymore"? "Fully supported" isn't a clear enough statement? > I ask because the man-page only mentions the syntax to enable it by > accident. A.k.a. the backport of ftype to V4. > (man-page of xfsprogs 3.2.0 in Debian-SID) That's intentional. V5 superblocks are an implementation detail that most users don't even need to know about. They care about the name of the features they are enabling at mkfs time, not the details of the on-disk implementation of those features. > And you still have to know that crc means V5. Why do you care about the format mkfs.xfs chooses for you - it's based on the features you requested. V5 isn't magically faster than V4 - there are many cases where it is slower due to CRC overhead or the overhead of the larger inode it requires. So unless you request a feature that requires it at mkfs time, you don't get that format. In a year or so we'll change the mkfs default so that CRCs are enabled by default, but we can't do that until all the distro's have had time to pick up a kernel that fully supports the CRC feature.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From axboe@kernel.dk Tue Jun 17 08:24:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B646E7F58 for ; Tue, 17 Jun 2014 08:24:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 40CBAAC005 for ; Tue, 17 Jun 2014 06:24:03 -0700 (PDT) X-ASG-Debug-ID: 1403011441-04cbb00a0414d0f0001-NocioJ Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com [209.85.220.43]) by cuda.sgi.com with ESMTP id 4VYU5B6bNzzP1p2x (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 17 Jun 2014 06:24:02 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.43 Received: by mail-pa0-f43.google.com with SMTP id lf10so5714552pab.30 for ; Tue, 17 Jun 2014 06:24:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=PB7dKJsuNFy7/beOX5Thro2u4JTQ3rl1NxMpiLrEuiM=; b=k0nN/1oCjUGZrge/WXtb1tHhiK544zFzT86WYNj8MYbbBAg4ZiTy+3XbSL1iuVArhG sTh0bwCQBly+PNKdkCvUVWszv4CbZH+4CTkjcshKTfk8Padw58G2eNAGfGkZpCYFvIox TLjzD0W9mj7QR7rQghC7df1AGvNW+uWHYfyoAEj9jdcn02aBuwdFkThY6ay32XGelG1F 4j/mfpLoZzAOc/yhuOl9rs3RYRnKlVPdxybxhv9nRm1Rvj/p+i8uCAhzkALcVFWGEyWB UzDVFQn7xHUZs7JtBvU3CwR1uhgzREWh9pgwr5ozOuGbc0U9+uX2QM4/IJA+/0BZz39c gpTg== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQmDV30uqfo7hUGQCKtr7fh8GNQ83obAmGf+KNWm16C76LW4OHxeZkqwa6/DpF0TEuHQknJq X-Received: by 10.66.253.170 with SMTP id ab10mr32913765pad.53.1403011441625; Tue, 17 Jun 2014 06:24:01 -0700 (PDT) Received: from [192.168.10.172] (ip-64-134-232-146.public.wayport.net. [64.134.232.146]) by mx.google.com with ESMTPSA id x5sm24099025pbw.26.2014.06.17.06.23.58 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 17 Jun 2014 06:24:00 -0700 (PDT) Message-ID: <53A0416E.20105@kernel.dk> Date: Tue, 17 Jun 2014 07:23:58 -0600 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140616222729.GE9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Barracuda-Connect: mail-pa0-f43.google.com[209.85.220.43] X-Barracuda-Start-Time: 1403011442 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6721 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On 2014-06-16 16:27, Dave Chinner wrote: > On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: >> On 06/16/2014 01:19 AM, Dave Chinner wrote: >>> On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: >>>> On 2014-06-15 20:00, Dave Chinner wrote: >>>>> On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: >>>>> FWIW, the non-linear system CPU overhead of a fs_mark test I've been >>>>> running isn't anything related to XFS. The async fsync workqueue >>>>> results in several thousand worker threads dispatching IO >>>>> concurrently across 16 CPUs: >>>>> >>>>> $ ps -ef |grep kworker |wc -l >>>>> 4693 >>>>> $ >>>>> >>>>> Profiles from 3.15 + xfs for-next + xfs aio_fsync show: >>>>> >>>>> - 51.33% [kernel] [k] percpu_ida_alloc >>>>> - percpu_ida_alloc >>>>> + 85.73% blk_mq_wait_for_tags >>>>> + 14.23% blk_mq_get_tag >>>>> - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore >>>>> - _raw_spin_unlock_irqrestore >>>>> - 66.26% virtio_queue_rq >>>>> - __blk_mq_run_hw_queue >>>>> - 99.65% blk_mq_run_hw_queue >>>>> + 99.47% blk_mq_insert_requests >>>>> + 0.53% blk_mq_insert_request >>>>> ..... >>>>> - 7.91% [kernel] [k] _raw_spin_unlock_irq >>>>> - _raw_spin_unlock_irq >>>>> - 69.59% __schedule >>>>> - 86.49% schedule >>>>> + 47.72% percpu_ida_alloc >>>>> + 21.75% worker_thread >>>>> + 19.12% schedule_timeout >>>>> .... >>>>> + 18.06% blk_mq_make_request >>>>> >>>>> Runtime: >>>>> >>>>> real 4m1.243s >>>>> user 0m47.724s >>>>> sys 11m56.724s >>>>> >>>>> Most of the excessive CPU usage is coming from the blk-mq layer, and >>>>> XFS is barely showing up in the profiles at all - the IDA tag >>>>> allocator is burning 8 CPUs at about 60,000 write IOPS.... >>>>> >>>>> I know that the tag allocator has been rewritten, so I tested >>>>> against a current a current Linus kernel with the XFS aio-fsync >>>>> patch. The results are all over the place - from several sequential >>>>> runs of the same test (removing the files in between so each tests >>>>> starts from an empty fs): >>>>> >>>>> Wall time sys time IOPS files/s >>>>> 4m58.151s 11m12.648s 30,000 13,500 >>>>> 4m35.075s 12m45.900s 45,000 15,000 >>>>> 3m10.665s 11m15.804s 65,000 21,000 >>>>> 3m27.384s 11m54.723s 85,000 20,000 >>>>> 3m59.574s 11m12.012s 50,000 16,500 >>>>> 4m12.704s 12m15.720s 50,000 17,000 >>>>> >>>>> The 3.15 based kernel was pretty consistent around the 4m10 mark, >>>>> generally only +/-10s in runtime and not much change in system time. >>>>> The files/s rate reported by fs_mark doesn't vary that much, either. >>>>> So the new tag allocator seems to be no better in terms of IO >>>>> dispatch scalability, yet adds significant variability to IO >>>>> performance. >>>>> >>>>> What I noticed is a massive jump in context switch overhead: from >>>>> around 250,000/s to over 800,000/s and the CPU profiles show that >>>>> this comes from the new tag allocator: >>>>> >>>>> - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore >>>>> - _raw_spin_unlock_irqrestore >>>>> - 58.22% prepare_to_wait >>>>> 100.00% bt_get >>>>> blk_mq_get_tag >>>>> __blk_mq_alloc_request >>>>> blk_mq_map_request >>>>> blk_sq_make_request >>>>> generic_make_request >>>>> - 22.51% virtio_queue_rq >>>>> __blk_mq_run_hw_queue >>>>> .... >>>>> - 21.56% [kernel] [k] _raw_spin_unlock_irq >>>>> - _raw_spin_unlock_irq >>>>> - 58.73% __schedule >>>>> - 53.42% io_schedule >>>>> 99.88% bt_get >>>>> blk_mq_get_tag >>>>> __blk_mq_alloc_request >>>>> blk_mq_map_request >>>>> blk_sq_make_request >>>>> generic_make_request >>>>> - 35.58% schedule >>>>> + 49.31% worker_thread >>>>> + 32.45% schedule_timeout >>>>> + 10.35% _xfs_log_force_lsn >>>>> + 3.10% xlog_cil_force_lsn >>>>> .... > ..... >> Can you try with this patch? > > Ok, context switches are back down in the realm of 400,000/s. It's > better, but it's still a bit higher than that the 3.15 code. XFS is > actually showing up in the context switch path profiles now... > > However, performance is still excitingly variable and not much > different to not having this patch applied. System time is unchanged > (still around the 11m20s +/- 1m) and IOPS, wall time and files/s all > show significant variance (at least +/-25%) from run to run. The > worst case is not as slow as the unpatched kernel, but it's no > better than the 3.15 worst case. > > Profiles on a slow run look like: > > - 43.43% [kernel] [k] _raw_spin_unlock_irq > - _raw_spin_unlock_irq > - 64.23% blk_sq_make_request > generic_make_request > submit_bio ¿ > + 26.79% __schedule > ... > - 15.00% [kernel] [k] _raw_spin_unlock_irqrestore > - _raw_spin_unlock_irqrestore > - 39.81% virtio_queue_rq > __blk_mq_run_hw_queue > + 24.13% complete > + 17.74% prepare_to_wait_exclusive > + 9.66% remove_wait_queue > > Looks like the main contention problem is in blk_sq_make_request(). > Also, there looks to be quite a bit of lock contention on the tag > wait queues given that this patch made prepare_to_wait_exclusive() > suddenly show up in the profiles. > > FWIW, on a fast run there is very little time in > blk_sq_make_request() lock contention, and overall spin lock/unlock > overhead of these two functions is around 10% each.... > > So, yes, the patch reduces context switches but doesn't really > reduce system time, improve performance noticably or address the > run-to-run variability issue... OK, so one more thing to try. With the same patch still applied, could you edit block/blk-mq-tag.h and change BT_WAIT_QUEUES = 8, to BT_WAIT_QUEUES = 1, and see if that smoothes things out? On the road the next few days, so might take me a few days to get back to this. I was able to reproduce the horrible contention on the wait queue, but everything seemed to behave nicely with just the exclusive_wait/batch_wakeup for me. Looks like I might have to fire up kvm and set it you like you. -- Jens Axboe From david@fromorbit.com Tue Jun 17 08:26:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id AB40A7F58 for ; Tue, 17 Jun 2014 08:26:32 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A3F518F8040 for ; Tue, 17 Jun 2014 06:26:29 -0700 (PDT) X-ASG-Debug-ID: 1403011586-04cbb00a0214d290001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id rM8gZfbZQFRywv3a for ; Tue, 17 Jun 2014 06:26:26 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AulyALRBoFN5LC2vPGdsb2JhbABAGoMNUoJ1iw2cVwEBAQEBAQaZJgGBCxcEAQEBATg1hAMBAQQBOhwjBQsIAw4KCSUPBSUDBxoTiDoHDjbLaRaFTYkTB4RDBJpClysrL4ECJA Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 17 Jun 2014 22:56:11 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WwtOr-0003hr-IX; Tue, 17 Jun 2014 23:26:09 +1000 Date: Tue, 17 Jun 2014 23:26:09 +1000 From: Dave Chinner To: Masayoshi Mizuma Cc: xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. Message-ID: <20140617132609.GI9508@dastard> X-ASG-Orig-Subj: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. References: <53A0013A.1010100@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A0013A.1010100@jp.fujitsu.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403011586 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6721 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 On Tue, Jun 17, 2014 at 05:50:02PM +0900, Masayoshi Mizuma wrote: > I found two deadlock problems occur when kswapd writebacks XFS pages. > I detected these problems on RHEL kernel actually, and I suppose these > also happen on upstream kernel (3.16-rc1). > > 1. > > A process (processA) has acquired read semaphore "xfs_cil.xc_ctx_lock" > at xfs_log_commit_cil() and it is waiting for the kswapd. Then, a > kworker has issued xlog_cil_push_work() and it is waiting for acquiring > the write semaphore. kswapd is waiting for acquiring the read semaphore > at xfs_log_commit_cil() because the kworker has been waiting before for > acquiring the write semaphore at xlog_cil_push(). Therefore, a deadlock > happens. > > The deadlock flow is as follows. > > processA | kworker | kswapd > ----------------------+--------------------------+---------------------- > | xfs_trans_commit | | > | xfs_log_commit_cil | | > | down_read(xc_ctx_lock)| | > | xlog_cil_insert_items | | > | xlog_cil_insert_format_items | > | kmem_alloc | | > | : | | > | shrink_inactive_list | | > | congestion_wait | | > | # waiting for kswapd..| | > | | xlog_cil_push_work | > | | xlog_cil_push | > | | xfs_trans_commit | > | | down_write(xc_ctx_lock) | > | | # waiting for processA...| > | | | shrink_page_list > | | | xfs_vm_writepage > | | | xfs_map_blocks > | | | xfs_iomap_write_allocate > | | | xfs_trans_commit > | | | xfs_log_commit_cil > | | | down_read(xc_ctx_lock) > V(time) | | # waiting for kworker... > ----------------------+--------------------------+----------------------- Where's the deadlock here? congestion_wait() simply times out and processA continues onward doing memory reclaim. It should continue making progress, albeit slowly, and if it isn't then the allocation will fail. If the allocation repeatedly fails then you should be seeing this in the logs: XFS: possible memory allocation deadlock in (mode:0x%x) If you aren't seeing that in the logs a few times a second and never stopping, then the system is still making progress and isn't deadlocked. > To fix this, should we up the read semaphore before calling kmem_alloc() > at xlog_cil_insert_format_items() to avoid blocking the kworker? Or, > should we the second argument of kmem_alloc() from KM_SLEEP|KM_NOFS > to KM_NOSLEEP to avoid waiting for the kswapd. Or... Can't do that - it's in transaction context and so reclaim can't recurse into the fs. Even if you do remove the flag, kmem_alloc() will re-add the GFP_NOFS silently because of the PF_FSTRANS flag on the task, so it won't affect anything... We might be able to do a down_write_trylock() in xlog_cil_push(), but we can't delay the push for an arbitrary amount of time - the write lock needs to be a barrier otherwise we'll get push starvation and that will lead to checkpoint size overruns (i.e. temporary journal corruption). > 2. > > A kworker (kworkerA), whish is a writeback thread, is waiting for > the XFS allocation thread (kworkerB) while it writebacks XFS pages. > kworkerB has started the allocation and it is waiting for kswapd to > allocate free pages. kswapd has started writeback XFS pages and > it is waiting for more log space. The reason why exhaustion of the > log space is both the writeback thread and kswapd are stuck, so > some processes, who have allocated the log space and are requesting > free pages, are also stuck. > > The deadlock flow is as follows. > > kworkerA | kworkerB | kswapd > ----------------------+--------------------------+----------------------- > | wb_writeback | | > | : | | > | xfs_vm_writepage | | > | xfs_map_blocks | | > | xfs_iomap_write_allocate | > | xfs_bmapi_write | | > | xfs_bmapi_allocate | | > | wait_for_completion | | > | # waiting for kworkerB... | > | | xfs_bmapi_allocate_worker| > | | : | > | | xfs_buf_get_map | > | | xfs_buf_allocate_memory | > | | alloc_pages_current | > | | : | > | | shrink_inactive_list | > | | congestion_wait | > | | # waiting for kswapd... | > | | | shrink_page_list > | | | xfs_vm_writepage > | | | : > | | | xfs_log_reserve > | | | : > | | | xlog_grant_head_check > | | | xlog_grant_head_wait > | | | # waiting for more > | | | # space... > V(time) | | > ----------------------+--------------------------+----------------------- Again, anything in congestion_wait() is not stuck and if the allocations here are repeatedly failing and progress is not being made, then there should be log messages from XFS indicating this. I need more information about your test setup to understand what is going on here. Can you provide: http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F The output of sysrq-w would also be useful here, because the above abridged stack traces do not tell me everything about the state of the system I need to know. Cheers, Dave. -- Dave Chinner david@fromorbit.com From scameron@beardog.cce.hp.com Tue Jun 17 08:42:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2320729DF8 for ; Tue, 17 Jun 2014 08:42:00 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 073B18F8040 for ; Tue, 17 Jun 2014 06:41:59 -0700 (PDT) X-ASG-Debug-ID: 1403012517-04cb6c78c42a64b0001-NocioJ Received: from g2t2352.austin.hp.com (g2t2352.austin.hp.com [15.217.128.51]) by cuda.sgi.com with ESMTP id JYjr8NAAqSSmCcSP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 06:41:57 -0700 (PDT) X-Barracuda-Envelope-From: scameron@beardog.cce.hp.com X-Barracuda-Apparent-Source-IP: 15.217.128.51 Received: from g2t2360.austin.hp.com (g2t2360.austin.hp.com [16.197.8.247]) by g2t2352.austin.hp.com (Postfix) with ESMTP id 2F9B12DB for ; Tue, 17 Jun 2014 13:41:57 +0000 (UTC) Received: from beardog.cce.hp.com (beardog.cce.hp.com [16.84.84.24]) by g2t2360.austin.hp.com (Postfix) with ESMTP id 2255A4C for ; Tue, 17 Jun 2014 13:41:57 +0000 (UTC) Received: from beardog.cce.hp.com (beardog.cce.hp.com [127.0.0.1]) by beardog.cce.hp.com (8.13.8/8.13.8) with ESMTP id s5HDf6ew000701; Tue, 17 Jun 2014 08:41:06 -0500 Received: (from scameron@localhost) by beardog.cce.hp.com (8.13.8/8.13.8/Submit) id s5HDf5na000700; Tue, 17 Jun 2014 08:41:05 -0500 Date: Tue, 17 Jun 2014 08:41:05 -0500 From: scameron@beardog.cce.hp.com To: xfs@oss.sgi.com Cc: scameron@beardog.cce.hp.com Subject: Question about xfstests xfs/122 and xfs/253 Message-ID: <20140617134105.GF29459@beardog.cce.hp.com> X-ASG-Orig-Subj: Question about xfstests xfs/122 and xfs/253 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i X-Barracuda-Connect: g2t2352.austin.hp.com[15.217.128.51] X-Barracuda-Start-Time: 1403012517 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6721 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name 0.10 BSF_SC0_SA085 Custom Rule SA085 Hi, I am running xfstests mostly just to exercise a low level driver, and I'm seeing failures on tests xfs/122 and xfs/253. I'm using xfstests, xfsprogs, xfsdump cloned fresh from the git repos listed here: http://xfs.org/index.php/Getting_the_latest_source_code git hashes: xfstests: 45d1fac1303acfa102384f48111dc3a458b93493 xfsprogs: 03e956b25243bf4aac034275f89a0f3f2712b79a xfsdump: b1d6979f1fae82acc79d27cf0add4d55da6d83cc I'm using kernel 3.16-rc1 on RHEL 6.5 on x86_64. I would expect that specific versions of xfstests, xfsprogs, xfsdump are meant to go with specific kernel versions, though it is not clear to me how to match these up in the general case. I guessed that "latest of everything" would have a reasonable chance of being a matched set. I'm running it by: "./check -g auto" with configs/localhost.config: [root@localhost xfstests]# cat configs/localhost.config TEST_DEV=/dev/sdc TEST_DIR=/mnt/test SCRATCH_DEV=/dev/sdb SCRATCH_MNT=/mnt/scratch I'm not very familiar with these tests, but it looks like xfs/122 is checking that some structure sizes specific to xfs are correct, and I'm struggling to see how a low level driver would break that test without breaking a lot of other stuff, so I'm thinking I can ignore that one (maybe the test is broken?) But I figured I should ask here in case I'm not correctly understanding what it's trying to test. xfs/253, seems to be testing some kind of filename hashing stuff. Do these failures seem plausibly attributable to a flaw in a low level driver, or are these failures known issues with xfs or with the tests, or is there something else I might be doing wrong? (It occurs to me now I should try the tests with a different driver and hardware and see how it behaves.) [root@localhost xfs]# diff -u ../../tests/xfs/122.out 122.out.bad | diffstat 122.out.bad | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad | diffstat 253.out.bad | 2 ++ 1 file changed, 2 insertions(+) [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad --- ../../tests/xfs/253.out 2014-06-16 10:51:35.881521766 -0500 +++ 253.out.bad 2014-06-16 18:01:13.862884730 -0500 @@ -1,2 +1,4 @@ QA output created by 253 Disciplyne of silence is goed. +mount: Structure needs cleaning +umount: /dev/sdb: not mounted [root@localhost xfs]# Also, I noticed a few tests were not run, I presume that is not out of the ordinary. xfs/189 [not run] noattr2 mount option not supported on /dev/sdb xfs/190 1s ... 1s xfs/191 [not run] no mkfs support for NFS v4 ACLs xfs/194 1s ... 1s xfs/195 [not run] fsgqa user not defined. xfs/196 5s ... 5s xfs/197 [not run] This test is only valid on 32 bit machines And a few others skipped as well. Thanks, -- steve From BATV+089219ef152b4013a3d4+3950+infradead.org+hch@bombadil.srs.infradead.org Tue Jun 17 09:01:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 664D47F58 for ; Tue, 17 Jun 2014 09:01:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id E1FAAAC003 for ; Tue, 17 Jun 2014 07:01:33 -0700 (PDT) X-ASG-Debug-ID: 1403013688-04cb6c78c32a7690001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id KBwMyInivqPzGugQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 07:01:29 -0700 (PDT) X-Barracuda-Envelope-From: BATV+089219ef152b4013a3d4+3950+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwtwN-0000Qj-BX; Tue, 17 Jun 2014 14:00:47 +0000 Date: Tue, 17 Jun 2014 07:00:47 -0700 From: Christoph Hellwig To: Dave Chinner , Jakub Bogusz Cc: xfs@oss.sgi.com Subject: Re: Polish translation update for xfsprogs 3.2.0 Message-ID: <20140617140047.GA28382@infradead.org> X-ASG-Orig-Subj: Re: Polish translation update for xfsprogs 3.2.0 References: <20140522161534.GA31966@stranger.qboosh.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140522161534.GA31966@stranger.qboosh.pl> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1403013688 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-BRTS-Evidence: qboosh.pl X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6722 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS Dave, can you pull this in? The file below just needs to be commited to po/pl.po in the xfsprogs repository. On Thu, May 22, 2014 at 06:15:34PM +0200, Jakub Bogusz wrote: > Hello, > > I updated Polish translation for xfsprogs 3.2.0. > It's available at: > http://qboosh.pl/pl.po/xfsprogs-3.2.0.pl.po > > > -- > Jakub Bogusz http://qboosh.pl/ ---end quoted text--- From BATV+089219ef152b4013a3d4+3950+infradead.org+hch@bombadil.srs.infradead.org Tue Jun 17 09:02:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8D1977F58 for ; Tue, 17 Jun 2014 09:02:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 24F09AC004 for ; Tue, 17 Jun 2014 07:02:04 -0700 (PDT) X-ASG-Debug-ID: 1403013722-04cbb00a0414edc0001-NocioJ Received: from bombadil.infradead.org ([198.137.202.9]) by cuda.sgi.com with ESMTP id uXDB4PDj1aODuA0Z (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 07:02:02 -0700 (PDT) X-Barracuda-Envelope-From: BATV+089219ef152b4013a3d4+3950+infradead.org+hch@bombadil.srs.infradead.org X-Barracuda-Apparent-Source-IP: 198.137.202.9 Received: from hch by bombadil.infradead.org with local (Exim 4.80.1 #2 (Red Hat Linux)) id 1WwtxX-0000tq-TG; Tue, 17 Jun 2014 14:01:59 +0000 Date: Tue, 17 Jun 2014 07:01:59 -0700 From: Christoph Hellwig To: "Michael Kerrisk (man-pages)" Cc: Christoph Hellwig , Dave Chinner , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140617140159.GA1709@infradead.org> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <1402562047-31276-1-git-send-email-david@fromorbit.com> <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <539F5C6F.4060402@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <539F5C6F.4060402@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html X-Barracuda-Connect: UNKNOWN[198.137.202.9] X-Barracuda-Start-Time: 1403013722 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, RDNS_NONE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6722 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS On Mon, Jun 16, 2014 at 11:06:55PM +0200, Michael Kerrisk (man-pages) wrote: > > Talking about documentation: The kernel aio manpages (io_*.2) seems > > to not really be very useful, mostly because they don't explain how > > to set up the iocbs. Michael, any idea how to get started to improve > > this? > > Well, it just needs someone knowledgeable to fill the gaps, and > perhaps add an example program. I don't have that knowledge > offhand myself... Dave pointed out that there actually are man pages for the ops, they just come with libaio instead of the man-pages project. I'll send you a patch to refer to them. The libaio man pages could also use some work, I'll see if I can find time for that as well. From bfoster@redhat.com Tue Jun 17 09:14:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5ED3429DFD for ; Tue, 17 Jun 2014 09:14:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 58D138F8066 for ; Tue, 17 Jun 2014 07:14:37 -0700 (PDT) X-ASG-Debug-ID: 1403014475-04cbb00a0314f6a0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XsGQTN8vi9VIkRLC for ; Tue, 17 Jun 2014 07:14:36 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5HEEXrp021589 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Jun 2014 10:14:33 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5HEEWPp032469; Tue, 17 Jun 2014 10:14:33 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 88304120188; Tue, 17 Jun 2014 10:14:31 -0400 (EDT) Date: Tue, 17 Jun 2014 10:14:31 -0400 From: Brian Foster To: Christoph Hellwig Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: require 64-bit sector_t Message-ID: <20140617141431.GA8905@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: require 64-bit sector_t References: <1402937045-31103-1-git-send-email-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402937045-31103-1-git-send-email-hch@lst.de> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403014475 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, Jun 16, 2014 at 06:44:05PM +0200, Christoph Hellwig wrote: > Trying to support tiny disks only and saving a bit memory might have > made sense on an SGI O2 15 years ago, but is pretty pointless today. > > Remove the rarely tested codepath that uses various smaller in-memory > types to reduce our test matrix and make the codebase a little bit > smaller and less complicated. > > Signed-off-by: Christoph Hellwig > Reviewed-by: Ben Myers > --- > fs/xfs/Kconfig | 1 + > fs/xfs/xfs_bmap.c | 8 ++--- > fs/xfs/xfs_bmap_btree.c | 89 +++-------------------------------------------- > fs/xfs/xfs_bmap_util.c | 2 +- > fs/xfs/xfs_btree.c | 32 ++++++++--------- > fs/xfs/xfs_btree.h | 2 +- > fs/xfs/xfs_da_btree.c | 2 +- > fs/xfs/xfs_dir2_sf.c | 45 +++++------------------- > fs/xfs/xfs_format.h | 14 +------- > fs/xfs/xfs_fs.h | 4 +-- > fs/xfs/xfs_inode_fork.c | 4 +-- > fs/xfs/xfs_inum.h | 4 --- > fs/xfs/xfs_linux.h | 12 ------- > fs/xfs/xfs_log_format.h | 4 +-- > fs/xfs/xfs_mount.c | 6 +--- > fs/xfs/xfs_rtalloc.c | 4 +-- > fs/xfs/xfs_sb.h | 8 ++--- > fs/xfs/xfs_super.c | 8 ----- > fs/xfs/xfs_super.h | 11 ------ > fs/xfs/xfs_types.h | 29 ++------------- > 20 files changed, 50 insertions(+), 239 deletions(-) > ... > diff --git a/fs/xfs/xfs_super.h b/fs/xfs/xfs_super.h > index bbe3d15..31f757c 100644 > --- a/fs/xfs/xfs_super.h > +++ b/fs/xfs/xfs_super.h > @@ -44,16 +44,6 @@ extern void xfs_qm_exit(void); > # define XFS_REALTIME_STRING > #endif > > -#if XFS_BIG_BLKNOS > -# if XFS_BIG_INUMS > -# define XFS_BIGFS_STRING "large block/inode numbers, " > -# else > -# define XFS_BIGFS_STRING "large block numbers, " > -# endif > -#else > -# define XFS_BIGFS_STRING > -#endif > - > #ifdef DEBUG > # define XFS_DBG_STRING "debug" > #else > @@ -64,7 +54,6 @@ extern void xfs_qm_exit(void); > #define XFS_BUILD_OPTIONS XFS_ACL_STRING \ > XFS_SECURITY_STRING \ > XFS_REALTIME_STRING \ > - XFS_BIGFS_STRING \ Given that the existence of the string indicates large block/inode numbers, shouldn't we leave it to avoid any confusion? That aside, the rest of the patch looks fine to me. Brian > XFS_DBG_STRING /* DBG must be last */ > > struct xfs_inode; > diff --git a/fs/xfs/xfs_types.h b/fs/xfs/xfs_types.h > index 65c6e66..b79dc66 100644 > --- a/fs/xfs/xfs_types.h > +++ b/fs/xfs/xfs_types.h > @@ -38,43 +38,18 @@ typedef __int32_t xfs_tid_t; /* transaction identifier */ > typedef __uint32_t xfs_dablk_t; /* dir/attr block number (in file) */ > typedef __uint32_t xfs_dahash_t; /* dir/attr hash value */ > > -/* > - * These types are 64 bits on disk but are either 32 or 64 bits in memory. > - * Disk based types: > - */ > -typedef __uint64_t xfs_dfsbno_t; /* blockno in filesystem (agno|agbno) */ > -typedef __uint64_t xfs_drfsbno_t; /* blockno in filesystem (raw) */ > -typedef __uint64_t xfs_drtbno_t; /* extent (block) in realtime area */ > -typedef __uint64_t xfs_dfiloff_t; /* block number in a file */ > -typedef __uint64_t xfs_dfilblks_t; /* number of blocks in a file */ > - > -/* > - * Memory based types are conditional. > - */ > -#if XFS_BIG_BLKNOS > typedef __uint64_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > typedef __uint64_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > typedef __uint64_t xfs_rtblock_t; /* extent (block) in realtime area */ > -typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > -#else > -typedef __uint32_t xfs_fsblock_t; /* blockno in filesystem (agno|agbno) */ > -typedef __uint32_t xfs_rfsblock_t; /* blockno in filesystem (raw) */ > -typedef __uint32_t xfs_rtblock_t; /* extent (block) in realtime area */ > -typedef __int32_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > -#endif > typedef __uint64_t xfs_fileoff_t; /* block number in a file */ > -typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */ > > +typedef __int64_t xfs_srtblock_t; /* signed version of xfs_rtblock_t */ > +typedef __int64_t xfs_sfiloff_t; /* signed block number in a file */ > > /* > * Null values for the types. > */ > -#define NULLDFSBNO ((xfs_dfsbno_t)-1) > -#define NULLDRFSBNO ((xfs_drfsbno_t)-1) > -#define NULLDRTBNO ((xfs_drtbno_t)-1) > -#define NULLDFILOFF ((xfs_dfiloff_t)-1) > - > #define NULLFSBLOCK ((xfs_fsblock_t)-1) > #define NULLRFSBLOCK ((xfs_rfsblock_t)-1) > #define NULLRTBLOCK ((xfs_rtblock_t)-1) > -- > 1.7.10.4 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Tue Jun 17 09:58:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id EA30E29E01 for ; Tue, 17 Jun 2014 09:58:29 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id D842B304051 for ; Tue, 17 Jun 2014 07:58:29 -0700 (PDT) X-ASG-Debug-ID: 1403017108-04cb6c78c62aa970001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id uVAqqTjOsLwypKFt for ; Tue, 17 Jun 2014 07:58:28 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5HEvJV6027777 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Jun 2014 10:57:20 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5HEvJ8j030549; Tue, 17 Jun 2014 10:57:19 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 4DC38120188; Tue, 17 Jun 2014 10:57:18 -0400 (EDT) Date: Tue, 17 Jun 2014 10:57:18 -0400 From: Brian Foster To: scameron@beardog.cce.hp.com Cc: xfs@oss.sgi.com Subject: Re: Question about xfstests xfs/122 and xfs/253 Message-ID: <20140617145717.GB8905@bfoster.bfoster> X-ASG-Orig-Subj: Re: Question about xfstests xfs/122 and xfs/253 References: <20140617134105.GF29459@beardog.cce.hp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617134105.GF29459@beardog.cce.hp.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403017108 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Tue, Jun 17, 2014 at 08:41:05AM -0500, scameron@beardog.cce.hp.com wrote: > > Hi, > > I am running xfstests mostly just to exercise a low level driver, and I'm > seeing failures on tests xfs/122 and xfs/253. > > I'm using xfstests, xfsprogs, xfsdump cloned fresh from the git repos listed > here: http://xfs.org/index.php/Getting_the_latest_source_code > git hashes: > xfstests: 45d1fac1303acfa102384f48111dc3a458b93493 > xfsprogs: 03e956b25243bf4aac034275f89a0f3f2712b79a > xfsdump: b1d6979f1fae82acc79d27cf0add4d55da6d83cc > > I'm using kernel 3.16-rc1 on RHEL 6.5 on x86_64. > > I would expect that specific versions of xfstests, xfsprogs, xfsdump > are meant to go with specific kernel versions, though it is not clear > to me how to match these up in the general case. I guessed that > "latest of everything" would have a reasonable chance of being a > matched set. > > I'm running it by: "./check -g auto" > > with configs/localhost.config: > > [root@localhost xfstests]# cat configs/localhost.config > TEST_DEV=/dev/sdc > TEST_DIR=/mnt/test > SCRATCH_DEV=/dev/sdb > SCRATCH_MNT=/mnt/scratch > > I'm not very familiar with these tests, but it looks like xfs/122 is checking > that some structure sizes specific to xfs are correct, and I'm struggling to > see how a low level driver would break that test without breaking a lot of > other stuff, so I'm thinking I can ignore that one (maybe the test is broken?) > But I figured I should ask here in case I'm not correctly understanding what it's > trying to test. > xfs/122 fails for me as well. I guess I never noticed it before because it depends on indent. It looks like the output file (122.out) contains a bunch of hardcoded field offsets and structure sizes, so perhaps it's just out of date. I'm not familiar with the objective of this test. > xfs/253, seems to be testing some kind of filename hashing stuff. > This one tests metadump and restore, name obfuscation in particular it appears. It passes on a quick test for me with fairly recent code. > Do these failures seem plausibly attributable to a flaw in a low level driver, > or are these failures known issues with xfs or with the tests, or is there > something else I might be doing wrong? > > (It occurs to me now I should try the tests with a different driver and > hardware and see how it behaves.) > Probably a good idea. ;) > > [root@localhost xfs]# diff -u ../../tests/xfs/122.out 122.out.bad | diffstat > 122.out.bad | 38 +++++++++++++++++++------------------- > 1 file changed, 19 insertions(+), 19 deletions(-) > [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad | diffstat > 253.out.bad | 2 ++ > 1 file changed, 2 insertions(+) > [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad > --- ../../tests/xfs/253.out 2014-06-16 10:51:35.881521766 -0500 > +++ 253.out.bad 2014-06-16 18:01:13.862884730 -0500 > @@ -1,2 +1,4 @@ > QA output created by 253 > Disciplyne of silence is goed. > +mount: Structure needs cleaning > +umount: /dev/sdb: not mounted > [root@localhost xfs]# > I'm guessing the dump or restore failed to properly create the metadump image or restore it correctly. You probably want to try this on something known to be working. > Also, I noticed a few tests were not run, I presume that is not out of the ordinary. > > xfs/189 [not run] noattr2 mount option not supported on /dev/sdb > xfs/190 1s ... 1s > xfs/191 [not run] no mkfs support for NFS v4 ACLs > xfs/194 1s ... 1s > xfs/195 [not run] fsgqa user not defined. > xfs/196 5s ... 5s > xfs/197 [not run] This test is only valid on 32 bit machines > > And a few others skipped as well. > This is generally normal. Tests will detect dependencies and/or settings and skip running if not applicable as opposed to causing failures for things that are problems with the test environment. Brian > Thanks, > > -- steve > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Tue Jun 17 10:05:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A80E529E01 for ; Tue, 17 Jun 2014 10:05:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8F68D8F8074 for ; Tue, 17 Jun 2014 08:05:02 -0700 (PDT) X-ASG-Debug-ID: 1403017501-04cbb00a041521f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id YGISD8C6cuyANVLd for ; Tue, 17 Jun 2014 08:05:01 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5HF50FP021106 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 17 Jun 2014 11:05:01 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5HF50mK027076; Tue, 17 Jun 2014 11:05:00 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 74ED2120188; Tue, 17 Jun 2014 11:04:59 -0400 (EDT) Date: Tue, 17 Jun 2014 11:04:59 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse() Message-ID: <20140617150458.GC8905@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] libxfs: don't send null bp to xfs_trans_brelse() References: <1402960461-27881-1-git-send-email-sandeen@redhat.com> <1402960461-27881-2-git-send-email-sandeen@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402960461-27881-2-git-send-email-sandeen@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403017501 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, Jun 16, 2014 at 06:14:20PM -0500, Eric Sandeen wrote: > In this case, if bp is null, error is set, and we send > bp to xfs_trans_brelse, which will try to dereference it. > > Test whether we actualy have a buffer before we try to > free it. > > Same fix as was sent for kernelspace. > > Coverity spotted this. > > Signed-off-by: Eric Sandeen > --- Reviewed-by: Brian Foster > libxfs/xfs_da_btree.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/libxfs/xfs_da_btree.c b/libxfs/xfs_da_btree.c > index b70454e..b731b54 100644 > --- a/libxfs/xfs_da_btree.c > +++ b/libxfs/xfs_da_btree.c > @@ -2582,7 +2582,8 @@ xfs_da_get_buf( > mapp, nmap, 0); > error = bp ? bp->b_error : XFS_ERROR(EIO); > if (error) { > - xfs_trans_brelse(trans, bp); > + if (bp) > + xfs_trans_brelse(trans, bp); > goto out_free; > } > > -- > 1.7.1 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Tue Jun 17 10:05:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1ECEF29E08 for ; Tue, 17 Jun 2014 10:05:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 14E2A8F807A for ; Tue, 17 Jun 2014 08:05:14 -0700 (PDT) X-ASG-Debug-ID: 1403017512-04cbb00a04152210001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id neFF3yiY2YFrm74b for ; Tue, 17 Jun 2014 08:05:13 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5HF5CN2021954 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 17 Jun 2014 11:05:12 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5HF5CjH024933; Tue, 17 Jun 2014 11:05:12 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 3CA8D120188; Tue, 17 Jun 2014 11:05:11 -0400 (EDT) Date: Tue, 17 Jun 2014 11:05:11 -0400 From: Brian Foster To: Eric Sandeen Cc: xfs@oss.sgi.com Subject: Re: [PATCH 2/2] libxfs: fix crc field handling in xfs_sb_to/from_disk Message-ID: <20140617150510.GD8905@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2] libxfs: fix crc field handling in xfs_sb_to/from_disk References: <1402960461-27881-1-git-send-email-sandeen@redhat.com> <1402960461-27881-3-git-send-email-sandeen@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402960461-27881-3-git-send-email-sandeen@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403017512 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, Jun 16, 2014 at 06:14:21PM -0500, Eric Sandeen wrote: > If we xfs_mdrestore an image from a non-crc filesystem, lo > and behold the restored image has gained a CRC: > > # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img > # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 > crc = 0 (correct) > # xfs_db -c "sb 0" -c "p crc" test.img > crc = 0xb6f8d6a0 (correct) > > This is because xfs_sb_from_disk doesn't fill in sb_crc, > but xfs_sb_to_disk(XFS_SB_ALL_BITS) does write the in-memory > CRC to disk - so we get uninitialized memory on disk. > > Fix this by always initializing sb_crc to 0 when we read > the superblock, and masking out the CRC bit from ALL_BITS > when we write it. > > This same fix has already been sent for kernelspace. > > Signed-off-by: Eric Sandeen > --- Reviewed-by: Brian Foster > libxfs/xfs_sb.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/libxfs/xfs_sb.c b/libxfs/xfs_sb.c > index 7ee4612..ea89367 100644 > --- a/libxfs/xfs_sb.c > +++ b/libxfs/xfs_sb.c > @@ -408,6 +408,8 @@ xfs_sb_from_disk( > to->sb_features_incompat = be32_to_cpu(from->sb_features_incompat); > to->sb_features_log_incompat = > be32_to_cpu(from->sb_features_log_incompat); > + /* crc is only used on disk, not in memory; just init to 0 here. */ > + to->sb_crc = 0; > to->sb_pad = 0; > to->sb_pquotino = be64_to_cpu(from->sb_pquotino); > to->sb_lsn = be64_to_cpu(from->sb_lsn); > @@ -485,6 +487,9 @@ xfs_sb_to_disk( > if (!fields) > return; > > + /* We should never write the crc here, it's updated in the IO path */ > + fields &= ~XFS_SB_CRC; > + > xfs_sb_quota_to_disk(to, from, &fields); > while (fields) { > f = (xfs_sb_field_t)xfs_lowbit64((__uint64_t)fields); > -- > 1.7.1 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From ms@citd.de Tue Jun 17 10:29:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id ECB407F57 for ; Tue, 17 Jun 2014 10:29:30 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id CC96F304051 for ; Tue, 17 Jun 2014 08:29:27 -0700 (PDT) X-ASG-Debug-ID: 1403018963-04bdf056682c43b0001-NocioJ Received: from awesome.dsw2k3.info (awesome.dsw2k3.info [217.188.63.246]) by cuda.sgi.com with ESMTP id Q56swYsigeuRgUG6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 08:29:24 -0700 (PDT) X-Barracuda-Envelope-From: ms@citd.de X-Barracuda-Apparent-Source-IP: 217.188.63.246 Received: from localhost (localhost.localdomain [127.0.0.1]) by awesome.dsw2k3.info (Postfix) with ESMTP id C7BB6C0EB2; Tue, 17 Jun 2014 17:26:47 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at awesome.dsw2k3.info Received: from awesome.dsw2k3.info ([127.0.0.1]) by localhost (awesome.dsw2k3.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R2f3YeBoHIfK; Tue, 17 Jun 2014 17:26:44 +0200 (CEST) Received: from citd.de (p57A6788B.dip0.t-ipconnect.de [87.166.120.139]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by awesome.dsw2k3.info (Postfix) with ESMTPSA; Tue, 17 Jun 2014 17:26:44 +0200 (CEST) Date: Tue, 17 Jun 2014 17:29:17 +0200 From: Matthias Schniedermeyer To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: V5 format and man mkfs.xfs Message-ID: <20140617152917.GA17378@citd.de> X-ASG-Orig-Subj: Re: V5 format and man mkfs.xfs References: <20140617082651.GA27971@citd.de> <20140617123738.GH9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617123738.GH9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Barracuda-Connect: awesome.dsw2k3.info[217.188.63.246] X-Barracuda-Start-Time: 1403018964 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6723 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 17.06.2014 22:37, Dave Chinner wrote: > On Tue, Jun 17, 2014 at 10:26:51AM +0200, Matthias Schniedermeyer wrote: > > Hi > > > > How seriously meant is "V5 isn't experimental anymore"? > > "Fully supported" isn't a clear enough statement? I guess that was a "selective memory"-bug on my side. > > I ask because the man-page only mentions the syntax to enable it by > > accident. A.k.a. the backport of ftype to V4. > > (man-page of xfsprogs 3.2.0 in Debian-SID) > > That's intentional. V5 superblocks are an implementation detail that > most users don't even need to know about. They care about the name > of the features they are enabling at mkfs time, not the details of > the on-disk implementation of those features. The question still stands. The crc-option is only mentioned "by accident". Without the ftype backport there would be no mention of the "feature crc". Furthermore i suspect that the ftype-feature also wouldn't be mentionted without the V4 backport. Which beggs the question, what other features are "burried" in V5 that aren't mentioned in the man-page. And are there any other "-m" options, because "-m" (asside from the ftype accident) is completly undocumented. > > And you still have to know that crc means V5. > > Why do you care about the format mkfs.xfs chooses for you - it's > based on the features you requested. V5 isn't magically faster than I find the crc feature relativly important. I personally had exprienced an USB enclosure(-model. As in i had several of those) that under rare circumstances flipped or cleared a single bit in a specific bit-pattern). Such corruption most likely ends up inside a data-file because most times there is more data than meta-data. But COULD happend inside the meta-data. Since that day i have nearly everything MD5(or SHA256)ed so i can at least detect if i have a data-corruption. Fortunatly that never happend again after i replaced that enclosure model. Which i can say with pretty high confidence. > V4 - there are many cases where it is slower due to CRC overhead > or the overhead of the larger inode it requires. So unless you > request a feature that requires it at mkfs time, you don't get that > format. Are there any feature besides crc/ftype in V5? But i guess for "-n type=1" i would get a V4 + feature_bit. And "-m crc=1" chooses V5 and i get ftype as a bonus (If i understand correctly). > In a year or so we'll change the mkfs default so that CRCs are > enabled by default, but we can't do that until all the distro's have > had time to pick up a kernel that fully supports the CRC feature.... OK. So V5 will be the future default. -- Matthias From scameron@beardog.cce.hp.com Tue Jun 17 11:21:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 612427F6F for ; Tue, 17 Jun 2014 11:21:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4BE84304043 for ; Tue, 17 Jun 2014 09:21:41 -0700 (PDT) X-ASG-Debug-ID: 1403022099-04bdf056692c6d00001-NocioJ Received: from g4t3425.houston.hp.com (g4t3425.houston.hp.com [15.201.208.53]) by cuda.sgi.com with ESMTP id uCirqO0UVckX3E7a (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 17 Jun 2014 09:21:39 -0700 (PDT) X-Barracuda-Envelope-From: scameron@beardog.cce.hp.com X-Barracuda-Apparent-Source-IP: 15.201.208.53 Received: from g4t3433.houston.hp.com (g4t3433.houston.hp.com [16.210.25.219]) by g4t3425.houston.hp.com (Postfix) with ESMTP id 262762E4 for ; Tue, 17 Jun 2014 16:21:37 +0000 (UTC) Received: from beardog.cce.hp.com (beardog.cce.hp.com [16.84.84.24]) by g4t3433.houston.hp.com (Postfix) with ESMTP id 0FCE175 for ; Tue, 17 Jun 2014 16:21:36 +0000 (UTC) Received: from beardog.cce.hp.com (beardog.cce.hp.com [127.0.0.1]) by beardog.cce.hp.com (8.13.8/8.13.8) with ESMTP id s5HGKjXb001166; Tue, 17 Jun 2014 11:20:45 -0500 Received: (from scameron@localhost) by beardog.cce.hp.com (8.13.8/8.13.8/Submit) id s5HGKiYC001165; Tue, 17 Jun 2014 11:20:44 -0500 Date: Tue, 17 Jun 2014 11:20:44 -0500 From: scameron@beardog.cce.hp.com To: xfs@oss.sgi.com Cc: scameron@beardog.cce.hp.com Subject: xfstests, weird looking code in src/resvtest.c Message-ID: <20140617162044.GL29459@beardog.cce.hp.com> X-ASG-Orig-Subj: xfstests, weird looking code in src/resvtest.c Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i X-Barracuda-Connect: g4t3425.houston.hp.com[15.201.208.53] X-Barracuda-Start-Time: 1403022099 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6724 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name This code in xfstests src/resvtest.c looks pretty strange: ... 32 char *readbuffer, *writebuffer; ... 70 readbuffer = memalign(psize, bsize); 71 writebuffer = memalign(psize, bsize); 72 if (!readbuffer || !writebuffer) { 73 perror("open"); 74 exit(1); 75 } 76 memset(writebuffer, 'A', sizeof(writebuffer)); ^^^ writebuffer is a pointer, so using sizeof(writebuffer) here is odd. Is it intentional to put either 4 or 8 A's into writebuffer depending on sizeof a pointer? Seems unlikely. 110 while (++n < iterations) { 111 char *p; 112 int numerrors; 113 114 if (write(writefd, writebuffer, sizeof(writebuffer)) < 0) { 115 perror("write"); 116 exit(1); 117 } So that write will write sizeof a pointer's worth of whatever's in writebuffer. Intentional? Again, seems unlikely. This seems like maybe somebody initially declared writebuffer as an array, but later went back and changed it to a pointer, but forgot to fixup everywhere that referred to sizeof(writebuffer). I would have sent a patch but I'm not sure what this code is trying to do. gcc 4.4.7 (what comes with RHEL6u5) doesn't warn about this, but 4.8.3 does. -- steve From david@fromorbit.com Tue Jun 17 17:47:09 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 39D877F3F for ; Tue, 17 Jun 2014 17:47:09 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id BA1D0AC005 for ; Tue, 17 Jun 2014 15:47:05 -0700 (PDT) X-ASG-Debug-ID: 1403045221-04cb6c78c62be670001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id NRF1aHZLF1ZecFDR for ; Tue, 17 Jun 2014 15:47:02 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuRNAK7EoFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSYBgQ8XBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcp9FxaFTYkTB4RDBJpClysr Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 08:17:01 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx29a-0005XE-TO; Wed, 18 Jun 2014 08:46:58 +1000 Date: Wed, 18 Jun 2014 08:46:58 +1000 From: Dave Chinner To: Matthias Schniedermeyer Cc: xfs@oss.sgi.com Subject: Re: V5 format and man mkfs.xfs Message-ID: <20140617224658.GJ9508@dastard> X-ASG-Orig-Subj: Re: V5 format and man mkfs.xfs References: <20140617082651.GA27971@citd.de> <20140617123738.GH9508@dastard> <20140617152917.GA17378@citd.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617152917.GA17378@citd.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403045222 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6731 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 17, 2014 at 05:29:17PM +0200, Matthias Schniedermeyer wrote: > On 17.06.2014 22:37, Dave Chinner wrote: > > On Tue, Jun 17, 2014 at 10:26:51AM +0200, Matthias Schniedermeyer wrote: > > > Hi > > > > > > How seriously meant is "V5 isn't experimental anymore"? > > > > "Fully supported" isn't a clear enough statement? > > I guess that was a "selective memory"-bug on my side. > > > > I ask because the man-page only mentions the syntax to enable it by > > > accident. A.k.a. the backport of ftype to V4. > > > (man-page of xfsprogs 3.2.0 in Debian-SID) > > > > That's intentional. V5 superblocks are an implementation detail that > > most users don't even need to know about. They care about the name > > of the features they are enabling at mkfs time, not the details of > > the on-disk implementation of those features. > > The question still stands. > > The crc-option is only mentioned "by accident". > Without the ftype backport there would be no mention of the "feature > crc". Ok, so you're not reporting that we don't mention V5 filesystems as "V5" filesystems. You're reporting that the "-m crc" option is not documented. That's an oversight, and needs to be fixed. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 18:04:35 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A664F7F4E for ; Tue, 17 Jun 2014 18:04:35 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3FB3CAC004 for ; Tue, 17 Jun 2014 16:04:32 -0700 (PDT) X-ASG-Debug-ID: 1403046266-04bdf056662d6c00001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id nBmtWFCn2bGKMqEz for ; Tue, 17 Jun 2014 16:04:26 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmFNAA3IoFN5LC2vPGdsb2JhbABAGoMNUoJ1p2wBAQEBAQEGmSYBgQsXBAEBAQE4NYQDAQEEATocIxAIAw4KCSUPBSUDBxoTiDoHDjbKTRaFTYkTB4RDBJpClysrLw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 08:34:26 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx2QS-0005d6-BX; Wed, 18 Jun 2014 09:04:24 +1000 Date: Wed, 18 Jun 2014 09:04:24 +1000 From: Dave Chinner To: Brian Foster Cc: scameron@beardog.cce.hp.com, xfs@oss.sgi.com Subject: Re: Question about xfstests xfs/122 and xfs/253 Message-ID: <20140617230424.GK9508@dastard> X-ASG-Orig-Subj: Re: Question about xfstests xfs/122 and xfs/253 References: <20140617134105.GF29459@beardog.cce.hp.com> <20140617145717.GB8905@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617145717.GB8905@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403046266 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6732 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 On Tue, Jun 17, 2014 at 10:57:18AM -0400, Brian Foster wrote: > On Tue, Jun 17, 2014 at 08:41:05AM -0500, scameron@beardog.cce.hp.com wrote: > > > > Hi, > > > > I am running xfstests mostly just to exercise a low level driver, and I'm > > seeing failures on tests xfs/122 and xfs/253. > > > > I'm using xfstests, xfsprogs, xfsdump cloned fresh from the git repos listed > > here: http://xfs.org/index.php/Getting_the_latest_source_code > > git hashes: > > xfstests: 45d1fac1303acfa102384f48111dc3a458b93493 > > xfsprogs: 03e956b25243bf4aac034275f89a0f3f2712b79a > > xfsdump: b1d6979f1fae82acc79d27cf0add4d55da6d83cc > > > > I'm using kernel 3.16-rc1 on RHEL 6.5 on x86_64. > > > > I would expect that specific versions of xfstests, xfsprogs, xfsdump > > are meant to go with specific kernel versions, though it is not clear > > to me how to match these up in the general case. I guessed that > > "latest of everything" would have a reasonable chance of being a > > matched set. > > > > I'm running it by: "./check -g auto" > > > > with configs/localhost.config: > > > > [root@localhost xfstests]# cat configs/localhost.config > > TEST_DEV=/dev/sdc > > TEST_DIR=/mnt/test > > SCRATCH_DEV=/dev/sdb > > SCRATCH_MNT=/mnt/scratch > > > > I'm not very familiar with these tests, but it looks like xfs/122 is checking > > that some structure sizes specific to xfs are correct, and I'm struggling to > > see how a low level driver would break that test without breaking a lot of > > other stuff, so I'm thinking I can ignore that one (maybe the test is broken?) > > But I figured I should ask here in case I'm not correctly understanding what it's > > trying to test. > > > > xfs/122 fails for me as well. I guess I never noticed it before because > it depends on indent. It looks like the output file (122.out) contains a > bunch of hardcoded field offsets and structure sizes, so perhaps it's > just out of date. I'm not familiar with the objective of this test. They are the sizes and offsets of on-disk structures. I get a _not_run here because the test program fails to compile, which is probably why I've not noticed that it might be failing. I'll look into it that failure here. FWIW, posting the diff of the failure will tell us if it's an important failure or not, or whether it's just that we've removed a bunch of typedefs and so the program output is not exactly the same as expected.... > > xfs/253, seems to be testing some kind of filename hashing stuff. > > > > This one tests metadump and restore, name obfuscation in particular it > appears. It passes on a quick test for me with fairly recent code. > > > Do these failures seem plausibly attributable to a flaw in a low level driver, > > or are these failures known issues with xfs or with the tests, or is there > > something else I might be doing wrong? > > > > (It occurs to me now I should try the tests with a different driver and > > hardware and see how it behaves.) > > > > Probably a good idea. ;) > > > > > [root@localhost xfs]# diff -u ../../tests/xfs/122.out 122.out.bad | diffstat > > 122.out.bad | 38 +++++++++++++++++++------------------- > > 1 file changed, 19 insertions(+), 19 deletions(-) > > [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad | diffstat > > 253.out.bad | 2 ++ > > 1 file changed, 2 insertions(+) > > [root@localhost xfs]# diff -u ../../tests/xfs/253.out 253.out.bad > > --- ../../tests/xfs/253.out 2014-06-16 10:51:35.881521766 -0500 > > +++ 253.out.bad 2014-06-16 18:01:13.862884730 -0500 > > @@ -1,2 +1,4 @@ > > QA output created by 253 > > Disciplyne of silence is goed. > > +mount: Structure needs cleaning > > +umount: /dev/sdb: not mounted What's the dmesg output? > > xfs/189 [not run] noattr2 mount option not supported on /dev/sdb That implies you are testing with MKFS_OPTION="-m crc=1", because only CRC enabled filesystems reject the noattr2 mount option. Is that correct? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 18:06:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id EFDBB7F51 for ; Tue, 17 Jun 2014 18:06:33 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D7EA8304039 for ; Tue, 17 Jun 2014 16:06:30 -0700 (PDT) X-ASG-Debug-ID: 1403046388-04bdf056682d6d30001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id ZqC9KcVxLXjXVq49 for ; Tue, 17 Jun 2014 16:06:28 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlxTAGfJoFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSgBgQsXBAEBAQE4NYQDAQEFOhwjEAgDGAklDwUlAwctiEHKfhaFTIkTBxaELQSaQpctKy8 Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 08:36:28 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx2SR-0005dW-8A; Wed, 18 Jun 2014 09:06:27 +1000 Date: Wed, 18 Jun 2014 09:06:27 +1000 From: Dave Chinner To: scameron@beardog.cce.hp.com Cc: xfs@oss.sgi.com Subject: Re: xfstests, weird looking code in src/resvtest.c Message-ID: <20140617230627.GL9508@dastard> X-ASG-Orig-Subj: Re: xfstests, weird looking code in src/resvtest.c References: <20140617162044.GL29459@beardog.cce.hp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617162044.GL29459@beardog.cce.hp.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403046388 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6732 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Tue, Jun 17, 2014 at 11:20:44AM -0500, scameron@beardog.cce.hp.com wrote: > > This code in xfstests src/resvtest.c looks pretty strange: > > ... > 32 char *readbuffer, *writebuffer; > ... > 70 readbuffer = memalign(psize, bsize); > 71 writebuffer = memalign(psize, bsize); > 72 if (!readbuffer || !writebuffer) { > 73 perror("open"); > 74 exit(1); > 75 } > 76 memset(writebuffer, 'A', sizeof(writebuffer)); > > ^^^ writebuffer is a pointer, so using sizeof(writebuffer) here is > odd. Is it intentional to put either 4 or 8 A's into writebuffer > depending on sizeof a pointer? Seems unlikely. > > 110 while (++n < iterations) { > 111 char *p; > 112 int numerrors; > 113 > 114 if (write(writefd, writebuffer, sizeof(writebuffer)) < 0) { > 115 perror("write"); > 116 exit(1); > 117 } > > So that write will write sizeof a pointer's worth of whatever's in writebuffer. > Intentional? Again, seems unlikely. > > This seems like maybe somebody initially declared writebuffer as an array, but > later went back and changed it to a pointer, but forgot to fixup everywhere that > referred to sizeof(writebuffer). > > I would have sent a patch but I'm not sure what this code is trying to do. > > gcc 4.4.7 (what comes with RHEL6u5) doesn't warn about this, but 4.8.3 does. There's a recent patch on the fstests list (fstests@vger.kernel.org) that fixes this that I haven't picked up yet. For actual test harness issues, you should use fstests@vger.kernel.org now, not xfs@oss.sgi.com... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 18:56:08 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 162477F54 for ; Tue, 17 Jun 2014 18:56:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id DC4A18F8059 for ; Tue, 17 Jun 2014 16:56:07 -0700 (PDT) X-ASG-Debug-ID: 1403049365-04cb6c78c42c02a0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id mbnmxGl1a7XAcun3 for ; Tue, 17 Jun 2014 16:56:06 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al5TAFrVoFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSgBgQoXBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcpqFxaFTIhKSQeEQwSaQpctK4Ey Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 09:25:48 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx3EA-0005jD-4o; Wed, 18 Jun 2014 09:55:46 +1000 Date: Wed, 18 Jun 2014 09:55:46 +1000 From: Dave Chinner To: Brian Foster Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfs/013: allow non-write fsstress operations in background workload Message-ID: <20140617235546.GY4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs/013: allow non-write fsstress operations in background workload References: <1401820129-6543-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1401820129-6543-1-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403049365 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6733 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 03, 2014 at 02:28:49PM -0400, Brian Foster wrote: > It has been reported that test xfs/013 probably uses more space than > necessary, exhausting space if run against a several GB sized ramdisk. > xfs/013 primarily creates, links and removes inodes. Most of the space > consumption occurs via the background fsstress workload. > > Remove the fsstress -w option that suppresses non-write operations. This > slightly reduces the storage footprint while still providing a > background workload for the test. > > Signed-off-by: Brian Foster This change makes the runtime blow out on a ramdisk from 4s to over ten minutes on my test machine. Non-ramdisk machines seem to be completely unaffected. I was going to say "no, bad change", but I noticed that my spinning disk VMs weren't affected at all. Looking more closely, xfs/013 is now pegging all 16 CPUs on the VM. The profile: - 60.73% [kernel] [k] do_raw_spin_lock - do_raw_spin_lock - 99.98% _raw_spin_lock - 99.83% sync_inodes_sb sync_inodes_one_sb iterate_supers sys_sync tracesys sync - 32.76% [kernel] [k] delay_tsc - delay_tsc - 98.43% __delay do_raw_spin_lock - _raw_spin_lock - 99.99% sync_inodes_sb sync_inodes_one_sb iterate_supers sys_sync tracesys sync OK, that's a kernel problem, not a problem with the change in the test... /me goes and dusts off his "concurrent sync scalability" patches. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 19:28:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 09FF07F3F for ; Tue, 17 Jun 2014 19:28:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id CE321304043 for ; Tue, 17 Jun 2014 17:28:55 -0700 (PDT) X-ASG-Debug-ID: 1403051327-04cbb00a03168b70001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 2Xvl9HIPn6Zk7OhJ for ; Tue, 17 Jun 2014 17:28:48 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmBTAGDcoFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSgBgQsXBAEBAQE4NYQDAQEEATIBIyMFCwgDGAklDwUlAwcaE4g6B8plFxaFTINghTMHhEMEmkKLMYt8Kw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 09:58:46 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx3k5-0005nm-Bf; Wed, 18 Jun 2014 10:28:45 +1000 Date: Wed, 18 Jun 2014 10:28:45 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140618002845.GM9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <53A0416E.20105@kernel.dk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403051328 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6733 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e [cc linux-mm] On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: > On 2014-06-16 16:27, Dave Chinner wrote: > >On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: > >>On 06/16/2014 01:19 AM, Dave Chinner wrote: > >>>On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > >>>>On 2014-06-15 20:00, Dave Chinner wrote: > >>>>>On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > >>>>>FWIW, the non-linear system CPU overhead of a fs_mark test I've been > >>>>>running isn't anything related to XFS. The async fsync workqueue > >>>>>results in several thousand worker threads dispatching IO > >>>>>concurrently across 16 CPUs: > >>>>> > >>>>>$ ps -ef |grep kworker |wc -l > >>>>>4693 > >>>>>$ > >>>>> > >>>>>Profiles from 3.15 + xfs for-next + xfs aio_fsync show: > >>>>> > >>>>>- 51.33% [kernel] [k] percpu_ida_alloc > >>>>> - percpu_ida_alloc > >>>>> + 85.73% blk_mq_wait_for_tags > >>>>> + 14.23% blk_mq_get_tag > >>>>>- 14.25% [kernel] [k] _raw_spin_unlock_irqrestore > >>>>> - _raw_spin_unlock_irqrestore > >>>>> - 66.26% virtio_queue_rq > >>>>> - __blk_mq_run_hw_queue > >>>>> - 99.65% blk_mq_run_hw_queue > >>>>> + 99.47% blk_mq_insert_requests > >>>>> + 0.53% blk_mq_insert_request > >>>>>..... > >>>>>- 7.91% [kernel] [k] _raw_spin_unlock_irq > >>>>> - _raw_spin_unlock_irq > >>>>> - 69.59% __schedule > >>>>> - 86.49% schedule > >>>>> + 47.72% percpu_ida_alloc > >>>>> + 21.75% worker_thread > >>>>> + 19.12% schedule_timeout > >>>>>.... > >>>>> + 18.06% blk_mq_make_request > >>>>> > >>>>>Runtime: > >>>>> > >>>>>real 4m1.243s > >>>>>user 0m47.724s > >>>>>sys 11m56.724s > >>>>> > >>>>>Most of the excessive CPU usage is coming from the blk-mq layer, and > >>>>>XFS is barely showing up in the profiles at all - the IDA tag > >>>>>allocator is burning 8 CPUs at about 60,000 write IOPS.... > >>>>> > >>>>>I know that the tag allocator has been rewritten, so I tested > >>>>>against a current a current Linus kernel with the XFS aio-fsync > >>>>>patch. The results are all over the place - from several sequential > >>>>>runs of the same test (removing the files in between so each tests > >>>>>starts from an empty fs): > >>>>> > >>>>>Wall time sys time IOPS files/s > >>>>>4m58.151s 11m12.648s 30,000 13,500 > >>>>>4m35.075s 12m45.900s 45,000 15,000 > >>>>>3m10.665s 11m15.804s 65,000 21,000 > >>>>>3m27.384s 11m54.723s 85,000 20,000 > >>>>>3m59.574s 11m12.012s 50,000 16,500 > >>>>>4m12.704s 12m15.720s 50,000 17,000 > >>>>> > >>>>>The 3.15 based kernel was pretty consistent around the 4m10 mark, > >>>>>generally only +/-10s in runtime and not much change in system time. > >>>>>The files/s rate reported by fs_mark doesn't vary that much, either. > >>>>>So the new tag allocator seems to be no better in terms of IO > >>>>>dispatch scalability, yet adds significant variability to IO > >>>>>performance. > >>>>> > >>>>>What I noticed is a massive jump in context switch overhead: from > >>>>>around 250,000/s to over 800,000/s and the CPU profiles show that > >>>>>this comes from the new tag allocator: > >>>>> > >>>>>- 34.62% [kernel] [k] _raw_spin_unlock_irqrestore > >>>>> - _raw_spin_unlock_irqrestore > >>>>> - 58.22% prepare_to_wait > >>>>> 100.00% bt_get > >>>>> blk_mq_get_tag > >>>>> __blk_mq_alloc_request > >>>>> blk_mq_map_request > >>>>> blk_sq_make_request > >>>>> generic_make_request > >>>>> - 22.51% virtio_queue_rq > >>>>> __blk_mq_run_hw_queue > >>>>>.... > >>>>>- 21.56% [kernel] [k] _raw_spin_unlock_irq > >>>>> - _raw_spin_unlock_irq > >>>>> - 58.73% __schedule > >>>>> - 53.42% io_schedule > >>>>> 99.88% bt_get > >>>>> blk_mq_get_tag > >>>>> __blk_mq_alloc_request > >>>>> blk_mq_map_request > >>>>> blk_sq_make_request > >>>>> generic_make_request > >>>>> - 35.58% schedule > >>>>> + 49.31% worker_thread > >>>>> + 32.45% schedule_timeout > >>>>> + 10.35% _xfs_log_force_lsn > >>>>> + 3.10% xlog_cil_force_lsn > >>>>>.... > >..... > >>Can you try with this patch? > > > >Ok, context switches are back down in the realm of 400,000/s. It's > >better, but it's still a bit higher than that the 3.15 code. XFS is > >actually showing up in the context switch path profiles now... > > > >However, performance is still excitingly variable and not much > >different to not having this patch applied. System time is unchanged > >(still around the 11m20s +/- 1m) and IOPS, wall time and files/s all > >show significant variance (at least +/-25%) from run to run. The > >worst case is not as slow as the unpatched kernel, but it's no > >better than the 3.15 worst case. > > > >Profiles on a slow run look like: > > > >- 43.43% [kernel] [k] _raw_spin_unlock_irq > > - _raw_spin_unlock_irq > > - 64.23% blk_sq_make_request > > generic_make_request > > submit_bio ¿ > > + 26.79% __schedule > >... > >- 15.00% [kernel] [k] _raw_spin_unlock_irqrestore > > - _raw_spin_unlock_irqrestore > > - 39.81% virtio_queue_rq > > __blk_mq_run_hw_queue > > + 24.13% complete > > + 17.74% prepare_to_wait_exclusive > > + 9.66% remove_wait_queue > > > >Looks like the main contention problem is in blk_sq_make_request(). > >Also, there looks to be quite a bit of lock contention on the tag > >wait queues given that this patch made prepare_to_wait_exclusive() > >suddenly show up in the profiles. > > > >FWIW, on a fast run there is very little time in > >blk_sq_make_request() lock contention, and overall spin lock/unlock > >overhead of these two functions is around 10% each.... > > > >So, yes, the patch reduces context switches but doesn't really > >reduce system time, improve performance noticably or address the > >run-to-run variability issue... > > OK, so one more thing to try. With the same patch still applied, > could you edit block/blk-mq-tag.h and change > > BT_WAIT_QUEUES = 8, > > to > > BT_WAIT_QUEUES = 1, > > and see if that smoothes things out? Ok, that smoothes things out to the point where I can see the trigger for the really nasty variable performance. The trigger is the machine running out of free memory. i.e. direct reclaim of clean pages for the data in the new files in the page cache drives the performance down by 25-50% and introduces significant variability. So the variability doesn't seem to be solely related to the tag allocator; it is contributing some via wait queue contention, but it's definitely not the main contributor, nor the trigger... MM-folk - the VM is running fake-numa=4 and has 16GB of RAM, and each step in the workload is generating 3.2GB of dirty pages (i.e. just on the dirty throttling threshold). It then does a concurrent asynchronous fsync of the 800,000 dirty files it just created, leaving 3.2GB of clean pages in the cache. The workload iterates this several times. Once the machine runs out of free memory (2.5 iterations in) performance drops by about 30% on average, but the drop varies between 20-60% randomly. I'm not concerned by a 30% drop when memory fills up - I'm concerned by the volatility of the drop that occurs. e.g: FSUse% Count Size Files/sec App Overhead 0 800000 4096 29938.0 13459475 0 1600000 4096 28023.7 15662387 0 2400000 4096 23704.6 16451761 0 3200000 4096 16976.8 15029056 0 4000000 4096 21858.3 15591604 Iteration 3 is where memory fills, and you can see that performance dropped by 25%. Iteration 4 drops another 25%, then iteration 5 regains it. If I keep running the workload for more iterations, this is pretty typical of the iteration-to-iteration variability, even though every iteration is identical in behaviour as are the initial conditions (i.e. memory full of clean, used-once pages). This didn't happen in 3.15.0, but the behaviour may have been masked by the block layer tag allocator CPU overhead dominating the system behaviour. > On the road the next few days, so might take me a few days to get > back to this. I was able to reproduce the horrible contention on the > wait queue, but everything seemed to behave nicely with just the > exclusive_wait/batch_wakeup for me. Looks like I might have to fire > up kvm and set it you like you. I'm guessing that the difference is that you weren't driving the machine into memory reclaim at the same time. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 19:44:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 0E3517F3F for ; Tue, 17 Jun 2014 19:44:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 759A3AC004 for ; Tue, 17 Jun 2014 17:44:00 -0700 (PDT) X-ASG-Debug-ID: 1403052237-04cb6c78c52c16f0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id SKrMkvfPyWHk1v03 for ; Tue, 17 Jun 2014 17:43:58 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al5TAOzfoFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSgBgQsXBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcppFxaFTIgyFE0HhEMEmkKVWYFUK4Ey Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 10:13:56 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx3yl-0005py-Dm; Wed, 18 Jun 2014 10:43:55 +1000 Date: Wed, 18 Jun 2014 10:43:55 +1000 From: Dave Chinner To: Brian Foster Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-ID: <20140618004355.GZ4453@dastard> X-ASG-Orig-Subj: Re: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT References: <1402508170-61125-1-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402508170-61125-1-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403052237 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6733 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 11, 2014 at 01:36:10PM -0400, Brian Foster wrote: > XFS can allocate significant amounts of space to files via speculative > preallocation. Such preallocation may not be reclaimed automatically on > file close() if a file is repeatedly opened and extended. For smaller > filesystems with relatively large and slow growing files, this > preallocation can linger for some time, including contributing to out of > space conditions. > > Create a situation where an fs is near out of space while several files > still have lingering, significant preallocations. Verify that new > writers reclaim the preallocated space rather than return ENOSPC. Repeat > a similar test for quota limits and EDQUOT. > > Signed-off-by: Brian Foster Hi Brian, My test machines all fail this test with output like this: xfs/014 - output mismatch (see /home/dave/src/xfstests-dev/results//xfs/014.out.bad) --- tests/xfs/014.out 2014-06-18 09:32:59.000000000 +1000 +++ /home/dave/src/xfstests-dev/results//xfs/014.out.bad 2014-06-18 10:27:10.000000000 +1000 @@ -1,2 +1,7 @@ QA output created by 014 Silence is golden. +/mnt/scratch/014.mnt/file.0: No space left on device +pwrite64: No space left on device +/mnt/scratch/014.mnt/file.2: No space left on device +pwrite64: No space left on device +pwrite64: Disk quota exceeded ..... or this from a 1k block size filesystem: xfs/014 - output mismatch (see /home/dave/src/xfstests-dev/results//xfs/014.out.bad) --- tests/xfs/014.out 2014-06-18 09:32:59.000000000 +1000 +++ /home/dave/src/xfstests-dev/results//xfs/014.out.bad 2014-06-18 10:29:15.000000000 +1000 @@ -1,2 +1,7 @@ QA output created by 014 Silence is golden. +pwrite64: No space left on device +pwrite64: No space left on device +pwrite64: No space left on device +pwrite64: No space left on device +pwrite64: Disk quota exceeded ..... I'm still going to commit the test as it stands, but could you see if you can reproduce this or suggest hints as to where it might be going wrong? FWIW, patches to tee the stderr output to both the golden output and the $seqres.full file will make it much easier to determine what write is failing.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Tue Jun 17 20:22:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id CCF207F3F for ; Tue, 17 Jun 2014 20:22:30 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C1EFD304062 for ; Tue, 17 Jun 2014 18:22:27 -0700 (PDT) X-ASG-Debug-ID: 1403054545-04cb6c78c42c2b90001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id eFeRyULVmBbBr5G8 for ; Tue, 17 Jun 2014 18:22:25 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al5TANHooFN5LC2vPGdsb2JhbABagw2DR4UIomQBAQEBAQEGmSgBgQ0XBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcphFxaFTIhKSQeDLYEWBJpCly0rgTI Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 10:52:24 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx4Zz-0005xM-V3; Wed, 18 Jun 2014 11:22:23 +1000 Date: Wed, 18 Jun 2014 11:22:23 +1000 From: Dave Chinner To: Brian Foster Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH] xfs/013: allow non-write fsstress operations in background workload Message-ID: <20140618012223.GB4453@dastard> X-ASG-Orig-Subj: Re: [PATCH] xfs/013: allow non-write fsstress operations in background workload References: <1401820129-6543-1-git-send-email-bfoster@redhat.com> <20140617235546.GY4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617235546.GY4453@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403054545 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6735 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 18, 2014 at 09:55:46AM +1000, Dave Chinner wrote: > On Tue, Jun 03, 2014 at 02:28:49PM -0400, Brian Foster wrote: > > It has been reported that test xfs/013 probably uses more space than > > necessary, exhausting space if run against a several GB sized ramdisk. > > xfs/013 primarily creates, links and removes inodes. Most of the space > > consumption occurs via the background fsstress workload. > > > > Remove the fsstress -w option that suppresses non-write operations. This > > slightly reduces the storage footprint while still providing a > > background workload for the test. > > > > Signed-off-by: Brian Foster > > This change makes the runtime blow out on a ramdisk from 4s to over > ten minutes on my test machine. Non-ramdisk machines seem to be > completely unaffected. > > I was going to say "no, bad change", but I noticed that my > spinning disk VMs weren't affected at all. Looking more closely, > xfs/013 is now pegging all 16 CPUs on the VM. The profile: > > - 60.73% [kernel] [k] do_raw_spin_lock > - do_raw_spin_lock > - 99.98% _raw_spin_lock > - 99.83% sync_inodes_sb > sync_inodes_one_sb > iterate_supers > sys_sync > tracesys > sync > - 32.76% [kernel] [k] delay_tsc > - delay_tsc > - 98.43% __delay > do_raw_spin_lock > - _raw_spin_lock > - 99.99% sync_inodes_sb > sync_inodes_one_sb > iterate_supers > sys_sync > tracesys > sync > > OK, that's a kernel problem, not a problem with the change in the > test... > > /me goes and dusts off his "concurrent sync scalability" patches. Turns out the reason for this problem suddenly showing up was that I had another (500TB) XFS filesystem mounted that had several million clean cached inodes on it from other testing I was doing before the xfstests run. Even so, having sync go off the deep end when there's lots of clean cached inodes seems like a Bad Thing to me. :/ Cheers, Dave. -- Dave Chinner david@fromorbit.com From axboe@kernel.dk Tue Jun 17 21:24:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 5C0557F3F for ; Tue, 17 Jun 2014 21:24:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4D90C304064 for ; Tue, 17 Jun 2014 19:24:14 -0700 (PDT) X-ASG-Debug-ID: 1403058252-04cbb00a0416cdb0001-NocioJ Received: from mail-pa0-f54.google.com (mail-pa0-f54.google.com [209.85.220.54]) by cuda.sgi.com with ESMTP id lzqtd0V4yytWDWzs (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 17 Jun 2014 19:24:12 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-RBL-Trusted-Forwarder: 209.85.220.54 Received: by mail-pa0-f54.google.com with SMTP id et14so194113pad.13 for ; Tue, 17 Jun 2014 19:24:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=zbmo6i0wbAreUIukmU3d2+dqrIWpQEiLVubaThN9dq0=; b=fkL8q9+Qvu3J/5Ces/wdCKtnLb2K+BdacWZVS6/hnsS4ezCzqpUbhmK/HdQYfPH+26 KpdHA/9uUWpC58vyvKGvB7JGTmg2AAP+OTLpJwKz6aVClUdIBRhjtDivU9AZovM/i0Wm d6DhZ55Lycbq1M+5YEmNwL/CAdhrOieiPuUXumHTok+z9vlx73VPl1pS8EEg1OWGPYAW RXS12cLf00SeLGeXnyDXFRywpoEh7KJhCDNHj5WYQznKrKYP+KRS7SxgODTa57hKp+Lg 2rV/BdXY9D4KASdlDwRj46Sf2VXPfijdYSA37Q4dqEbZVAkT+Mk4mGcY2XiRQqgUTKZm Gg/w== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQlLspeOGhcznCV6V1Br7dkKiNTmTQNTIVEGJAxVtnfVBY0/SBWnTLjP6J7M0EAVHXfoZeNM X-Received: by 10.66.66.225 with SMTP id i1mr37150009pat.0.1403058250907; Tue, 17 Jun 2014 19:24:10 -0700 (PDT) Received: from [10.0.51.190] ([216.3.11.165]) by mx.google.com with ESMTPSA id pw4sm538933pbc.61.2014.06.17.19.24.08 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 17 Jun 2014 19:24:09 -0700 (PDT) Message-ID: <53A0F84A.6040708@kernel.dk> Date: Tue, 17 Jun 2014 19:24:10 -0700 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <20140612141329.GA11676@infradead.org> <20140612234441.GT9508@dastard> <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> <20140618002845.GM9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140618002845.GM9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Barracuda-Connect: mail-pa0-f54.google.com[209.85.220.54] X-Barracuda-Start-Time: 1403058252 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6736 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On 2014-06-17 17:28, Dave Chinner wrote: > [cc linux-mm] > > On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: >> On 2014-06-16 16:27, Dave Chinner wrote: >>> On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: >>>> On 06/16/2014 01:19 AM, Dave Chinner wrote: >>>>> On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: >>>>>> On 2014-06-15 20:00, Dave Chinner wrote: >>>>>>> On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: >>>>>>> FWIW, the non-linear system CPU overhead of a fs_mark test I've been >>>>>>> running isn't anything related to XFS. The async fsync workqueue >>>>>>> results in several thousand worker threads dispatching IO >>>>>>> concurrently across 16 CPUs: >>>>>>> >>>>>>> $ ps -ef |grep kworker |wc -l >>>>>>> 4693 >>>>>>> $ >>>>>>> >>>>>>> Profiles from 3.15 + xfs for-next + xfs aio_fsync show: >>>>>>> >>>>>>> - 51.33% [kernel] [k] percpu_ida_alloc >>>>>>> - percpu_ida_alloc >>>>>>> + 85.73% blk_mq_wait_for_tags >>>>>>> + 14.23% blk_mq_get_tag >>>>>>> - 14.25% [kernel] [k] _raw_spin_unlock_irqrestore >>>>>>> - _raw_spin_unlock_irqrestore >>>>>>> - 66.26% virtio_queue_rq >>>>>>> - __blk_mq_run_hw_queue >>>>>>> - 99.65% blk_mq_run_hw_queue >>>>>>> + 99.47% blk_mq_insert_requests >>>>>>> + 0.53% blk_mq_insert_request >>>>>>> ..... >>>>>>> - 7.91% [kernel] [k] _raw_spin_unlock_irq >>>>>>> - _raw_spin_unlock_irq >>>>>>> - 69.59% __schedule >>>>>>> - 86.49% schedule >>>>>>> + 47.72% percpu_ida_alloc >>>>>>> + 21.75% worker_thread >>>>>>> + 19.12% schedule_timeout >>>>>>> .... >>>>>>> + 18.06% blk_mq_make_request >>>>>>> >>>>>>> Runtime: >>>>>>> >>>>>>> real 4m1.243s >>>>>>> user 0m47.724s >>>>>>> sys 11m56.724s >>>>>>> >>>>>>> Most of the excessive CPU usage is coming from the blk-mq layer, and >>>>>>> XFS is barely showing up in the profiles at all - the IDA tag >>>>>>> allocator is burning 8 CPUs at about 60,000 write IOPS.... >>>>>>> >>>>>>> I know that the tag allocator has been rewritten, so I tested >>>>>>> against a current a current Linus kernel with the XFS aio-fsync >>>>>>> patch. The results are all over the place - from several sequential >>>>>>> runs of the same test (removing the files in between so each tests >>>>>>> starts from an empty fs): >>>>>>> >>>>>>> Wall time sys time IOPS files/s >>>>>>> 4m58.151s 11m12.648s 30,000 13,500 >>>>>>> 4m35.075s 12m45.900s 45,000 15,000 >>>>>>> 3m10.665s 11m15.804s 65,000 21,000 >>>>>>> 3m27.384s 11m54.723s 85,000 20,000 >>>>>>> 3m59.574s 11m12.012s 50,000 16,500 >>>>>>> 4m12.704s 12m15.720s 50,000 17,000 >>>>>>> >>>>>>> The 3.15 based kernel was pretty consistent around the 4m10 mark, >>>>>>> generally only +/-10s in runtime and not much change in system time. >>>>>>> The files/s rate reported by fs_mark doesn't vary that much, either. >>>>>>> So the new tag allocator seems to be no better in terms of IO >>>>>>> dispatch scalability, yet adds significant variability to IO >>>>>>> performance. >>>>>>> >>>>>>> What I noticed is a massive jump in context switch overhead: from >>>>>>> around 250,000/s to over 800,000/s and the CPU profiles show that >>>>>>> this comes from the new tag allocator: >>>>>>> >>>>>>> - 34.62% [kernel] [k] _raw_spin_unlock_irqrestore >>>>>>> - _raw_spin_unlock_irqrestore >>>>>>> - 58.22% prepare_to_wait >>>>>>> 100.00% bt_get >>>>>>> blk_mq_get_tag >>>>>>> __blk_mq_alloc_request >>>>>>> blk_mq_map_request >>>>>>> blk_sq_make_request >>>>>>> generic_make_request >>>>>>> - 22.51% virtio_queue_rq >>>>>>> __blk_mq_run_hw_queue >>>>>>> .... >>>>>>> - 21.56% [kernel] [k] _raw_spin_unlock_irq >>>>>>> - _raw_spin_unlock_irq >>>>>>> - 58.73% __schedule >>>>>>> - 53.42% io_schedule >>>>>>> 99.88% bt_get >>>>>>> blk_mq_get_tag >>>>>>> __blk_mq_alloc_request >>>>>>> blk_mq_map_request >>>>>>> blk_sq_make_request >>>>>>> generic_make_request >>>>>>> - 35.58% schedule >>>>>>> + 49.31% worker_thread >>>>>>> + 32.45% schedule_timeout >>>>>>> + 10.35% _xfs_log_force_lsn >>>>>>> + 3.10% xlog_cil_force_lsn >>>>>>> .... >>> ..... >>>> Can you try with this patch? >>> >>> Ok, context switches are back down in the realm of 400,000/s. It's >>> better, but it's still a bit higher than that the 3.15 code. XFS is >>> actually showing up in the context switch path profiles now... >>> >>> However, performance is still excitingly variable and not much >>> different to not having this patch applied. System time is unchanged >>> (still around the 11m20s +/- 1m) and IOPS, wall time and files/s all >>> show significant variance (at least +/-25%) from run to run. The >>> worst case is not as slow as the unpatched kernel, but it's no >>> better than the 3.15 worst case. >>> >>> Profiles on a slow run look like: >>> >>> - 43.43% [kernel] [k] _raw_spin_unlock_irq >>> - _raw_spin_unlock_irq >>> - 64.23% blk_sq_make_request >>> generic_make_request >>> submit_bio ¿ >>> + 26.79% __schedule >>> ... >>> - 15.00% [kernel] [k] _raw_spin_unlock_irqrestore >>> - _raw_spin_unlock_irqrestore >>> - 39.81% virtio_queue_rq >>> __blk_mq_run_hw_queue >>> + 24.13% complete >>> + 17.74% prepare_to_wait_exclusive >>> + 9.66% remove_wait_queue >>> >>> Looks like the main contention problem is in blk_sq_make_request(). >>> Also, there looks to be quite a bit of lock contention on the tag >>> wait queues given that this patch made prepare_to_wait_exclusive() >>> suddenly show up in the profiles. >>> >>> FWIW, on a fast run there is very little time in >>> blk_sq_make_request() lock contention, and overall spin lock/unlock >>> overhead of these two functions is around 10% each.... >>> >>> So, yes, the patch reduces context switches but doesn't really >>> reduce system time, improve performance noticably or address the >>> run-to-run variability issue... >> >> OK, so one more thing to try. With the same patch still applied, >> could you edit block/blk-mq-tag.h and change >> >> BT_WAIT_QUEUES = 8, >> >> to >> >> BT_WAIT_QUEUES = 1, >> >> and see if that smoothes things out? > > Ok, that smoothes things out to the point where I can see the > trigger for the really nasty variable performance. The trigger is > the machine running out of free memory. i.e. direct reclaim of clean > pages for the data in the new files in the page cache drives the > performance down by 25-50% and introduces significant variability. > > So the variability doesn't seem to be solely related to the tag > allocator; it is contributing some via wait queue contention, > but it's definitely not the main contributor, nor the trigger... > > MM-folk - the VM is running fake-numa=4 and has 16GB of RAM, and > each step in the workload is generating 3.2GB of dirty pages (i.e. > just on the dirty throttling threshold). It then does a concurrent > asynchronous fsync of the 800,000 dirty files it just created, > leaving 3.2GB of clean pages in the cache. The workload iterates > this several times. Once the machine runs out of free memory (2.5 > iterations in) performance drops by about 30% on average, but the > drop varies between 20-60% randomly. I'm not concerned by a 30% drop > when memory fills up - I'm concerned by the volatility of the drop > that occurs. e.g: > > FSUse% Count Size Files/sec App Overhead > 0 800000 4096 29938.0 13459475 > 0 1600000 4096 28023.7 15662387 > 0 2400000 4096 23704.6 16451761 > 0 3200000 4096 16976.8 15029056 > 0 4000000 4096 21858.3 15591604 > > Iteration 3 is where memory fills, and you can see that performance > dropped by 25%. Iteration 4 drops another 25%, then iteration 5 > regains it. If I keep running the workload for more iterations, this > is pretty typical of the iteration-to-iteration variability, even > though every iteration is identical in behaviour as are the initial > conditions (i.e. memory full of clean, used-once pages). > > This didn't happen in 3.15.0, but the behaviour may have been masked > by the block layer tag allocator CPU overhead dominating the system > behaviour. OK, that's reassuring. I'll do some testing with the cyclic wait queues, but probably not until Thursday. Alexanders patches might potentially fix the variability as well, but if we can make-do without the multiple wait queues, I'd much rather just kill it. Did you see any spinlock contention with BT_WAIT_QUEUES = 1? >> On the road the next few days, so might take me a few days to get >> back to this. I was able to reproduce the horrible contention on the >> wait queue, but everything seemed to behave nicely with just the >> exclusive_wait/batch_wakeup for me. Looks like I might have to fire >> up kvm and set it you like you. > > I'm guessing that the difference is that you weren't driving the > machine into memory reclaim at the same time. My testing was purely O_DIRECT, so no, no reclaim at all. I was only focused on the lock contention in there, and the patch completely got rid of that. -- Jens Axboe From david@fromorbit.com Tue Jun 17 22:13:39 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id F11497F3F for ; Tue, 17 Jun 2014 22:13:38 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6EDAAAC003 for ; Tue, 17 Jun 2014 20:13:35 -0700 (PDT) X-ASG-Debug-ID: 1403061211-04cbb00a0216eb70001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id j0oci4s1aztTBeic for ; Tue, 17 Jun 2014 20:13:32 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al1TABsDoVN5LC2vPGdsb2JhbABagw2DR4UIomcBAQEBAQEGmSgBgQwXBAEBAQE4NYQDAQEFOhwjEAgDGAklDwUlAwcaE4hBym8XFoVMg2CFMweEQwSaQosxi3wr Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 12:43:30 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx6JV-0006AF-JN; Wed, 18 Jun 2014 13:13:29 +1000 Date: Wed, 18 Jun 2014 13:13:29 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140618031329.GN9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> <20140618002845.GM9508@dastard> <53A0F84A.6040708@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A0F84A.6040708@kernel.dk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403061211 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6737 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On Tue, Jun 17, 2014 at 07:24:10PM -0700, Jens Axboe wrote: > On 2014-06-17 17:28, Dave Chinner wrote: > >[cc linux-mm] > > > >On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: > >>On 2014-06-16 16:27, Dave Chinner wrote: > >>>On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: > >>>>On 06/16/2014 01:19 AM, Dave Chinner wrote: > >>>>>On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > >>>>>>On 2014-06-15 20:00, Dave Chinner wrote: > >>>>>>>On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > >>>>>>>FWIW, the non-linear system CPU overhead of a fs_mark test I've been > >>>>>>>running isn't anything related to XFS. The async fsync workqueue > >>>>>>>results in several thousand worker threads dispatching IO > >>>>>>>concurrently across 16 CPUs: .... > >>>>>>>I know that the tag allocator has been rewritten, so I tested > >>>>>>>against a current a current Linus kernel with the XFS aio-fsync > >>>>>>>patch. The results are all over the place - from several sequential > >>>>>>>runs of the same test (removing the files in between so each tests > >>>>>>>starts from an empty fs): > >>>>>>> > >>>>>>>Wall time sys time IOPS files/s > >>>>>>>4m58.151s 11m12.648s 30,000 13,500 > >>>>>>>4m35.075s 12m45.900s 45,000 15,000 > >>>>>>>3m10.665s 11m15.804s 65,000 21,000 > >>>>>>>3m27.384s 11m54.723s 85,000 20,000 > >>>>>>>3m59.574s 11m12.012s 50,000 16,500 > >>>>>>>4m12.704s 12m15.720s 50,000 17,000 > >>>>>>> > >>>>>>>The 3.15 based kernel was pretty consistent around the 4m10 mark, > >>>>>>>generally only +/-10s in runtime and not much change in system time. > >>>>>>>The files/s rate reported by fs_mark doesn't vary that much, either. > >>>>>>>So the new tag allocator seems to be no better in terms of IO > >>>>>>>dispatch scalability, yet adds significant variability to IO > >>>>>>>performance. > >>>>>>> > >>>>>>>What I noticed is a massive jump in context switch overhead: from > >>>>>>>around 250,000/s to over 800,000/s and the CPU profiles show that > >>>>>>>this comes from the new tag allocator: .... > >>>>Can you try with this patch? > >>> > >>>Ok, context switches are back down in the realm of 400,000/s. It's > >>>better, but it's still a bit higher than that the 3.15 code. XFS is > >>>actually showing up in the context switch path profiles now... > >>> > >>>However, performance is still excitingly variable and not much > >>>different to not having this patch applied. System time is unchanged > >>>(still around the 11m20s +/- 1m) and IOPS, wall time and files/s all > >>>show significant variance (at least +/-25%) from run to run. The > >>>worst case is not as slow as the unpatched kernel, but it's no > >>>better than the 3.15 worst case. .... > >>>Looks like the main contention problem is in blk_sq_make_request(). > >>>Also, there looks to be quite a bit of lock contention on the tag > >>>wait queues given that this patch made prepare_to_wait_exclusive() > >>>suddenly show up in the profiles. > >>> > >>>FWIW, on a fast run there is very little time in > >>>blk_sq_make_request() lock contention, and overall spin lock/unlock > >>>overhead of these two functions is around 10% each.... > >>> > >>>So, yes, the patch reduces context switches but doesn't really > >>>reduce system time, improve performance noticably or address the > >>>run-to-run variability issue... > >> > >>OK, so one more thing to try. With the same patch still applied, > >>could you edit block/blk-mq-tag.h and change > >> > >> BT_WAIT_QUEUES = 8, > >> > >>to > >> > >> BT_WAIT_QUEUES = 1, > >> > >>and see if that smoothes things out? > > > >Ok, that smoothes things out to the point where I can see the > >trigger for the really nasty variable performance. The trigger is > >the machine running out of free memory. i.e. direct reclaim of clean > >pages for the data in the new files in the page cache drives the > >performance down by 25-50% and introduces significant variability. > > > >So the variability doesn't seem to be solely related to the tag > >allocator; it is contributing some via wait queue contention, > >but it's definitely not the main contributor, nor the trigger... > > > >MM-folk - the VM is running fake-numa=4 and has 16GB of RAM, and > >each step in the workload is generating 3.2GB of dirty pages (i.e. > >just on the dirty throttling threshold). It then does a concurrent > >asynchronous fsync of the 800,000 dirty files it just created, > >leaving 3.2GB of clean pages in the cache. The workload iterates > >this several times. Once the machine runs out of free memory (2.5 > >iterations in) performance drops by about 30% on average, but the > >drop varies between 20-60% randomly. I'm not concerned by a 30% drop > >when memory fills up - I'm concerned by the volatility of the drop > >that occurs. e.g: > > > >FSUse% Count Size Files/sec App Overhead > > 0 800000 4096 29938.0 13459475 > > 0 1600000 4096 28023.7 15662387 > > 0 2400000 4096 23704.6 16451761 > > 0 3200000 4096 16976.8 15029056 > > 0 4000000 4096 21858.3 15591604 > > > >Iteration 3 is where memory fills, and you can see that performance > >dropped by 25%. Iteration 4 drops another 25%, then iteration 5 > >regains it. If I keep running the workload for more iterations, this > >is pretty typical of the iteration-to-iteration variability, even > >though every iteration is identical in behaviour as are the initial > >conditions (i.e. memory full of clean, used-once pages). > > > >This didn't happen in 3.15.0, but the behaviour may have been masked > >by the block layer tag allocator CPU overhead dominating the system > >behaviour. > > OK, that's reassuring. I'll do some testing with the cyclic wait > queues, but probably not until Thursday. Alexanders patches might > potentially fix the variability as well, but if we can make-do > without the multiple wait queues, I'd much rather just kill it. > > Did you see any spinlock contention with BT_WAIT_QUEUES = 1? Yes. During the 15-20s of high IOPS dispatch rates the profile looks like this: - 36.00% [kernel] [k] _raw_spin_unlock_irq - _raw_spin_unlock_irq - 69.72% blk_sq_make_request generic_make_request + submit_bio + 24.81% __schedule .... - 15.00% [kernel] [k] _raw_spin_unlock_irqrestore - _raw_spin_unlock_irqrestore - 32.87% prepare_to_wait_exclusive bt_get blk_mq_get_tag __blk_mq_alloc_request blk_mq_map_request blk_sq_make_request generic_make_request + submit_bio - 29.21% virtio_queue_rq __blk_mq_run_hw_queue + 11.69% complete + 8.21% finish_wait 8.10% remove_wait_queue But the IOPS rate has definitely increased with this config - I just saw 90k, 100k and 110k IOPS in the last 3 iterations of the workload (the above profile is from the 100k IOPS period). However, the wall time was still only 3m58s, which again tends to implicate the write() portion of the benchmark for causing the slowdowns rather than the fsync() portion that is dispatching all the IO... Cheers, Dave. -- Dave Chinner david@fromorbit.com From axboe@kernel.dk Tue Jun 17 22:21:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id DE46D7F3F for ; Tue, 17 Jun 2014 22:21:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8F6F08F8065 for ; Tue, 17 Jun 2014 20:20:59 -0700 (PDT) X-ASG-Debug-ID: 1403061657-04bdf056692e0a60001-NocioJ Received: from mail-pd0-f177.google.com (mail-pd0-f177.google.com [209.85.192.177]) by cuda.sgi.com with ESMTP id D5UbyaSMsPPk3Tz1 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 17 Jun 2014 20:20:57 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-RBL-Trusted-Forwarder: 209.85.192.177 Received: by mail-pd0-f177.google.com with SMTP id y10so214328pdj.22 for ; Tue, 17 Jun 2014 20:20:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type; bh=J6popCipHU9nuBAHzoxI6wSyeJFyJa+knTVrexaZMZE=; b=CeySf6lDnF1+ZET7ccjaAXFTxP0/gu6kbQoTroUrNEQ4JBaBlpJBiq3eRVJ7rhdDrA Y2RD+/geXoMnDmNcIh3sWshm8UnsVwfIJenrKZv1X52e3vqGUU4Qh1hFRuVrLuuaSxjS skbtIzq41i7X3D+odrku1yx70Y0wwWcP2PRCdPVD05NZqCD7xc5r22H/gFAEoNsIfKN2 PMHgMqt/H46vlLBHi6/q8tIK9TksZSWPmhP7OnyZ75Ld2/Pv0uho9RFx56ugh7h5X4M5 04lp8PwZw/FhB0k2Gul44Ra2UFW6MPLJfeSUVOmLKgZ/U7MjQSivOvbaoSGAKJY5fNhL GCYA== X-Barracuda-BBL-IP: nil X-Gm-Message-State: ALoCoQn1bBMpcNSYuCetwnVqGQN3dZP9WrV8Exs2FkB3ggg1/6CV3X7BjbaidUDX21Hh4u7Ape99 X-Received: by 10.66.228.133 with SMTP id si5mr37668544pac.48.1403061657040; Tue, 17 Jun 2014 20:20:57 -0700 (PDT) Received: from [10.0.51.190] ([216.3.11.165]) by mx.google.com with ESMTPSA id sm8sm687353pbc.92.2014.06.17.20.20.54 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 17 Jun 2014 20:20:55 -0700 (PDT) Message-ID: <53A10597.6020707@kernel.dk> Date: Tue, 17 Jun 2014 20:20:55 -0700 From: Jens Axboe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Dave Chinner CC: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <20140613162352.GB23394@infradead.org> <20140615223323.GB9508@dastard> <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> <20140618002845.GM9508@dastard> <53A0F84A.6040708@kernel.dk> <20140618031329.GN9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method In-Reply-To: <20140618031329.GN9508@dastard> Content-Type: multipart/mixed; boundary="------------000702050707010803000904" X-Barracuda-Connect: mail-pd0-f177.google.com[209.85.192.177] X-Barracuda-Start-Time: 1403061657 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6737 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e This is a multi-part message in MIME format. --------------000702050707010803000904 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 2014-06-17 20:13, Dave Chinner wrote: > On Tue, Jun 17, 2014 at 07:24:10PM -0700, Jens Axboe wrote: >> On 2014-06-17 17:28, Dave Chinner wrote: >>> [cc linux-mm] >>> >>> On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: >>>> On 2014-06-16 16:27, Dave Chinner wrote: >>>>> On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: >>>>>> On 06/16/2014 01:19 AM, Dave Chinner wrote: >>>>>>> On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: >>>>>>>> On 2014-06-15 20:00, Dave Chinner wrote: >>>>>>>>> On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: >>>>>>>>> FWIW, the non-linear system CPU overhead of a fs_mark test I've been >>>>>>>>> running isn't anything related to XFS. The async fsync workqueue >>>>>>>>> results in several thousand worker threads dispatching IO >>>>>>>>> concurrently across 16 CPUs: > .... >>>>>>>>> I know that the tag allocator has been rewritten, so I tested >>>>>>>>> against a current a current Linus kernel with the XFS aio-fsync >>>>>>>>> patch. The results are all over the place - from several sequential >>>>>>>>> runs of the same test (removing the files in between so each tests >>>>>>>>> starts from an empty fs): >>>>>>>>> >>>>>>>>> Wall time sys time IOPS files/s >>>>>>>>> 4m58.151s 11m12.648s 30,000 13,500 >>>>>>>>> 4m35.075s 12m45.900s 45,000 15,000 >>>>>>>>> 3m10.665s 11m15.804s 65,000 21,000 >>>>>>>>> 3m27.384s 11m54.723s 85,000 20,000 >>>>>>>>> 3m59.574s 11m12.012s 50,000 16,500 >>>>>>>>> 4m12.704s 12m15.720s 50,000 17,000 >>>>>>>>> >>>>>>>>> The 3.15 based kernel was pretty consistent around the 4m10 mark, >>>>>>>>> generally only +/-10s in runtime and not much change in system time. >>>>>>>>> The files/s rate reported by fs_mark doesn't vary that much, either. >>>>>>>>> So the new tag allocator seems to be no better in terms of IO >>>>>>>>> dispatch scalability, yet adds significant variability to IO >>>>>>>>> performance. >>>>>>>>> >>>>>>>>> What I noticed is a massive jump in context switch overhead: from >>>>>>>>> around 250,000/s to over 800,000/s and the CPU profiles show that >>>>>>>>> this comes from the new tag allocator: > .... >>>>>> Can you try with this patch? >>>>> >>>>> Ok, context switches are back down in the realm of 400,000/s. It's >>>>> better, but it's still a bit higher than that the 3.15 code. XFS is >>>>> actually showing up in the context switch path profiles now... >>>>> >>>>> However, performance is still excitingly variable and not much >>>>> different to not having this patch applied. System time is unchanged >>>>> (still around the 11m20s +/- 1m) and IOPS, wall time and files/s all >>>>> show significant variance (at least +/-25%) from run to run. The >>>>> worst case is not as slow as the unpatched kernel, but it's no >>>>> better than the 3.15 worst case. > .... >>>>> Looks like the main contention problem is in blk_sq_make_request(). >>>>> Also, there looks to be quite a bit of lock contention on the tag >>>>> wait queues given that this patch made prepare_to_wait_exclusive() >>>>> suddenly show up in the profiles. >>>>> >>>>> FWIW, on a fast run there is very little time in >>>>> blk_sq_make_request() lock contention, and overall spin lock/unlock >>>>> overhead of these two functions is around 10% each.... >>>>> >>>>> So, yes, the patch reduces context switches but doesn't really >>>>> reduce system time, improve performance noticably or address the >>>>> run-to-run variability issue... >>>> >>>> OK, so one more thing to try. With the same patch still applied, >>>> could you edit block/blk-mq-tag.h and change >>>> >>>> BT_WAIT_QUEUES = 8, >>>> >>>> to >>>> >>>> BT_WAIT_QUEUES = 1, >>>> >>>> and see if that smoothes things out? >>> >>> Ok, that smoothes things out to the point where I can see the >>> trigger for the really nasty variable performance. The trigger is >>> the machine running out of free memory. i.e. direct reclaim of clean >>> pages for the data in the new files in the page cache drives the >>> performance down by 25-50% and introduces significant variability. >>> >>> So the variability doesn't seem to be solely related to the tag >>> allocator; it is contributing some via wait queue contention, >>> but it's definitely not the main contributor, nor the trigger... >>> >>> MM-folk - the VM is running fake-numa=4 and has 16GB of RAM, and >>> each step in the workload is generating 3.2GB of dirty pages (i.e. >>> just on the dirty throttling threshold). It then does a concurrent >>> asynchronous fsync of the 800,000 dirty files it just created, >>> leaving 3.2GB of clean pages in the cache. The workload iterates >>> this several times. Once the machine runs out of free memory (2.5 >>> iterations in) performance drops by about 30% on average, but the >>> drop varies between 20-60% randomly. I'm not concerned by a 30% drop >>> when memory fills up - I'm concerned by the volatility of the drop >>> that occurs. e.g: >>> >>> FSUse% Count Size Files/sec App Overhead >>> 0 800000 4096 29938.0 13459475 >>> 0 1600000 4096 28023.7 15662387 >>> 0 2400000 4096 23704.6 16451761 >>> 0 3200000 4096 16976.8 15029056 >>> 0 4000000 4096 21858.3 15591604 >>> >>> Iteration 3 is where memory fills, and you can see that performance >>> dropped by 25%. Iteration 4 drops another 25%, then iteration 5 >>> regains it. If I keep running the workload for more iterations, this >>> is pretty typical of the iteration-to-iteration variability, even >>> though every iteration is identical in behaviour as are the initial >>> conditions (i.e. memory full of clean, used-once pages). >>> >>> This didn't happen in 3.15.0, but the behaviour may have been masked >>> by the block layer tag allocator CPU overhead dominating the system >>> behaviour. >> >> OK, that's reassuring. I'll do some testing with the cyclic wait >> queues, but probably not until Thursday. Alexanders patches might >> potentially fix the variability as well, but if we can make-do >> without the multiple wait queues, I'd much rather just kill it. >> >> Did you see any spinlock contention with BT_WAIT_QUEUES = 1? > > Yes. During the 15-20s of high IOPS dispatch rates the profile looks > like this: > > - 36.00% [kernel] [k] _raw_spin_unlock_irq > - _raw_spin_unlock_irq > - 69.72% blk_sq_make_request > generic_make_request > + submit_bio > + 24.81% __schedule > .... > - 15.00% [kernel] [k] _raw_spin_unlock_irqrestore > - _raw_spin_unlock_irqrestore > - 32.87% prepare_to_wait_exclusive > bt_get > blk_mq_get_tag > __blk_mq_alloc_request > blk_mq_map_request > blk_sq_make_request > generic_make_request > + submit_bio > - 29.21% virtio_queue_rq > __blk_mq_run_hw_queue > + 11.69% complete > + 8.21% finish_wait > 8.10% remove_wait_queue > > But the IOPS rate has definitely increased with this config > - I just saw 90k, 100k and 110k IOPS in the last 3 iterations of the > workload (the above profile is from the 100k IOPS period). However, > the wall time was still only 3m58s, which again tends to implicate > the write() portion of the benchmark for causing the slowdowns > rather than the fsync() portion that is dispatching all the IO... Some contention for this case is hard to avoid, and the above looks better than 3.15 does. So the big question is whether it's worth fixing the gaps with multiple waitqueues (and if that actually still buys us anything), or whether we should just disable them. If I can get you to try one more thing, can you apply this patch and give that a whirl? Get rid of the other patches I sent first, this has everything. -- Jens Axboe --------------000702050707010803000904 Content-Type: text/x-patch; name="wake-all.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="wake-all.patch" diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 1aab39f71d95..d376669769e7 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -43,9 +43,16 @@ bool blk_mq_has_free_tags(struct blk_mq_tags *tags) return bt_has_free_tags(&tags->bitmap_tags); } -static inline void bt_index_inc(unsigned int *index) +static inline int bt_index_inc(int index) { - *index = (*index + 1) & (BT_WAIT_QUEUES - 1); + return (index + 1) & (BT_WAIT_QUEUES - 1); +} + +static inline void bt_index_atomic_inc(atomic_t *index) +{ + int old = atomic_read(index); + int new = bt_index_inc(old); + atomic_cmpxchg(index, old, new); } /* @@ -69,14 +76,14 @@ static void blk_mq_tag_wakeup_all(struct blk_mq_tags *tags) int i, wake_index; bt = &tags->bitmap_tags; - wake_index = bt->wake_index; + wake_index = atomic_read(&bt->wake_index); for (i = 0; i < BT_WAIT_QUEUES; i++) { struct bt_wait_state *bs = &bt->bs[wake_index]; if (waitqueue_active(&bs->wait)) - wake_up(&bs->wait); + wake_up_all(&bs->wait); - bt_index_inc(&wake_index); + wake_index = bt_index_inc(wake_index); } } @@ -212,12 +219,14 @@ static struct bt_wait_state *bt_wait_ptr(struct blk_mq_bitmap_tags *bt, struct blk_mq_hw_ctx *hctx) { struct bt_wait_state *bs; + int wait_index; if (!hctx) return &bt->bs[0]; - bs = &bt->bs[hctx->wait_index]; - bt_index_inc(&hctx->wait_index); + wait_index = atomic_read(&hctx->wait_index); + bs = &bt->bs[wait_index]; + bt_index_atomic_inc(&hctx->wait_index); return bs; } @@ -239,18 +248,13 @@ static int bt_get(struct blk_mq_alloc_data *data, bs = bt_wait_ptr(bt, hctx); do { - bool was_empty; - - was_empty = list_empty(&wait.task_list); - prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); + prepare_to_wait_exclusive(&bs->wait, &wait, + TASK_UNINTERRUPTIBLE); tag = __bt_get(hctx, bt, last_tag); if (tag != -1) break; - if (was_empty) - atomic_set(&bs->wait_cnt, bt->wake_cnt); - blk_mq_put_ctx(data->ctx); io_schedule(); @@ -313,18 +317,19 @@ static struct bt_wait_state *bt_wake_ptr(struct blk_mq_bitmap_tags *bt) { int i, wake_index; - wake_index = bt->wake_index; + wake_index = atomic_read(&bt->wake_index); for (i = 0; i < BT_WAIT_QUEUES; i++) { struct bt_wait_state *bs = &bt->bs[wake_index]; if (waitqueue_active(&bs->wait)) { - if (wake_index != bt->wake_index) - bt->wake_index = wake_index; + int o = atomic_read(&bt->wake_index); + if (wake_index != o) + atomic_cmpxchg(&bt->wake_index, o, wake_index); return bs; } - bt_index_inc(&wake_index); + wake_index = bt_index_inc(wake_index); } return NULL; @@ -334,6 +339,7 @@ static void bt_clear_tag(struct blk_mq_bitmap_tags *bt, unsigned int tag) { const int index = TAG_TO_INDEX(bt, tag); struct bt_wait_state *bs; + int wait_cnt; /* * The unlock memory barrier need to order access to req in free @@ -342,10 +348,19 @@ static void bt_clear_tag(struct blk_mq_bitmap_tags *bt, unsigned int tag) clear_bit_unlock(TAG_TO_BIT(bt, tag), &bt->map[index].word); bs = bt_wake_ptr(bt); - if (bs && atomic_dec_and_test(&bs->wait_cnt)) { - atomic_set(&bs->wait_cnt, bt->wake_cnt); - bt_index_inc(&bt->wake_index); - wake_up(&bs->wait); + if (!bs) + return; + + wait_cnt = atomic_dec_return(&bs->wait_cnt); + if (wait_cnt == 0) { +wake: + atomic_add(bt->wake_cnt, &bs->wait_cnt); + bt_index_atomic_inc(&bt->wake_index); + wake_up_nr(&bs->wait, bt->wake_cnt); + } else if (wait_cnt < 0) { + wait_cnt = atomic_inc_return(&bs->wait_cnt); + if (!wait_cnt) + goto wake; } } @@ -499,10 +514,13 @@ static int bt_alloc(struct blk_mq_bitmap_tags *bt, unsigned int depth, return -ENOMEM; } - for (i = 0; i < BT_WAIT_QUEUES; i++) + bt_update_count(bt, depth); + + for (i = 0; i < BT_WAIT_QUEUES; i++) { init_waitqueue_head(&bt->bs[i].wait); + atomic_set(&bt->bs[i].wait_cnt, bt->wake_cnt); + } - bt_update_count(bt, depth); return 0; } diff --git a/block/blk-mq-tag.h b/block/blk-mq-tag.h index 98696a65d4d4..6206ed17ef76 100644 --- a/block/blk-mq-tag.h +++ b/block/blk-mq-tag.h @@ -24,7 +24,7 @@ struct blk_mq_bitmap_tags { unsigned int map_nr; struct blk_align_bitmap *map; - unsigned int wake_index; + atomic_t wake_index; struct bt_wait_state *bs; }; diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index a002cf191427..eb726b9c5762 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -42,7 +42,7 @@ struct blk_mq_hw_ctx { unsigned int nr_ctx; struct blk_mq_ctx **ctxs; - unsigned int wait_index; + atomic_t wait_index; struct blk_mq_tags *tags; --------------000702050707010803000904-- From greg.freemyer@gmail.com Tue Jun 17 22:40:48 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C6D2B7F47 for ; Tue, 17 Jun 2014 22:40:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id AF425304059 for ; Tue, 17 Jun 2014 20:40:45 -0700 (PDT) X-ASG-Debug-ID: 1403062844-04cb6c78c52c8070001-NocioJ Received: from mail-yk0-f171.google.com (mail-yk0-f171.google.com [209.85.160.171]) by cuda.sgi.com with ESMTP id jeVoSpvM7jfa7Gpd (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 17 Jun 2014 20:40:44 -0700 (PDT) X-Barracuda-Envelope-From: greg.freemyer@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.171 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.171] Received: by mail-yk0-f171.google.com with SMTP id 200so192170ykr.16 for ; Tue, 17 Jun 2014 20:40:44 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.171] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.171] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type:subject:from:date:to:cc :message-id; bh=XyRRILH0ZQ2fxBJ+pzr3zjb4DdRs9R3pw3BlUHRVRP8=; b=V4mU7mPh0Z9Do2WZSEj8ZAwPOvlWOBrFy3swDgksYqXS8LFVM4eWATY0N8B5jVe6yG 9lR8ApfcGcbxdl1PDAcz0LkWWm1FMRyoge6CRjTvR5OguKF9iUTMWIz0KKZqe3nfoZYt 0btca78bdUvHH3bz3AyqDSrbdpmlGhK+vnZzmUhaQKWdS5PU+1Olt6KTdWdhr1SPj47U gvUtF8ufYzT9iWqFfI/TjYV62KtUYakbOh4ep4MYUirmeR4KcLVXtRmVqSmw7F/BeQL4 lC07aoLFLXzAN0JCMMg8fW1TMBYLJdxBoIGRmWhqqAapSaOZVS6oVnosIwriw3aWPv5C Q5lg== X-Received: by 10.236.230.6 with SMTP id i6mr51419605yhq.14.1403062844254; Tue, 17 Jun 2014 20:40:44 -0700 (PDT) Received: from [192.168.3.69] (c-98-251-114-210.hsd1.ga.comcast.net. [98.251.114.210]) by mx.google.com with ESMTPSA id u5sm1250921yhg.25.2014.06.17.20.40.29 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 17 Jun 2014 20:40:42 -0700 (PDT) User-Agent: K-9 Mail for Android In-Reply-To: <20140617152917.GA17378@citd.de> References: <20140617082651.GA27971@citd.de> <20140617123738.GH9508@dastard> <20140617152917.GA17378@citd.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: V5 format and man mkfs.xfs From: Greg Freemyer X-ASG-Orig-Subj: Re: V5 format and man mkfs.xfs Date: Tue, 17 Jun 2014 23:39:58 -0400 To: Matthias Schniedermeyer ,Dave Chinner CC: xfs@oss.sgi.com Message-ID: <83614fca-8984-4ca4-bd3e-d9cbd8a41aad@email.android.com> X-Barracuda-Connect: mail-yk0-f171.google.com[209.85.160.171] X-Barracuda-Start-Time: 1403062844 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6737 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On June 17, 2014 11:29:17 AM EDT, Matthias Schniedermeyer wrote: >On 17.06.2014 22:37, Dave Chinner wrote: >> On Tue, Jun 17, 2014 at 10:26:51AM +0200, Matthias Schniedermeyer >wrote: >> > Hi >> > >> > How seriously meant is "V5 isn't experimental anymore"? >> >> "Fully supported" isn't a clear enough statement? > >I guess that was a "selective memory"-bug on my side. > >> > I ask because the man-page only mentions the syntax to enable it by > >> > accident. A.k.a. the backport of ftype to V4. >> > (man-page of xfsprogs 3.2.0 in Debian-SID) >> >> That's intentional. V5 superblocks are an implementation detail that >> most users don't even need to know about. They care about the name >> of the features they are enabling at mkfs time, not the details of >> the on-disk implementation of those features. > >The question still stands. > >The crc-option is only mentioned "by accident". >Without the ftype backport there would be no mention of the "feature >crc". > >Furthermore i suspect that the ftype-feature also wouldn't be >mentionted >without the V4 backport. > >Which beggs the question, what other features are "burried" in V5 that >aren't mentioned in the man-page. > >And are there any other "-m" options, because "-m" (asside from the >ftype accident) is completly undocumented. > >> > And you still have to know that crc means V5. >> >> Why do you care about the format mkfs.xfs chooses for you - it's >> based on the features you requested. V5 isn't magically faster than > >I find the crc feature relativly important. > >I personally had exprienced an USB enclosure(-model. As in i had >several >of those) that under rare circumstances flipped or cleared a single bit > >in a specific bit-pattern). Such corruption most likely ends up inside >a >data-file because most times there is more data than meta-data. But >COULD happend inside the meta-data. > >Since that day i have nearly everything MD5(or SHA256)ed so i can at >least detect if i have a data-corruption. > >Fortunatly that never happend again after i replaced that enclosure >model. Which i can say with pretty high confidence. I md5 hash a lot of important files. I've seen lots of failures to verify over the years. As you note, it is typically a hardware failure, but they happen none the less. Recently the most common failure has been the sata cables. They are not very robust if you connect/disconnect them very often. Greg -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. From david@fromorbit.com Wed Jun 18 00:03:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D04147F50 for ; Wed, 18 Jun 2014 00:03:17 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id B6BF830406B for ; Tue, 17 Jun 2014 22:03:14 -0700 (PDT) X-ASG-Debug-ID: 1403067792-04cbb00a02173050001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id xPY0qh1UAihFeEWA for ; Tue, 17 Jun 2014 22:03:12 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al1TABsdoVN5LC2vPGdsb2JhbABagw2DR4UIomkBAQEBAQEGmSgBgQ0XBAEBAQE4NYQDAQEFOhwjEAgDGAklDwUlAwcaE4hByw8XFoVMg2CFMweEQwSaQosxi3wr Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 14:32:32 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx810-0006PP-Bx; Wed, 18 Jun 2014 15:02:30 +1000 Date: Wed, 18 Jun 2014 15:02:30 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, linux-man@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140618050230.GO9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <20140616020030.GC9508@dastard> <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> <20140618002845.GM9508@dastard> <53A0F84A.6040708@kernel.dk> <20140618031329.GN9508@dastard> <53A10597.6020707@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A10597.6020707@kernel.dk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403067792 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6739 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 17, 2014 at 08:20:55PM -0700, Jens Axboe wrote: > On 2014-06-17 20:13, Dave Chinner wrote: > >On Tue, Jun 17, 2014 at 07:24:10PM -0700, Jens Axboe wrote: > >>On 2014-06-17 17:28, Dave Chinner wrote: > >>>[cc linux-mm] > >>> > >>>On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: > >>>>On 2014-06-16 16:27, Dave Chinner wrote: > >>>>>On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: > >>>>>>On 06/16/2014 01:19 AM, Dave Chinner wrote: > >>>>>>>On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > >>>>>>>>On 2014-06-15 20:00, Dave Chinner wrote: > >>>>>>>>>On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > >>>>>>>>>FWIW, the non-linear system CPU overhead of a fs_mark test I've been > >>>>>>>>>running isn't anything related to XFS. The async fsync workqueue > >>>>>>>>>results in several thousand worker threads dispatching IO > >>>>>>>>>concurrently across 16 CPUs: > >.... > >>>>>>>>>I know that the tag allocator has been rewritten, so I tested > >>>>>>>>>against a current a current Linus kernel with the XFS aio-fsync > >>>>>>>>>patch. The results are all over the place - from several sequential > >>>>>>>>>runs of the same test (removing the files in between so each tests > >>>>>>>>>starts from an empty fs): > >>>>>>>>> > >>>>>>>>>Wall time sys time IOPS files/s > >>>>>>>>>4m58.151s 11m12.648s 30,000 13,500 > >>>>>>>>>4m35.075s 12m45.900s 45,000 15,000 > >>>>>>>>>3m10.665s 11m15.804s 65,000 21,000 > >>>>>>>>>3m27.384s 11m54.723s 85,000 20,000 > >>>>>>>>>3m59.574s 11m12.012s 50,000 16,500 > >>>>>>>>>4m12.704s 12m15.720s 50,000 17,000 .... > >But the IOPS rate has definitely increased with this config > >- I just saw 90k, 100k and 110k IOPS in the last 3 iterations of the > >workload (the above profile is from the 100k IOPS period). However, > >the wall time was still only 3m58s, which again tends to implicate > >the write() portion of the benchmark for causing the slowdowns > >rather than the fsync() portion that is dispatching all the IO... > > Some contention for this case is hard to avoid, and the above looks > better than 3.15 does. So the big question is whether it's worth > fixing the gaps with multiple waitqueues (and if that actually still > buys us anything), or whether we should just disable them. > > If I can get you to try one more thing, can you apply this patch and > give that a whirl? Get rid of the other patches I sent first, this > has everything. Not much difference in the CPU usage profiles or base line performance. It runs at 3m10s from empty memory, and ~3m45s when memory starts full of clean pages. system time varies from 10m40s to 12m55s with no real correlation to overall runtime. >From observation of all the performance metrics I graph in real time, however, the pattern of the peaks and troughs from run to run and even iteration to iteration is much more regular than the previous patches. So from that perspective it is an improvement. Again, all the variability in the graphs show up when free memory runs out... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 18 01:13:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1D6227F3F for ; Wed, 18 Jun 2014 01:13:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id D46628F8068 for ; Tue, 17 Jun 2014 23:13:30 -0700 (PDT) X-ASG-Debug-ID: 1403072003-04bdf056662e7920001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id r0aMdF0TALntdNPV for ; Tue, 17 Jun 2014 23:13:23 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmBTAHstoVN5LC2vPGdsb2JhbABagw2DR4UIomoBAQEBAQEGmSgBgQ8XBAEBAQE4NYQDAQEFJxMcIxAIAxQECSUPBSUDBxoTiEHLKhcWhUyDYIUzB4RDBJpCizGLfCs Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 15:43:22 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wx97Z-0006Yi-03; Wed, 18 Jun 2014 16:13:21 +1000 Date: Wed, 18 Jun 2014 16:13:20 +1000 From: Dave Chinner To: Jens Axboe Cc: Christoph Hellwig , linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com, linux-mm@kvack.org, linux-man@vger.kernel.org Subject: Re: [PATCH] [RFC] xfs: wire up aio_fsync method Message-ID: <20140618061320.GP9508@dastard> X-ASG-Orig-Subj: Re: [PATCH] [RFC] xfs: wire up aio_fsync method References: <539E5D66.8040605@kernel.dk> <20140616071951.GD9508@dastard> <539F45E2.5030909@kernel.dk> <20140616222729.GE9508@dastard> <53A0416E.20105@kernel.dk> <20140618002845.GM9508@dastard> <53A0F84A.6040708@kernel.dk> <20140618031329.GN9508@dastard> <53A10597.6020707@kernel.dk> <20140618050230.GO9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140618050230.GO9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403072003 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.66 X-Barracuda-Spam-Status: No, SCORE=1.66 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=SARE_STILLSINGLE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6740 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 1.66 SARE_STILLSINGLE BODY: Contains phrasing used by spammers On Wed, Jun 18, 2014 at 03:02:30PM +1000, Dave Chinner wrote: > On Tue, Jun 17, 2014 at 08:20:55PM -0700, Jens Axboe wrote: > > On 2014-06-17 20:13, Dave Chinner wrote: > > >On Tue, Jun 17, 2014 at 07:24:10PM -0700, Jens Axboe wrote: > > >>On 2014-06-17 17:28, Dave Chinner wrote: > > >>>[cc linux-mm] > > >>> > > >>>On Tue, Jun 17, 2014 at 07:23:58AM -0600, Jens Axboe wrote: > > >>>>On 2014-06-16 16:27, Dave Chinner wrote: > > >>>>>On Mon, Jun 16, 2014 at 01:30:42PM -0600, Jens Axboe wrote: > > >>>>>>On 06/16/2014 01:19 AM, Dave Chinner wrote: > > >>>>>>>On Sun, Jun 15, 2014 at 08:58:46PM -0600, Jens Axboe wrote: > > >>>>>>>>On 2014-06-15 20:00, Dave Chinner wrote: > > >>>>>>>>>On Mon, Jun 16, 2014 at 08:33:23AM +1000, Dave Chinner wrote: > > >>>>>>>>>FWIW, the non-linear system CPU overhead of a fs_mark test I've been > > >>>>>>>>>running isn't anything related to XFS. The async fsync workqueue > > >>>>>>>>>results in several thousand worker threads dispatching IO > > >>>>>>>>>concurrently across 16 CPUs: > > >.... > > >>>>>>>>>I know that the tag allocator has been rewritten, so I tested > > >>>>>>>>>against a current a current Linus kernel with the XFS aio-fsync > > >>>>>>>>>patch. The results are all over the place - from several sequential > > >>>>>>>>>runs of the same test (removing the files in between so each tests > > >>>>>>>>>starts from an empty fs): > > >>>>>>>>> > > >>>>>>>>>Wall time sys time IOPS files/s > > >>>>>>>>>4m58.151s 11m12.648s 30,000 13,500 > > >>>>>>>>>4m35.075s 12m45.900s 45,000 15,000 > > >>>>>>>>>3m10.665s 11m15.804s 65,000 21,000 > > >>>>>>>>>3m27.384s 11m54.723s 85,000 20,000 > > >>>>>>>>>3m59.574s 11m12.012s 50,000 16,500 > > >>>>>>>>>4m12.704s 12m15.720s 50,000 17,000 > > .... > > >But the IOPS rate has definitely increased with this config > > >- I just saw 90k, 100k and 110k IOPS in the last 3 iterations of the > > >workload (the above profile is from the 100k IOPS period). However, > > >the wall time was still only 3m58s, which again tends to implicate > > >the write() portion of the benchmark for causing the slowdowns > > >rather than the fsync() portion that is dispatching all the IO... > > > > Some contention for this case is hard to avoid, and the above looks > > better than 3.15 does. So the big question is whether it's worth > > fixing the gaps with multiple waitqueues (and if that actually still > > buys us anything), or whether we should just disable them. > > > > If I can get you to try one more thing, can you apply this patch and > > give that a whirl? Get rid of the other patches I sent first, this > > has everything. > > Not much difference in the CPU usage profiles or base line > performance. It runs at 3m10s from empty memory, and ~3m45s when > memory starts full of clean pages. system time varies from 10m40s to > 12m55s with no real correlation to overall runtime. > > From observation of all the performance metrics I graph in real > time, however, the pattern of the peaks and troughs from run to run > and even iteration to iteration is much more regular than the > previous patches. So from that perspective it is an improvement. > Again, all the variability in the graphs show up when free memory > runs out... And I've identified the commit that caused the memory reclaim behaviour to go south: commit 1f6d64829db78a7e1d63e15c9f48f0a5d2b5a679 Author: Dave Chinner Date: Fri Jun 6 15:59:59 2014 +1000 xfs: block allocation work needs to be kswapd aware Upon memory pressure, kswapd calls xfs_vm_writepage() from shrink_page_list(). This can result in delayed allocation occurring and that gets deferred to the the allocation workqueue. The allocation then runs outside kswapd context, which means if it needs memory (and it does to demand page metadata from disk) it can block in shrink_inactive_list() waiting for IO congestion. These blocking waits are normally avoiding in kswapd context, so under memory pressure writeback from kswapd can be arbitrarily delayed by memory reclaim. To avoid this, pass the kswapd context to the allocation being done by the workqueue, so that memory reclaim understands correctly that the work is being done for kswapd and therefore it is not blocked and does not delay memory reclaim. To avoid issues with int->char conversion of flag fields (as noticed in v1 of this patch) convert the flag fields in the struct xfs_bmalloca to bool types. pahole indicates these variables are still single byte variables, so no extra space is consumed by this change. cc: Reported-by: Tetsuo Handa Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner Reverting this patch results in runtimes of between 3m and 3m10s regardless of the amount of free memory when the test starts. I'm probably going to have to revert this and make sure it stays out of the stable kernels now - I think that unbalancing memory reclaim and introducing performance degradations of 25-30% to work around a problem that is only hit by an extreme memory pressure stress test is a bad trade-off..... Cheers, Dave. -- Dave Chinner david@fromorbit.com From support@jmftradegroup.com Wed Jun 18 02:57:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.7 required=5.0 tests=FH_FROMEML_NOTLD,HTML_MESSAGE, UNPARSEABLE_RELAY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B4A0E7F3F for ; Wed, 18 Jun 2014 02:57:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2EE1AAC004 for ; Wed, 18 Jun 2014 00:57:57 -0700 (PDT) X-ASG-Debug-ID: 1403078273-04cbb00a02179c10001-NocioJ Received: from smtpauth01.csee.siteprotect.eu (smtpauth01.csee.siteprotect.eu [83.246.86.180]) by cuda.sgi.com with ESMTP id 5Y4hSXEuxaygMPf8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 00:57:54 -0700 (PDT) X-Barracuda-Envelope-From: support@jmftradegroup.com X-Barracuda-Apparent-Source-IP: 83.246.86.180 Received: from Authenticated sender: barry@blouser.info by smtpauth01.csee.siteprotect.eu (Postfix) with ESMTPA id 75C709A829 for ; Wed, 18 Jun 2014 07:11:27 +0200 (CEST) Content-Type: multipart/alternative; boundary="===============1913314081==" MIME-Version: 1.0 Subject: =?utf-8?b?5LuY5qy+6YCa55+l?= To: xfs@oss.sgi.com X-ASG-Orig-Subj: =?utf-8?b?5LuY5qy+6YCa55+l?= From: =?utf-8?b?Iue9keS4iuaUr+S7mCIgIDwgc3VwcG9ydEBqbWZ0cmFkZWdyb3VwLmNvbSA+?= Date: Wed, 18 Jun 2014 00:11:25 -0500 X-Barracuda-Connect: smtpauth01.csee.siteprotect.eu[83.246.86.180] X-Barracuda-Start-Time: 1403078274 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-BRTS-Evidence: e71001632cb5490a40b9592734aa2851-106-txt X-Barracuda-Spam-Score: 0.14 X-Barracuda-Spam-Status: No, SCORE=0.14 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0113c, HTML_MESSAGE, MISSING_MID, UNPARSEABLE_RELAY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6742 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c 0.00 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 0.00 HTML_MESSAGE BODY: HTML included in message Message-Id: <20140618075756.A521B1B8011@cuda.sgi.com> You will not see this in a MIME-aware mail reader. --===============1913314081== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body =60A8=597D=FF0C = =60A8=6536=5230=4E86=6765=81EA=6C47=4E30=94F6=884C=7684=652F=4ED8=3002 = =70B9=51FB=8FD9=91CC =67E5=770B=4ED8=6B3E=7EC6=8282=3002 = = =8C22=8C22=3002 --===============1913314081== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body
 
=E6= =82=A8=E5=A5=BD=EF=BC=8C 

 
=E6=82=A8=E6=94=B6=E5=88=B0=E4=BA=86=E6=9D=A5=E8=87=AA=E6=B1=87=E4= =B8=B0=E9=93=B6=E8=A1=8C=E7=9A=84=E6=94=AF=E4=BB=98=E3=80=82 
=E7=82=B9=E5=87=BB=E8=BF=99=E9=87=8C&nbs= p;=E6=9F=A5=E7=9C=8B=E4=BB=98=E6=AC=BE=E7=BB=86=E8=8A=82=E3=80=82 
=  

 =
=E8=B0=A2=E8=B0= =A2=E3=80=82
--===============1913314081==-- From chickingspices23@gmail.com Wed Jun 18 03:18:52 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=DEAR_SOMETHING, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,FREEMAIL_REPLYTO,HTML_MESSAGE, T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id F06077F3F for ; Wed, 18 Jun 2014 03:18:52 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id E39A28F8073 for ; Wed, 18 Jun 2014 01:18:49 -0700 (PDT) X-ASG-Debug-ID: 1403079524-04cb6c78c42d2ec0001-NocioJ Received: from mail-vc0-f193.google.com (mail-vc0-f193.google.com [209.85.220.193]) by cuda.sgi.com with ESMTP id 46dJVFCr18JEPsWd (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 18 Jun 2014 01:18:45 -0700 (PDT) X-Barracuda-Envelope-From: chickingspices23@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.220.193 X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.193] Received: by mail-vc0-f193.google.com with SMTP id il7so124113vcb.0 for ; Wed, 18 Jun 2014 01:18:44 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.193] X-Barracuda-IPDD: Level1 [gmail.com/209.85.220.193] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:date:message-id:subject:from:to:content-type; bh=0N4WnXrKG3cksk0Nm/Jxj6XKARG+5SCe6fZq5SHlbx0=; b=Q8oUUv3s+BnAZsVXhf2dcOEgMW4uqcWN4hj22SpfOSWYeCnucqKLQLffpRAqi3f+qx jG+I6pi3DlQ8Y98wEDuvKVJLolbPtFKs1gWhzjb4VsCA3IYPmwlfQxC0VYNPgbeoTVV4 Pcja/qIi0v7x+RRD7ftmQRXKYIT3O2Fx714v6o+UYbLxp5lS0iNO5Uu88EZau5LBYakL mbKICAe7H7qmy7FHVVU4uGbUPpF7/boyRX9J1FtEZN30PRpbBcjdoTKtuuXc6+WoTHmW 8uCZPHwQJ8qiPkWMVdQJ3rny7aWCrow2QctdLCeFqhyvXJ/AQDbsL4LKYUx9ax58vqBU ftPA== MIME-Version: 1.0 X-Received: by 10.58.30.1 with SMTP id o1mr58085veh.37.1403073191654; Tue, 17 Jun 2014 23:33:11 -0700 (PDT) Received: by 10.52.94.52 with HTTP; Tue, 17 Jun 2014 23:33:11 -0700 (PDT) Reply-To: rh.caeeruk@gmail.com Date: Tue, 17 Jun 2014 23:33:11 -0700 Message-ID: Subject: Abdul Exports Treading company South African From: Abdul exports Treading company South African X-ASG-Orig-Subj: Abdul Exports Treading company South African To: nokia3216@yahoo.com Content-Type: multipart/alternative; boundary=089e013cbe5e2ebbf704fc166ff4 X-Barracuda-Connect: mail-vc0-f193.google.com[209.85.220.193] X-Barracuda-Start-Time: 1403079525 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, BSF_SC0_SA038b, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6742 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message 0.20 BSF_SC0_SA038b Custom Rule SA038b --089e013cbe5e2ebbf704fc166ff4 Content-Type: text/plain; charset=UTF-8 Dear Sir This is Mr Abdul Sami from Abdul exports Treading company South African , we have got your company info from our treading client and we are interested in your products. we are in to export and import , we will like to know your production/shipment time and send us your catalog and price list so that we can discuss further on the FOB. Meanwhile the quality of the product must be gran-teed to enable us establish a good business relationship. Kindly acknowledge and oblige. With warm regards, MR Abdul Sami Ltd Abdul Exports Treading company South African(1979) PTE LTD | Co. Reg. No. 197900390D 180 Paya Road, Guang Building 02-01/02 South African 409032 Tel: (+27) 6747 1721 | Fax: (27) 6742 1296 Email: rh.caeeruk@gmail.com Website: www.modernpak.com.sg --089e013cbe5e2ebbf704fc166ff4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Dear Sir


This is Mr =C2=A0 Abdul Sami =C2=A0 from Abdul exports Treading company Sou= th
African , we have got your company info from our treading client and
we are interested in your products. we are in to export and import ,
we will like to know your production/shipment time and send us your
catalog and price list so that we can discuss further on the FOB.

Meanwhile the quality of the product must be gran-teed to enable us
establish a good business relationship. Kindly acknowledge and oblige.


With warm regards,
MR =C2=A0Abdul Sami Ltd
Abdul Exports Treading company South
African(1979) PTE LTD | Co. Reg. No. 197900390D
180 Paya =C2=A0Road, Guang Building 02-01/02
South African 409032
Tel: (+27) 6747 1721 =C2=A0 | =C2=A0Fax: (27) 6742 1296
Email:=C2=A0 rh.c= aeeruk@gmail.com
Website: www.mode= rnpak.com.sg
--089e013cbe5e2ebbf704fc166ff4-- From dave@fromorbit.com Wed Jun 18 03:55:51 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 9C01D7F3F for ; Wed, 18 Jun 2014 03:55:51 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0BE7DAC003 for ; Wed, 18 Jun 2014 01:55:47 -0700 (PDT) X-ASG-Debug-ID: 1403081744-04cbb00a0117bbb0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id bQ4c9hfltlMZm4gm for ; Wed, 18 Jun 2014 01:55:44 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmdRAP9SoVN5LC2vPGdsb2JhbABagw2IT6JqAQEBAQEBBpo2FwQBAQEBODWEAwEtLzsYagMHLRuIJp03rkqFYo1dBLFvK4ExJA Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 18:25:43 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1WxBef-0006wB-Jc for xfs@oss.sgi.com; Wed, 18 Jun 2014 18:55:41 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1WxBef-0001Ck-IP for xfs@oss.sgi.com; Wed, 18 Jun 2014 18:55:41 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH] xfs: refine the allocation stack switch Date: Wed, 18 Jun 2014 18:55:41 +1000 X-ASG-Orig-Subj: [PATCH] xfs: refine the allocation stack switch Message-Id: <1403081741-4596-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403081744 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6743 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner The allocation stack switch at xfs_bmapi_allocate() has served it's purpose, but is no longer a sufficient solution to the stack usage problem we have in the XFS allocation path. Whilst the kernel stack size is now 16k, that is not a valid reason for undoing all our "keep stack usage down" modifications. What it does allow us to do is have the freedom to refine and perfect the modifications knowing that if we get it wrong it won't blow up in our faces - we have a safety net now. This is important because we still have the issue of older kernels having smaller stacks and that they are still supported and are demonstrating a wide range of different stack overflows. Red Hat has several open bugs for allocation based stack overflows from directory modifications and direct IO block allocation and these problems still need to be solved. If we can solve them upstream, then distro's won't need to bake their own unique solutions. To that end, I've observed that every allocation based stack overflow report has had a specific characteristic - it has happened during or directly after a bmap btree block split. That event requires a new block to be allocated to the tree, and so we effectively stack one allocation stack on top of another, and that's when we get into trouble. A further observation is that bmap btree block splits are much rarer than writeback allocation - over a range of different workloads I've observed the ratio of bmap btree inserts to splits ranges from 100:1 (xfstests run) to 10000:1 (local VM image server with sparse files that range in the hundreds of thousands to millions of extents). Either way, bmap btree split events are much, much rarer than allocation events. Finally, we have to move the kswapd state tothe allocation workqueue work when allocation is done on behalf of kswapd. This is proving to cause significant perturbation in performance under memory pressure and appears to be generating allocation deadlock warnings under some workloads, so avoiding the use of a workqueue for the majority of kswapd writeback allocation will minimise the impact of such behaviour. Hence it makes sense to move the stack switch to xfs_btree_split() and only do it for bmap btree splits. Stack switches during allocation will be much rarer, so there won't be significant performacne overhead caused by switching stacks. The worse case stack from all allocation paths will be split, not just writeback. And the majority of memory allocations will be done in the correct context (e.g. kswapd) without causing additional latency, and so we simplify the memory reclaim interactions between processes, workqueues and kswapd. The worst stack I've been able to generate with this patch in place is 5600 bytes deep. It's very revealing because we exit XFS at: 37) 1768 64 kmem_cache_alloc+0x13b/0x170 about 1800 bytes of stack consumed, and the remaining 3800 bytes (and 36 functions) is memory reclaim, swap and the IO stack. And this occurs in the inode allocation from an open(O_CREAT) syscall, not writeback. The amount of stack being used is much less than I've previously be able to generate - fs_mark testing has been able to generate stack usage of around 7k without too much trouble; with this patch it's only just getting to 5.5k. This is primarily because the metadata allocation paths (e.g. directory blocks) are no longer causing double splits on the same stack, and hence now stack tracing is showing swapping being the worst stack consumer rather than XFS. Performance of fs_mark inode create workloads is unchanged. Performance of fs_mark async fsync workloads is consistently good with context switches reduced by around 150,000/s (30%). Performance of dbench, streaming IO and postmark is unchanged. Allocation deadlock warnings have not been seen on the workloads that generated them since adding this patch. Signed-off-by: Dave Chinner --- fs/xfs/libxfs/xfs_bmap.c | 4 +-- fs/xfs/libxfs/xfs_btree.c | 84 +++++++++++++++++++++++++++++++++++++++++++++-- fs/xfs/xfs_bmap_util.c | 53 ------------------------------ fs/xfs/xfs_bmap_util.h | 2 -- 4 files changed, 84 insertions(+), 59 deletions(-) diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c index 72a110e..d40cef0 100644 --- a/fs/xfs/libxfs/xfs_bmap.c +++ b/fs/xfs/libxfs/xfs_bmap.c @@ -4298,8 +4298,8 @@ xfs_bmapi_delay( } -int -__xfs_bmapi_allocate( +static int +xfs_bmapi_allocate( struct xfs_bmalloca *bma) { struct xfs_mount *mp = bma->ip->i_mount; diff --git a/fs/xfs/libxfs/xfs_btree.c b/fs/xfs/libxfs/xfs_btree.c index 0097c42..9de1153 100644 --- a/fs/xfs/libxfs/xfs_btree.c +++ b/fs/xfs/libxfs/xfs_btree.c @@ -33,6 +33,7 @@ #include "xfs_error.h" #include "xfs_trace.h" #include "xfs_cksum.h" +#include "xfs_alloc.h" /* * Cursor allocation zone. @@ -2322,8 +2323,8 @@ error1: * Return new block number and the key to its first * record (to be inserted into parent). */ -STATIC int /* error */ -xfs_btree_split( +int /* error */ +__xfs_btree_split( struct xfs_btree_cur *cur, int level, union xfs_btree_ptr *ptrp, @@ -2503,6 +2504,85 @@ error0: return error; } +struct xfs_btree_split_args { + struct xfs_btree_cur *cur; + int level; + union xfs_btree_ptr *ptrp; + union xfs_btree_key *key; + struct xfs_btree_cur **curp; + int *stat; /* success/failure */ + int result; + bool kswapd; /* allocation in kswapd context */ + struct completion *done; + struct work_struct work; +}; + +/* + * Stack switching interfaces for allocation + */ +static void +xfs_btree_split_worker( + struct work_struct *work) +{ + struct xfs_btree_split_args *args = container_of(work, + struct xfs_btree_split_args, work); + unsigned long pflags; + unsigned long new_pflags = PF_FSTRANS; + + /* + * we are in a transaction context here, but may also be doing work + * in kswapd context, and hence we may need to inherit that state + * temporarily to ensure that we don't block waiting for memory reclaim + * in any way. + */ + if (args->kswapd) + new_pflags |= PF_MEMALLOC | PF_SWAPWRITE | PF_KSWAPD; + + current_set_flags_nested(&pflags, new_pflags); + + args->result = __xfs_btree_split(args->cur, args->level, args->ptrp, + args->key, args->curp, args->stat); + complete(args->done); + + current_restore_flags_nested(&pflags, new_pflags); +} + +/* + * BMBT split requests often come in with little stack to work on. Push + * them off to a worker thread so there is lots of stack to use. For the other + * btree types, just call directly to avoid the context switch overhead here. + */ +STATIC int /* error */ +xfs_btree_split( + struct xfs_btree_cur *cur, + int level, + union xfs_btree_ptr *ptrp, + union xfs_btree_key *key, + struct xfs_btree_cur **curp, + int *stat) /* success/failure */ +{ + struct xfs_btree_split_args args; + DECLARE_COMPLETION_ONSTACK(done); + + if (cur->bc_btnum != XFS_BTNUM_BMAP) + return __xfs_btree_split(cur, level, ptrp, key, curp, stat); + + args.cur = cur; + args.level = level; + args.ptrp = ptrp; + args.key = key; + args.curp = curp; + args.stat = stat; + args.done = &done; + args.kswapd = current_is_kswapd(); + INIT_WORK_ONSTACK(&args.work, xfs_btree_split_worker); + queue_work(xfs_alloc_wq, &args.work); + wait_for_completion(&done); + destroy_work_on_stack(&args.work); + return args.result; +} + + /* * Copy the old inode root contents into a real block and make the * broot point to it. diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 56f050e..43a9744 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c @@ -249,59 +249,6 @@ xfs_bmap_rtalloc( } /* - * Stack switching interfaces for allocation - */ -static void -xfs_bmapi_allocate_worker( - struct work_struct *work) -{ - struct xfs_bmalloca *args = container_of(work, - struct xfs_bmalloca, work); - unsigned long pflags; - unsigned long new_pflags = PF_FSTRANS; - - /* - * we are in a transaction context here, but may also be doing work - * in kswapd context, and hence we may need to inherit that state - * temporarily to ensure that we don't block waiting for memory reclaim - * in any way. - */ - if (args->kswapd) - new_pflags |= PF_MEMALLOC | PF_SWAPWRITE | PF_KSWAPD; - - current_set_flags_nested(&pflags, new_pflags); - - args->result = __xfs_bmapi_allocate(args); - complete(args->done); - - current_restore_flags_nested(&pflags, new_pflags); -} - -/* - * Some allocation requests often come in with little stack to work on. Push - * them off to a worker thread so there is lots of stack to use. Otherwise just - * call directly to avoid the context switch overhead here. - */ -int -xfs_bmapi_allocate( - struct xfs_bmalloca *args) -{ - DECLARE_COMPLETION_ONSTACK(done); - - if (!args->stack_switch) - return __xfs_bmapi_allocate(args); - - - args->done = &done; - args->kswapd = current_is_kswapd(); - INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); - queue_work(xfs_alloc_wq, &args->work); - wait_for_completion(&done); - destroy_work_on_stack(&args->work); - return args->result; -} - -/* * Check if the endoff is outside the last extent. If so the caller will grow * the allocation to a stripe unit boundary. All offsets are considered outside * the end of file for an empty fork, so 1 is returned in *eof in that case. diff --git a/fs/xfs/xfs_bmap_util.h b/fs/xfs/xfs_bmap_util.h index 075f722..5f8abb9 100644 --- a/fs/xfs/xfs_bmap_util.h +++ b/fs/xfs/xfs_bmap_util.h @@ -66,8 +66,6 @@ struct xfs_bmalloca { int xfs_bmap_finish(struct xfs_trans **tp, struct xfs_bmap_free *flist, int *committed); int xfs_bmap_rtalloc(struct xfs_bmalloca *ap); -int xfs_bmapi_allocate(struct xfs_bmalloca *args); -int __xfs_bmapi_allocate(struct xfs_bmalloca *args); int xfs_bmap_eof(struct xfs_inode *ip, xfs_fileoff_t endoff, int whichfork, int *eof); int xfs_bmap_count_blocks(struct xfs_trans *tp, struct xfs_inode *ip, -- 2.0.0 From m.mizuma@jp.fujitsu.com Wed Jun 18 04:37:52 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 89CA37F3F for ; Wed, 18 Jun 2014 04:37:52 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 735178F8065 for ; Wed, 18 Jun 2014 02:37:52 -0700 (PDT) X-ASG-Debug-ID: 1403084268-04cb6c78c62d6310001-NocioJ Received: from fgwmail.fujitsu.co.jp (fgwmail.fujitsu.co.jp [164.71.1.133]) by cuda.sgi.com with ESMTP id JDwdtEhKNChFGnKs (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 02:37:49 -0700 (PDT) X-Barracuda-Envelope-From: m.mizuma@jp.fujitsu.com X-Barracuda-Apparent-Source-IP: 164.71.1.133 Received: from kw-mxoi1.gw.nic.fujitsu.com (unknown [10.0.237.133]) by fgwmail.fujitsu.co.jp (Postfix) with ESMTP id 201B63EE0BD for ; Wed, 18 Jun 2014 18:37:48 +0900 (JST) Received: from s3.gw.fujitsu.co.jp (s3.gw.nic.fujitsu.com [10.0.50.93]) by kw-mxoi1.gw.nic.fujitsu.com (Postfix) with ESMTP id 39101AC060F for ; Wed, 18 Jun 2014 18:37:47 +0900 (JST) Received: from g01jpfmpwyt03.exch.g01.fujitsu.local (g01jpfmpwyt03.exch.g01.fujitsu.local [10.128.193.57]) by s3.gw.fujitsu.co.jp (Postfix) with ESMTP id DCC69E18002 for ; Wed, 18 Jun 2014 18:37:46 +0900 (JST) Received: from G01JPEXCHYT15.g01.fujitsu.local (G01JPEXCHYT15.g01.fujitsu.local [10.128.194.54]) by g01jpfmpwyt03.exch.g01.fujitsu.local (Postfix) with ESMTP id BBE9646E46D; Wed, 18 Jun 2014 18:37:12 +0900 (JST) Received: from [10.124.101.151] (10.124.101.151) by G01JPEXCHYT15.g01.fujitsu.local (10.128.194.54) with Microsoft SMTP Server (TLS) id 14.3.181.6; Wed, 18 Jun 2014 18:37:10 +0900 Message-ID: <53A15DC7.50001@jp.fujitsu.com> Date: Wed, 18 Jun 2014 18:37:11 +0900 From: Masayoshi Mizuma User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Dave Chinner CC: , Subject: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. References: <53A0013A.1010100@jp.fujitsu.com> <20140617132609.GI9508@dastard> X-ASG-Orig-Subj: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. In-Reply-To: <20140617132609.GI9508@dastard> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.124.101.151] X-SecurityPolicyCheck-GC: OK by FENCE-Mail X-TM-AS-MML: No X-Barracuda-Connect: fgwmail.fujitsu.co.jp[164.71.1.133] X-Barracuda-Start-Time: 1403084269 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6743 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 On Tue, 17 Jun 2014 23:26:09 +1000 Dave Chinner wrote: > On Tue, Jun 17, 2014 at 05:50:02PM +0900, Masayoshi Mizuma wrote: >> I found two deadlock problems occur when kswapd writebacks XFS pages. >> I detected these problems on RHEL kernel actually, and I suppose these >> also happen on upstream kernel (3.16-rc1). >> >> 1. >> >> A process (processA) has acquired read semaphore "xfs_cil.xc_ctx_lock" >> at xfs_log_commit_cil() and it is waiting for the kswapd. Then, a >> kworker has issued xlog_cil_push_work() and it is waiting for acquiring >> the write semaphore. kswapd is waiting for acquiring the read semaphore >> at xfs_log_commit_cil() because the kworker has been waiting before for >> acquiring the write semaphore at xlog_cil_push(). Therefore, a deadlock >> happens. >> >> The deadlock flow is as follows. >> >> processA | kworker | kswapd >> ----------------------+--------------------------+---------------------- >> | xfs_trans_commit | | >> | xfs_log_commit_cil | | >> | down_read(xc_ctx_lock)| | >> | xlog_cil_insert_items | | >> | xlog_cil_insert_format_items | >> | kmem_alloc | | >> | : | | >> | shrink_inactive_list | | >> | congestion_wait | | >> | # waiting for kswapd..| | >> | | xlog_cil_push_work | >> | | xlog_cil_push | >> | | xfs_trans_commit | >> | | down_write(xc_ctx_lock) | >> | | # waiting for processA...| >> | | | shrink_page_list >> | | | xfs_vm_writepage >> | | | xfs_map_blocks >> | | | xfs_iomap_write_allocate >> | | | xfs_trans_commit >> | | | xfs_log_commit_cil >> | | | down_read(xc_ctx_lock) >> V(time) | | # waiting for kworker... >> ----------------------+--------------------------+----------------------- > > Where's the deadlock here? congestion_wait() simply times out and > processA continues onward doing memory reclaim. It should continue > making progress, albeit slowly, and if it isn't then the allocation > will fail. If the allocation repeatedly fails then you should be > seeing this in the logs: > > XFS: possible memory allocation deadlock in (mode:0x%x) > > If you aren't seeing that in the logs a few times a second and never > stopping, then the system is still making progress and isn't > deadlocked. processA is stuck at following while loop. In this situation, too_many_isolated() always returns true because kswapd is also stuck... --- static noinline_for_stack unsigned long shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) { ... while (unlikely(too_many_isolated(zone, file, sc))) { congestion_wait(BLK_RW_ASYNC, HZ/10); /* We are about to die and free our memory. Return now. */ if (fatal_signal_pending(current)) return SWAP_CLUSTER_MAX; } --- On that point, this problem is similar to the problem fixed by the following commit. 1f6d64829d xfs: block allocation work needs to be kswapd aware So, the same solution, for example we add PF_KSWAPD to current->flags before calling kmem_alloc(), may fix this problem1... > >> To fix this, should we up the read semaphore before calling kmem_alloc() >> at xlog_cil_insert_format_items() to avoid blocking the kworker? Or, >> should we the second argument of kmem_alloc() from KM_SLEEP|KM_NOFS >> to KM_NOSLEEP to avoid waiting for the kswapd. Or... > > Can't do that - it's in transaction context and so reclaim can't > recurse into the fs. Even if you do remove the flag, kmem_alloc() > will re-add the GFP_NOFS silently because of the PF_FSTRANS flag on > the task, so it won't affect anything... I think kmem_alloc() doesn't re-add the GFP_NOFS if the second argument is set to KM_NOSLEEP. kmem_alloc() will re-add GFP_ATOMIC and __GFP_NOWARN. --- static inline gfp_t kmem_flags_convert(xfs_km_flags_t flags) { gfp_t lflags; BUG_ON(flags & ~(KM_SLEEP|KM_NOSLEEP|KM_NOFS|KM_MAYFAIL|KM_ZERO)); if (flags & KM_NOSLEEP) { lflags = GFP_ATOMIC | __GFP_NOWARN; } else { lflags = GFP_KERNEL | __GFP_NOWARN; if ((current->flags & PF_FSTRANS) || (flags & KM_NOFS)) lflags &= ~__GFP_FS; } if (flags & KM_ZERO) lflags |= __GFP_ZERO; return lflags; } --- > > We might be able to do a down_write_trylock() in xlog_cil_push(), > but we can't delay the push for an arbitrary amount of time - the > write lock needs to be a barrier otherwise we'll get push > starvation and that will lead to checkpoint size overruns (i.e. > temporary journal corruption). I understand, thanks. > >> 2. >> >> A kworker (kworkerA), whish is a writeback thread, is waiting for >> the XFS allocation thread (kworkerB) while it writebacks XFS pages. >> kworkerB has started the allocation and it is waiting for kswapd to >> allocate free pages. kswapd has started writeback XFS pages and >> it is waiting for more log space. The reason why exhaustion of the >> log space is both the writeback thread and kswapd are stuck, so >> some processes, who have allocated the log space and are requesting >> free pages, are also stuck. >> >> The deadlock flow is as follows. >> >> kworkerA | kworkerB | kswapd >> ----------------------+--------------------------+----------------------- >> | wb_writeback | | >> | : | | >> | xfs_vm_writepage | | >> | xfs_map_blocks | | >> | xfs_iomap_write_allocate | >> | xfs_bmapi_write | | >> | xfs_bmapi_allocate | | >> | wait_for_completion | | >> | # waiting for kworkerB... | >> | | xfs_bmapi_allocate_worker| >> | | : | >> | | xfs_buf_get_map | >> | | xfs_buf_allocate_memory | >> | | alloc_pages_current | >> | | : | >> | | shrink_inactive_list | >> | | congestion_wait | >> | | # waiting for kswapd... | >> | | | shrink_page_list >> | | | xfs_vm_writepage >> | | | : >> | | | xfs_log_reserve >> | | | : >> | | | xlog_grant_head_check >> | | | xlog_grant_head_wait >> | | | # waiting for more >> | | | # space... >> V(time) | | >> ----------------------+--------------------------+----------------------- > > Again, anything in congestion_wait() is not stuck and if the > allocations here are repeatedly failing and progress is not being > made, then there should be log messages from XFS indicating this. kworkerB is stuck at the same reason as above processA. > > I need more information about your test setup to understand what is > going on here. Can you provide: > > http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F > > The output of sysrq-w would also be useful here, because the above > abridged stack traces do not tell me everything about the state of > the system I need to know. OK, I will try to get the information when this problem2 is reproduced. Thanks, Masayoshi Mizuma From lists@nerdbynature.de Wed Jun 18 04:44:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FROM_12LTRDOM autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6EB467F3F for ; Wed, 18 Jun 2014 04:44:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 57FB28F8066 for ; Wed, 18 Jun 2014 02:44:31 -0700 (PDT) X-ASG-Debug-ID: 1403084668-04cbb00a0217dc00001-NocioJ Received: from trent.utfs.org (trent.utfs.org [94.185.90.103]) by cuda.sgi.com with ESMTP id N9K61Rc4O5qwKxU7 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 02:44:29 -0700 (PDT) X-Barracuda-Envelope-From: lists@nerdbynature.de X-Barracuda-Apparent-Source-IP: 94.185.90.103 Received: by trent.utfs.org (Postfix, from userid 8) id 07AF93DB54; Wed, 18 Jun 2014 11:44:28 +0200 (CEST) Received: from trent.utfs.org (localhost [127.0.0.1]) by trent.utfs.org (Postfix) with ESMTP id 41E7A3DAD3; Wed, 18 Jun 2014 11:44:27 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by trent.utfs.org (Postfix) with ESMTP id 22B433DA64; Wed, 18 Jun 2014 11:44:27 +0200 (CEST) Date: Wed, 18 Jun 2014 02:44:27 -0700 (PDT) From: Christian Kujau To: xfs@oss.sgi.com cc: Christoph Hellwig Subject: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f Message-ID: X-ASG-Orig-Subj: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f User-Agent: Alpine 2.19.4 (DEB 40 2013-11-18) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-AV-Checked: ClamAV using ClamSMTP (127.0.0.1) X-Barracuda-Connect: trent.utfs.org[94.185.90.103] X-Barracuda-Start-Time: 1403084669 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6743 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) Hi, this PowerBook G4 crashed (power supply failed) and now I have to wait a few days until the new PSU arrives. In the meantime I attached its external disks to an Intel Atom machine (i686) and wanted to mount the disks: # mount -t xfs /dev/mapper/wdc1 /mnt/media mount: /dev/mapper/wdc1: can't read superblock In dmesg: XFS (dm-3): Mounting Filesystem XFS (dm-3): Starting recovery (logdev: internal) XFS (dm-3): log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f. f8808000: 00 00 00 01 00 00 00 00 69 01 00 00 76 63 5a 10 ........i...vcZ. f8808010: 00 00 00 10 69 00 00 00 54 52 41 4e 00 00 00 2a ....i...TRAN...* XFS (dm-3): dirty log written in incompatible format - can't recover XFS (dm-3): log mount/recovery failed: error 5 XFS (dm-3): log mount failed Note: /dev/mapper/wdc1 is a dm-crypt device, not sure if this matters though. Running "xfs_repair -n /dev/mapper/wdc1" came back with an exit code of "0" and did not report anything unusual (attached below). Running xfs_repair (v3.2.0 from Fedora 20) *without* "-n" warns that the filesystem has valuable metadata changes and advises to mount it first. Or use "xfs_repair -L" to clear the log, but I have not done this just yet. I *think* I have mounted the same filesystem before on this i686 system (some weeks ago) but then the filesystem got umounted cleanly from the PowerPC system, where this disk is attached to usually. The PowerPC box is running the latest vanilla kernel (sometimes a few -rc versions behind) and was running 3.15.0 when the power supply failed. This i686 system (an IdeaPad S10 Laptop) is running a semi-current Fedora 20 installation (with 3.14.5-200.fc20.i686 right now). Could it be that endianess has something to do with it? The PowerPC is big-endian I think, and the i686 Laptop is little-endian. Even though I'm almost certain that I've mounted the disk before, now that the filesystem needs to be recovered first, maybe endianess matters now? Ideas welcome :) Thanks, Christian. # xfs_repair -n /dev/mapper/wdc1 Phase 1 - find and verify superblock... Phase 2 - using internal log - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 No modify flag set, skipping phase 5 Phase 6 - check inode connectivity... - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify link counts... No modify flag set, skipping filesystem flush and exiting. # echo $? 0 # file -Ls /dev/mapper/wdc1 /dev/mapper/wdc1: SGI XFS filesystem data (blksz 4096, inosz 256, v2 dirs) # blockdev --getsize64 /dev/mapper/wdc1 1000204323328 # cryptsetup status wdc1 /dev/mapper/wdc1 is active. type: LUKS1 cipher: aes-cbc-essiv:sha256 keysize: 128 bits device: /dev/sdc1 offset: 1032 sectors size: 1953524069 sectors mode: read/write -- BOFH excuse #121: halon system went off and killed the operators. From david@fromorbit.com Wed Jun 18 06:49:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 206DD7F3F for ; Wed, 18 Jun 2014 06:49:20 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 954E1AC002 for ; Wed, 18 Jun 2014 04:49:16 -0700 (PDT) X-ASG-Debug-ID: 1403092153-04cbb00a04181fb0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id MvVTilDnufxKTg7s for ; Wed, 18 Jun 2014 04:49:13 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmNTAAx8oVN5LC2vPGdsb2JhbABagw2DR4UIonEBAQEBAQEGmSgBgQoXBAEBAQE4NYQDAQEEAScTHCMFCwgDDgoJJQ8FJQMHGhMbiB8HzBUXFoVMiRMHhEMEmkKXLSs Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 21:19:00 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxEMM-0007Oq-JM; Wed, 18 Jun 2014 21:48:58 +1000 Date: Wed, 18 Jun 2014 21:48:58 +1000 From: Dave Chinner To: Masayoshi Mizuma Cc: xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. Message-ID: <20140618114858.GQ9508@dastard> X-ASG-Orig-Subj: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. References: <53A0013A.1010100@jp.fujitsu.com> <20140617132609.GI9508@dastard> <53A15DC7.50001@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A15DC7.50001@jp.fujitsu.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403092153 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6746 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 18, 2014 at 06:37:11PM +0900, Masayoshi Mizuma wrote: > > On Tue, 17 Jun 2014 23:26:09 +1000 Dave Chinner wrote: > >On Tue, Jun 17, 2014 at 05:50:02PM +0900, Masayoshi Mizuma wrote: > >>I found two deadlock problems occur when kswapd writebacks XFS pages. > >>I detected these problems on RHEL kernel actually, and I suppose these > >>also happen on upstream kernel (3.16-rc1). > >> > >>1. > >> > >>A process (processA) has acquired read semaphore "xfs_cil.xc_ctx_lock" > >>at xfs_log_commit_cil() and it is waiting for the kswapd. Then, a > >>kworker has issued xlog_cil_push_work() and it is waiting for acquiring > >>the write semaphore. kswapd is waiting for acquiring the read semaphore > >>at xfs_log_commit_cil() because the kworker has been waiting before for > >>acquiring the write semaphore at xlog_cil_push(). Therefore, a deadlock > >>happens. > >> > >>The deadlock flow is as follows. > >> > >> processA | kworker | kswapd > >> ----------------------+--------------------------+---------------------- > >>| xfs_trans_commit | | > >>| xfs_log_commit_cil | | > >>| down_read(xc_ctx_lock)| | > >>| xlog_cil_insert_items | | > >>| xlog_cil_insert_format_items | > >>| kmem_alloc | | > >>| : | | > >>| shrink_inactive_list | | > >>| congestion_wait | | > >>| # waiting for kswapd..| | > >>| | xlog_cil_push_work | > >>| | xlog_cil_push | > >>| | xfs_trans_commit | > >>| | down_write(xc_ctx_lock) | > >>| | # waiting for processA...| > >>| | | shrink_page_list > >>| | | xfs_vm_writepage > >>| | | xfs_map_blocks > >>| | | xfs_iomap_write_allocate > >>| | | xfs_trans_commit > >>| | | xfs_log_commit_cil > >>| | | down_read(xc_ctx_lock) > >>V(time) | | # waiting for kworker... > >> ----------------------+--------------------------+----------------------- > > > >Where's the deadlock here? congestion_wait() simply times out and > >processA continues onward doing memory reclaim. It should continue > >making progress, albeit slowly, and if it isn't then the allocation > >will fail. If the allocation repeatedly fails then you should be > >seeing this in the logs: > > > >XFS: possible memory allocation deadlock in (mode:0x%x) > > > >If you aren't seeing that in the logs a few times a second and never > >stopping, then the system is still making progress and isn't > >deadlocked. > > processA is stuck at following while loop. In this situation, > too_many_isolated() always returns true because kswapd is also stuck... How is this a filesystem problem, though? kswapd is not guaranteed to make writeback progress It's *always* been able to stall waiting on log space or transaction commit during writeback like this, and filesystems are allowed to simply redirty pages to avoid deadlocks. For those playing along at home, this is also the reason why filesystems can't use mempools for writeback structures - they can't guarantee forward progress in low memory situations and mempools aren't a solution to memory allocation problems. Here's a basic example for you: Process A kswapd start transaction allocate block lock AGF 1 read btree block allocate memory for btree buffer loop while (too many isolated) shrink_page_list xfs_vm_writepage xfs_map_blocks xfs_iomap_write_allocate .... start transaction lock AGF 1 See how simple it is to prevent kswapd from making progress? I can think of many, many other ways that XFS can prevent kswapd from making progress and none of them are new.... > --- > static noinline_for_stack unsigned long > shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, > struct scan_control *sc, enum lru_list lru) > { > ... > while (unlikely(too_many_isolated(zone, file, sc))) { > congestion_wait(BLK_RW_ASYNC, HZ/10); > > /* We are about to die and free our memory. Return now. */ > if (fatal_signal_pending(current)) > return SWAP_CLUSTER_MAX; > } > --- > > On that point, this problem is similar to the problem fixed by > the following commit. > > 1f6d64829d xfs: block allocation work needs to be kswapd aware Which has already proven to be the wrong thing to do. I'm ready to revert that because of other performance and memory reclaim regressions I've isolated to that patch. Indeed, it makes my test VMs start to issue allocation deadlock warnings from XFS under workloads that it's never had problems with before.... > So, the same solution, for example we add PF_KSWAPD to current->flags > before calling kmem_alloc(), may fix this problem1... That's just a nasty hack, not a solution. What we need to know is exactly why we are getting stuck with too many isolated pages, and why kswapd seems to be the only thing that can "unisolate" them. Why isn't the bdi flusher thread making progress cleaning pages? Is it stuck in memory reclaim, too? Why do we wait forever rather than failing, winding up the reclaim priority and retrying? I'm not going hack stuff into a filesystem when the problem really looks like a direct reclaim throttling issue. We need to understand exactly how reclaim is getting stuck here and then work out how direct reclaim can avoid getting stuck. Especially in the context of GFP_NOFS allocations... > >>To fix this, should we up the read semaphore before calling kmem_alloc() > >>at xlog_cil_insert_format_items() to avoid blocking the kworker? Or, > >>should we the second argument of kmem_alloc() from KM_SLEEP|KM_NOFS > >>to KM_NOSLEEP to avoid waiting for the kswapd. Or... > > > >Can't do that - it's in transaction context and so reclaim can't > >recurse into the fs. Even if you do remove the flag, kmem_alloc() > >will re-add the GFP_NOFS silently because of the PF_FSTRANS flag on > >the task, so it won't affect anything... > > I think kmem_alloc() doesn't re-add the GFP_NOFS if the second argument > is set to KM_NOSLEEP. kmem_alloc() will re-add GFP_ATOMIC and __GFP_NOWARN. The second argument is KM_SLEEP|KM_NOFS, so what it does when KM_NOSLEEP is set is irrelevant to the discussion at hand. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 18 07:01:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CA7557F3F for ; Wed, 18 Jun 2014 07:01:31 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A79BC8F8059 for ; Wed, 18 Jun 2014 05:01:28 -0700 (PDT) X-ASG-Debug-ID: 1403092885-04bdf056672f3f50001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id IhTm6bA5HjjV8fVS for ; Wed, 18 Jun 2014 05:01:26 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmNTANJ+oVN5LC2vPGdsb2JhbABUBoMNg0eFCKJxAQEBAQEBBpkoAYEKFwQBAQEBODWEAwEBBAEnExwjBQsIAw4KCSUPBSUDBxoTiDoHzBsXFoVMiEULQweEQwSaQotci1Er Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl2.internode.on.net with ESMTP; 18 Jun 2014 21:31:25 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxEYO-0007Qi-BS; Wed, 18 Jun 2014 22:01:24 +1000 Date: Wed, 18 Jun 2014 22:01:24 +1000 From: Dave Chinner To: Christian Kujau Cc: xfs@oss.sgi.com, Christoph Hellwig Subject: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f Message-ID: <20140618120124.GR9508@dastard> X-ASG-Orig-Subj: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403092885 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6746 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) On Wed, Jun 18, 2014 at 02:44:27AM -0700, Christian Kujau wrote: > Hi, > > this PowerBook G4 crashed (power supply failed) and now I have to wait a > few days until the new PSU arrives. In the meantime I attached its > external disks to an Intel Atom machine (i686) and wanted to mount the > disks: The XFS transactions in the log are not endian neutral - they are written in the endian format of the current CPU. PowerBook G4 is a ppc chip which is big endian, intel atom is little endian. The log headers are always big endian, and they have a field in the header to determine the endianness of the contents of the log records... > # mount -t xfs /dev/mapper/wdc1 /mnt/media > mount: /dev/mapper/wdc1: can't read superblock > > In dmesg: > > XFS (dm-3): Mounting Filesystem > XFS (dm-3): Starting recovery (logdev: internal) > XFS (dm-3): log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f. > f8808000: 00 00 00 01 00 00 00 00 69 01 00 00 76 63 5a 10 ........i...vcZ. > f8808010: 00 00 00 10 69 00 00 00 54 52 41 4e 00 00 00 2a ....i...TRAN...* > XFS (dm-3): dirty log written in incompatible format - can't recover > XFS (dm-3): log mount/recovery failed: error 5 > XFS (dm-3): log mount failed if (unlikely(head->h_fmt != cpu_to_be32(XLOG_FMT))) { xfs_warn(mp, "dirty log written in incompatible format - can't recover"); #ifdef XFS_NATIVE_HOST #define XLOG_FMT XLOG_FMT_LINUX_BE #else #define XLOG_FMT XLOG_FMT_LINUX_LE #endif So that's exactly what I'd expect to see from filesystem with the wrong endianness in the log. > Note: /dev/mapper/wdc1 is a dm-crypt device, not sure if this matters > though. > > Running "xfs_repair -n /dev/mapper/wdc1" came back with an exit code of > "0" and did not report anything unusual (attached below). > > Running xfs_repair (v3.2.0 from Fedora 20) *without* "-n" warns that the > filesystem has valuable metadata changes and advises to mount it first. Or > use "xfs_repair -L" to clear the log, but I have not done this just yet. "-n" simply ignores what is in the log. > I *think* I have mounted the same filesystem before on this i686 system > (some weeks ago) but then the filesystem got umounted cleanly from the > PowerPC system, where this disk is attached to usually. Yes, that's the only way to safely move a filesystem between machines of different endianness - a clean log has nothing to replay, so no endian problems and all new records will be written according to the endianness of the host the filesystem is currently mounted on. > Could it be that endianess has something to do with it? The PowerPC is > big-endian I think, and the i686 Laptop is little-endian. Even though I'm > almost certain that I've mounted the disk before, now that the filesystem > needs to be recovered first, maybe endianess matters now? Always has mattered for the log. We're slowly moving the structure of the internal code to be able to fix the endianess of the transaction contents, but we're not really in any hurry given most archs are moving to be little endian anyway.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bfoster@redhat.com Wed Jun 18 07:28:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 521B87F3F for ; Wed, 18 Jun 2014 07:28:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4737F8F8033 for ; Wed, 18 Jun 2014 05:28:14 -0700 (PDT) X-ASG-Debug-ID: 1403094492-04cbb00a021839d0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Cuh3RMNJV2ohBjHJ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 05:28:13 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ICS4GY019133 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Jun 2014 08:28:04 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5ICS4rL010281; Wed, 18 Jun 2014 08:28:04 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 62146120188; Wed, 18 Jun 2014 08:28:03 -0400 (EDT) Date: Wed, 18 Jun 2014 08:28:03 -0400 From: Brian Foster To: Dave Chinner Cc: fstests@vger.kernel.org, xfs@oss.sgi.com Subject: Re: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT Message-ID: <20140618122803.GA57367@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH v3] xfstests: test speculative preallocation reclaim on ENOSPC/EDQUOT References: <1402508170-61125-1-git-send-email-bfoster@redhat.com> <20140618004355.GZ4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140618004355.GZ4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403094493 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 18, 2014 at 10:43:55AM +1000, Dave Chinner wrote: > On Wed, Jun 11, 2014 at 01:36:10PM -0400, Brian Foster wrote: > > XFS can allocate significant amounts of space to files via speculative > > preallocation. Such preallocation may not be reclaimed automatically on > > file close() if a file is repeatedly opened and extended. For smaller > > filesystems with relatively large and slow growing files, this > > preallocation can linger for some time, including contributing to out of > > space conditions. > > > > Create a situation where an fs is near out of space while several files > > still have lingering, significant preallocations. Verify that new > > writers reclaim the preallocated space rather than return ENOSPC. Repeat > > a similar test for quota limits and EDQUOT. > > > > Signed-off-by: Brian Foster > > Hi Brian, > > My test machines all fail this test with output like this: > This is most likely due to not having the corresponding eofblocks scan on enospc patches (as noted on irc). The test creates the conditions that currently lead to ENOSPC and tests that the scan frees up enough space to allow writes to proceed. Let me know if you continue to reproduce this and I'll dig further into it... Brian > xfs/014 - output mismatch (see /home/dave/src/xfstests-dev/results//xfs/014.out.bad) > --- tests/xfs/014.out 2014-06-18 09:32:59.000000000 +1000 > +++ /home/dave/src/xfstests-dev/results//xfs/014.out.bad 2014-06-18 10:27:10.000000000 +1000 > @@ -1,2 +1,7 @@ > QA output created by 014 > Silence is golden. > +/mnt/scratch/014.mnt/file.0: No space left on device > +pwrite64: No space left on device > +/mnt/scratch/014.mnt/file.2: No space left on device > +pwrite64: No space left on device > +pwrite64: Disk quota exceeded > ..... > > or this from a 1k block size filesystem: > > xfs/014 - output mismatch (see /home/dave/src/xfstests-dev/results//xfs/014.out.bad) > --- tests/xfs/014.out 2014-06-18 09:32:59.000000000 +1000 > +++ /home/dave/src/xfstests-dev/results//xfs/014.out.bad 2014-06-18 10:29:15.000000000 +1000 > @@ -1,2 +1,7 @@ > QA output created by 014 > Silence is golden. > +pwrite64: No space left on device > +pwrite64: No space left on device > +pwrite64: No space left on device > +pwrite64: No space left on device > +pwrite64: Disk quota exceeded > ..... > > I'm still going to commit the test as it stands, but could you see > if you can reproduce this or suggest hints as to where it might be > going wrong? > > FWIW, patches to tee the stderr output to both the golden output and > the $seqres.full file will make it much easier to determine what > write is failing.... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Wed Jun 18 08:29:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 533EE7F3F for ; Wed, 18 Jun 2014 08:29:18 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 28F90304067 for ; Wed, 18 Jun 2014 06:29:15 -0700 (PDT) X-ASG-Debug-ID: 1403098153-04bdf056662f7f60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id jrZe0ssqydRt9mwc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 06:29:14 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5IDT8mX027459 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Jun 2014 09:29:08 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5IDT8r9017047; Wed, 18 Jun 2014 09:29:08 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 1E190120188; Wed, 18 Jun 2014 09:29:07 -0400 (EDT) Date: Wed, 18 Jun 2014 09:29:06 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: refine the allocation stack switch Message-ID: <20140618132906.GB57367@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH] xfs: refine the allocation stack switch References: <1403081741-4596-1-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1403081741-4596-1-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403098153 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Wed, Jun 18, 2014 at 06:55:41PM +1000, Dave Chinner wrote: > From: Dave Chinner > > The allocation stack switch at xfs_bmapi_allocate() has served it's > purpose, but is no longer a sufficient solution to the stack usage > problem we have in the XFS allocation path. > ... > Signed-off-by: Dave Chinner > --- > fs/xfs/libxfs/xfs_bmap.c | 4 +-- > fs/xfs/libxfs/xfs_btree.c | 84 +++++++++++++++++++++++++++++++++++++++++++++-- > fs/xfs/xfs_bmap_util.c | 53 ------------------------------ > fs/xfs/xfs_bmap_util.h | 2 -- > 4 files changed, 84 insertions(+), 59 deletions(-) > ... > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c > index 56f050e..43a9744 100644 > --- a/fs/xfs/xfs_bmap_util.c > +++ b/fs/xfs/xfs_bmap_util.c > @@ -249,59 +249,6 @@ xfs_bmap_rtalloc( > } > > /* > - * Stack switching interfaces for allocation > - */ > -static void > -xfs_bmapi_allocate_worker( > - struct work_struct *work) > -{ > - struct xfs_bmalloca *args = container_of(work, > - struct xfs_bmalloca, work); > - unsigned long pflags; > - unsigned long new_pflags = PF_FSTRANS; > - > - /* > - * we are in a transaction context here, but may also be doing work > - * in kswapd context, and hence we may need to inherit that state > - * temporarily to ensure that we don't block waiting for memory reclaim > - * in any way. > - */ > - if (args->kswapd) > - new_pflags |= PF_MEMALLOC | PF_SWAPWRITE | PF_KSWAPD; > - > - current_set_flags_nested(&pflags, new_pflags); > - > - args->result = __xfs_bmapi_allocate(args); > - complete(args->done); > - > - current_restore_flags_nested(&pflags, new_pflags); > -} > - > -/* > - * Some allocation requests often come in with little stack to work on. Push > - * them off to a worker thread so there is lots of stack to use. Otherwise just > - * call directly to avoid the context switch overhead here. > - */ > -int > -xfs_bmapi_allocate( > - struct xfs_bmalloca *args) > -{ > - DECLARE_COMPLETION_ONSTACK(done); > - > - if (!args->stack_switch) > - return __xfs_bmapi_allocate(args); Looks like we can kill args->stack_switch up through the controlling XFS_BMAPI_STACK_SWITCH flag. The rest of the code looks fine to me, though I need to do some testing... Brian > - > - > - args->done = &done; > - args->kswapd = current_is_kswapd(); > - INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); > - queue_work(xfs_alloc_wq, &args->work); > - wait_for_completion(&done); > - destroy_work_on_stack(&args->work); > - return args->result; > -} > - > -/* > * Check if the endoff is outside the last extent. If so the caller will grow > * the allocation to a stripe unit boundary. All offsets are considered outside > * the end of file for an empty fork, so 1 is returned in *eof in that case. > diff --git a/fs/xfs/xfs_bmap_util.h b/fs/xfs/xfs_bmap_util.h > index 075f722..5f8abb9 100644 > --- a/fs/xfs/xfs_bmap_util.h > +++ b/fs/xfs/xfs_bmap_util.h > @@ -66,8 +66,6 @@ struct xfs_bmalloca { > int xfs_bmap_finish(struct xfs_trans **tp, struct xfs_bmap_free *flist, > int *committed); > int xfs_bmap_rtalloc(struct xfs_bmalloca *ap); > -int xfs_bmapi_allocate(struct xfs_bmalloca *args); > -int __xfs_bmapi_allocate(struct xfs_bmalloca *args); > int xfs_bmap_eof(struct xfs_inode *ip, xfs_fileoff_t endoff, > int whichfork, int *eof); > int xfs_bmap_count_blocks(struct xfs_trans *tp, struct xfs_inode *ip, > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From hch@lst.de Wed Jun 18 10:21:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 3F1EC7F3F for ; Wed, 18 Jun 2014 10:21:40 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id BCE4CAC003 for ; Wed, 18 Jun 2014 08:21:39 -0700 (PDT) X-ASG-Debug-ID: 1403104896-04cbb00a0118c6a0001-NocioJ Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) by cuda.sgi.com with ESMTP id JFFA9mRVx3NScBac (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 08:21:37 -0700 (PDT) X-Barracuda-Envelope-From: hch@lst.de X-Barracuda-Apparent-Source-IP: 213.95.11.211 Received: by newverein.lst.de (Postfix, from userid 2407) id 975A914253; Wed, 18 Jun 2014 17:21:35 +0200 (CEST) Date: Wed, 18 Jun 2014 17:21:35 +0200 From: Christoph Hellwig To: Brian Foster Cc: Christoph Hellwig , xfs@oss.sgi.com Subject: Re: [PATCH] xfs: require 64-bit sector_t Message-ID: <20140618152135.GA11821@lst.de> X-ASG-Orig-Subj: Re: [PATCH] xfs: require 64-bit sector_t References: <1402937045-31103-1-git-send-email-hch@lst.de> <20140617141431.GA8905@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140617141431.GA8905@bfoster.bfoster> User-Agent: Mutt/1.5.17 (2007-11-01) X-Barracuda-Connect: verein.lst.de[213.95.11.211] X-Barracuda-Start-Time: 1403104897 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6749 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 17, 2014 at 10:14:31AM -0400, Brian Foster wrote: > Given that the existence of the string indicates large block/inode > numbers, shouldn't we leave it to avoid any confusion? That aside, the > rest of the patch looks fine to me. As these have been enabled in any sane configuration I don't really see a point in printing these. From lists@nerdbynature.de Wed Jun 18 12:13:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 898597F3F for ; Wed, 18 Jun 2014 12:13:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0BCF9AC005 for ; Wed, 18 Jun 2014 10:13:33 -0700 (PDT) X-ASG-Debug-ID: 1403111610-04cbb00a04192710001-NocioJ Received: from trent.utfs.org (trent.utfs.org [94.185.90.103]) by cuda.sgi.com with ESMTP id TnnEl4PMLYB2ujXx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 18 Jun 2014 10:13:32 -0700 (PDT) X-Barracuda-Envelope-From: lists@nerdbynature.de X-Barracuda-Apparent-Source-IP: 94.185.90.103 Received: by trent.utfs.org (Postfix, from userid 8) id 5D6C93DB54; Wed, 18 Jun 2014 19:13:30 +0200 (CEST) Received: from trent.utfs.org (localhost [127.0.0.1]) by trent.utfs.org (Postfix) with ESMTP id EB7333DB51; Wed, 18 Jun 2014 19:13:29 +0200 (CEST) Received: from localhost (localhost [IPv6:::1]) by trent.utfs.org (Postfix) with ESMTP id F31633DA64; Wed, 18 Jun 2014 19:13:28 +0200 (CEST) User-Agent: K-9 Mail for Android In-Reply-To: <20140618120124.GR9508@dastard> References: <20140618120124.GR9508@dastard> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Subject: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f From: Christian Kujau X-ASG-Orig-Subj: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f Date: Wed, 18 Jun 2014 10:13:23 -0700 To: Dave Chinner CC: xfs@oss.sgi.com Message-ID: X-AV-Checked: ClamAV using ClamSMTP (127.0.0.1) X-Barracuda-Connect: trent.utfs.org[94.185.90.103] X-Barracuda-Start-Time: 1403111611 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6751 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) On June 18, 2014 5:01:24 AM PDT, Dave Chinner wrote: >Yes, that's the only way to safely move a filesystem between >machines of different endianness - a clean log has nothing to >replay, so no endian problems and all new records will be written >according to the endianness of the host the filesystem is currently >mounted on. OK, thanks for explaining that. When the PowerPC box crashed there should not have been any i/o on the file system - so, if there was nothing to commit, clearing the log with "xfs_repair -L" should not lose any data, right? Christian. From david@fromorbit.com Wed Jun 18 18:07:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 415407F3F for ; Wed, 18 Jun 2014 18:07:42 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id E37D0AC003 for ; Wed, 18 Jun 2014 16:07:38 -0700 (PDT) X-ASG-Debug-ID: 1403132855-04bdf05666313fa0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id ZFoE9KX95NYn06OF for ; Wed, 18 Jun 2014 16:07:36 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au0HAK4aolN5LC2v/2dsb2JhbABagw2DR6d4AQEBAQEBBpkoAYENF3WEAwEBBTocIxAIAw4KCSUPBSUDIROIQc1yFxaFTIkTB4MtgRYEmkKTWYNUKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 08:37:35 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxOwr-0000mQ-Tx; Thu, 19 Jun 2014 09:07:21 +1000 Date: Thu, 19 Jun 2014 09:07:21 +1000 From: Dave Chinner To: Christian Kujau Cc: xfs@oss.sgi.com Subject: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f Message-ID: <20140618230721.GD4453@dastard> X-ASG-Orig-Subj: Re: log record CRC mismatch: found 0x10a71f1d, expected 0xe012d25f References: <20140618120124.GR9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403132856 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6760 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) On Wed, Jun 18, 2014 at 10:13:23AM -0700, Christian Kujau wrote: > > > On June 18, 2014 5:01:24 AM PDT, Dave Chinner > wrote: > >Yes, that's the only way to safely move a filesystem between > >machines of different endianness - a clean log has nothing to > >replay, so no endian problems and all new records will be written > >according to the endianness of the host the filesystem is > >currently mounted on. > > OK, thanks for explaining that. > > When the PowerPC box crashed there should not have been any i/o on > the file system - so, if there was nothing to commit, clearing the > log with "xfs_repair -L" should not lose any data, right? In theory. use xfs_logprint to check the log is empty... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 18 21:04:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A6AC47F3F for ; Wed, 18 Jun 2014 21:04:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 38D99AC005 for ; Wed, 18 Jun 2014 19:04:00 -0700 (PDT) X-ASG-Debug-ID: 1403143434-04cbb00a041a9650001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id XrKtgtKTLkPv2fPl for ; Wed, 18 Jun 2014 19:03:54 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvcGALVDolN5LC2v/2dsb2JhbABagw2DSKd2AQIBAQaZJwGBDhd1hAMBAQUnExwzCAMYCSUPBSUDIQESiEHNbRcWhUyJG4RDAQOaQosxiCiDVCs Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 11:33:53 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxRhU-0001GI-B7; Thu, 19 Jun 2014 12:03:40 +1000 Date: Thu, 19 Jun 2014 12:03:40 +1000 From: Dave Chinner To: Dave Jones , xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org Subject: Re: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140619020340.GI4453@dastard> X-ASG-Orig-Subj: Re: XFS WARN_ON in xfs_vm_writepage References: <20140613051631.GA9394@redhat.com> <20140613062645.GZ9508@dastard> <20140613141925.GA24199@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140613141925.GA24199@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403143434 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6765 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 13, 2014 at 10:19:25AM -0400, Dave Jones wrote: > On Fri, Jun 13, 2014 at 04:26:45PM +1000, Dave Chinner wrote: > > > > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > > > 971 PF_MEMALLOC)) > > > > What were you running at the time? The XFS warning is there to > > indicate that memory reclaim is doing something it shouldn't (i.e. > > dirty page writeback from direct reclaim), so this is one for the mm > > folk to work out... > > Trinity had driven the machine deeply into swap, and the oom killer was > kicking in pretty often. Then this happened. Yup, sounds like a problem somewhere in mm/vmscan.c.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 18 22:36:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 88E337F3F for ; Wed, 18 Jun 2014 22:36:18 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 515848F804B for ; Wed, 18 Jun 2014 20:36:14 -0700 (PDT) X-ASG-Debug-ID: 1403148968-04bdf0566731f170001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id eSuXVlnu1i7efAm8 for ; Wed, 18 Jun 2014 20:36:08 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvcGADlaolN5LC2v/2dsb2JhbABagw2DSKd2AQIBAQaZJwGBDhd1hAMBAQQBJxMcIwULCAMVAwklDwUNGAMhE4guAwkHxzQNhjcXFoVMhnGBSwFXB4RDBJhKgXiLMYIohgCDVCuBMQEBHgY Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 13:06:06 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxT8i-0001S9-Tm; Thu, 19 Jun 2014 13:35:52 +1000 Date: Thu, 19 Jun 2014 13:35:52 +1000 From: Dave Chinner To: "Michael L. Semon" Cc: xfs-oss Subject: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits Message-ID: <20140619033552.GJ4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits References: <5396799F.3050801@gmail.com> <20140610055254.GF9508@dastard> <539A61B2.5040202@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <539A61B2.5040202@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403148968 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6766 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email On Thu, Jun 12, 2014 at 10:28:02PM -0400, Michael L. Semon wrote: > On 06/10/2014 01:52 AM, Dave Chinner wrote: > > On Mon, Jun 09, 2014 at 11:21:03PM -0400, Michael L. Semon wrote: > >> Hi! I've been running around in circles trying to work with too many > >> ACLs, even losing my ability to count for a while. Along the way, > >> xfs_repair from git xfsprogs (last commit around May 27) is showing > >> the following symptoms: > >> > >> On v5-superblock XFS... > >> > >> 1) When the ACL count is just above the limit from v4-superblock XFS-- > >> 96 is a good test figure--`xfs_repair -n` and `xfs_repair` will both > >> end in a segmentation fault. > > > > I couldn't reproduce this - I suspect that this is a problem with > > the ACL struct having a hardcoded array size or userspace not > > having the correct padding in the on-disk structure definition and > > you are on a 32bit system. I think I've fixed that in the patch > > below. > > Maybe. Pentium III has a narrower cacheline than the Pentium 4, so > I was not surprised to see holes in the XFS kernel code, even in the > non-XFS kernel structs. Do I need to upgrade something (ACL, system > kernel headers, etc.) or would a pahole trip through libxfs be more > revealing? > > What I'm getting is that if xfs_repair is counting between 200 and > 256 ACLs, it will mention that there are too many ACLs, and it will > segfault. With your patch, the areas below and above this range are > OK. > > A sample session like the one I overwrote last time looks like this: > > Phase 1 - find and verify superblock... > Phase 2 - using internal log > - zero log... > - scan filesystem freespace and inode maps... > - found root inode chunk > Phase 3 - for each AG... > - scan and clear agi unlinked lists... > - process known inodes and perform inode discovery... > - agno = 0 > Too many ACL entries, count 250 > entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT > (segfault, either Error 4 or Error 5, forgot to bring dmesg) Ok, your test found a bug in the patch that was causing segv's - at about 20 ACLs, not 250. It's not the same as what you have reported, but it was a stack corruption bug and so may just be triggering differently on your machines. Can you try the patch below? > Maybe not...your E-mail patch doesn't have the git version at the > bottom, so I wondered whether I installed the entire patch. What > I did get went through `git am` just fine, with one whitespace error. That's because I didn't use git directly to generate it. As you found out, it's still a valid patch... Cheers, Dave. -- Dave Chinner david@fromorbit.com repair: support more than 25 ACLs From: Dave Chinner v5 superblock supports many more than 25 ACLs on an inode, but xfs_repair still thinks that the maximum is 25. Fix it and update the ACL definitions to match the kernel definitions. Also fix the remote attr maximum size off-by-one that the maximum number of v5 ACLs tickles. [V2: fix stack overwrite in valuecheck()] Reported-by: Michael L. Semon Signed-off-by: Dave Chinner --- libxfs/xfs_attr_remote.c | 2 +- repair/attr_repair.c | 74 ++++++++++++++++++++++++++++++++---------------- repair/attr_repair.h | 46 +++++++++++++++++++++--------- 3 files changed, 84 insertions(+), 38 deletions(-) diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c index 5cf5c73..08b983b 100644 --- a/libxfs/xfs_attr_remote.c +++ b/libxfs/xfs_attr_remote.c @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) return false; if (be32_to_cpu(rmt->rm_offset) + - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) return false; if (rmt->rm_owner == 0) return false; diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 5dd7e5f..87d3b0a 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -25,7 +25,7 @@ #include "protos.h" #include "dir2.h" -static int xfs_acl_valid(xfs_acl_disk_t *daclp); +static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); static int xfs_mac_valid(xfs_mac_label_t *lp); /* @@ -734,11 +734,15 @@ verify_da_path(xfs_mount_t *mp, * If value is non-zero, then a remote attribute is being passed in */ static int -valuecheck(char *namevalue, char *value, int namelen, int valuelen) +valuecheck( + struct xfs_mount *mp, + char *namevalue, + char *value, + int namelen, + int valuelen) { /* for proper alignment issues, get the structs and memmove the values */ xfs_mac_label_t macl; - xfs_acl_t thisacl; void *valuep; int clearit = 0; @@ -746,18 +750,23 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) (strncmp(namevalue, SGI_ACL_DEFAULT, SGI_ACL_DEFAULT_SIZE) == 0)) { if (value == NULL) { - memset(&thisacl, 0, sizeof(xfs_acl_t)); - memmove(&thisacl, namevalue+namelen, valuelen); - valuep = &thisacl; + valuep = malloc(valuelen); + if (!valuep) + do_error(_("No memory for ACL check!\n")); + memcpy(valuep, namevalue + namelen, valuelen); } else valuep = value; - if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) { + if (xfs_acl_valid(mp, valuep) != 0) { clearit = 1; do_warn( _("entry contains illegal value in attribute named SGI_ACL_FILE " "or SGI_ACL_DEFAULT\n")); } + + if (valuep != value) + free(valuep); + } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) { if (value == NULL) { memset(&macl, 0, sizeof(xfs_mac_label_t)); @@ -800,6 +809,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) */ static int process_shortform_attr( + struct xfs_mount *mp, xfs_ino_t ino, xfs_dinode_t *dip, int *repair) @@ -904,7 +914,7 @@ process_shortform_attr( /* Only check values for root security attributes */ if (currententry->flags & XFS_ATTR_ROOT) - junkit = valuecheck((char *)¤tentry->nameval[0], + junkit = valuecheck(mp, (char *)¤tentry->nameval[0], NULL, currententry->namelen, currententry->valuelen); @@ -1039,6 +1049,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, static int process_leaf_attr_local( + struct xfs_mount *mp, xfs_attr_leafblock_t *leaf, int i, xfs_attr_leaf_entry_t *entry, @@ -1076,7 +1087,7 @@ process_leaf_attr_local( /* Only check values for root security attributes */ if (entry->flags & XFS_ATTR_ROOT) { - if (valuecheck((char *)&local->nameval[0], NULL, + if (valuecheck(mp, (char *)&local->nameval[0], NULL, local->namelen, be16_to_cpu(local->valuelen))) { do_warn( _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"), @@ -1134,7 +1145,7 @@ process_leaf_attr_remote( i, ino); goto bad_free_out; } - if (valuecheck((char *)&remotep->name[0], value, remotep->namelen, + if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen, be32_to_cpu(remotep->valuelen))) { do_warn( _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"), @@ -1216,15 +1227,15 @@ process_leaf_attr_block( break; /* got an overlap */ } - if (entry->flags & XFS_ATTR_LOCAL) - thissize = process_leaf_attr_local(leaf, i, entry, + if (entry->flags & XFS_ATTR_LOCAL) + thissize = process_leaf_attr_local(mp, leaf, i, entry, last_hashval, da_bno, ino); else thissize = process_leaf_attr_remote(leaf, i, entry, last_hashval, da_bno, ino, mp, blkmap); if (thissize < 0) { - clearit = 1; + clearit = 1; break; } @@ -1608,15 +1619,19 @@ process_longform_attr( static int -xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) +xfs_acl_from_disk( + struct xfs_mount *mp, + struct xfs_icacl **aclp, + struct xfs_acl *dacl) { int count; - xfs_acl_t *acl; - xfs_acl_entry_t *ace; - xfs_acl_entry_disk_t *dace, *end; + int size; + struct xfs_icacl *acl; + struct xfs_icacl_entry *ace; + struct xfs_acl_entry *dace, *end; count = be32_to_cpu(dacl->acl_cnt); - if (count > XFS_ACL_MAX_ENTRIES) { + if (count > XFS_ACL_MAX_ENTRIES(mp)) { do_warn(_("Too many ACL entries, count %d\n"), count); *aclp = NULL; return EINVAL; @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) end = &dacl->acl_entry[0] + count; - acl = malloc((int)((char *)end - (char *)dacl)); + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); + if (size != (int)((char *)end - (char *)dacl)) { + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), + count, size, (int)((char *)end - (char *)dacl)); + *aclp = NULL; + return EINVAL; + } + + acl = malloc(sizeof(struct xfs_icacl) + + count * sizeof(struct xfs_icacl_entry)); if (!acl) { do_warn(_("cannot malloc enough for ACL attribute\n")); do_warn(_("SKIPPING this ACL\n")); @@ -1667,7 +1691,7 @@ process_attributes( if (aformat == XFS_DINODE_FMT_LOCAL) { ASSERT(be16_to_cpu(asf->hdr.totsize) <= XFS_DFORK_ASIZE(dip, mp)); - err = process_shortform_attr(ino, dip, repair); + err = process_shortform_attr(mp, ino, dip, repair); } else if (aformat == XFS_DINODE_FMT_EXTENTS || aformat == XFS_DINODE_FMT_BTREE) { err = process_longform_attr(mp, ino, dip, blkmap, @@ -1686,17 +1710,19 @@ process_attributes( * Validate an ACL */ static int -xfs_acl_valid(xfs_acl_disk_t *daclp) +xfs_acl_valid( + struct xfs_mount *mp, + struct xfs_acl *daclp) { - xfs_acl_t *aclp = NULL; - xfs_acl_entry_t *entry, *e; + struct xfs_icacl *aclp = NULL; + struct xfs_icacl_entry *entry, *e; int user = 0, group = 0, other = 0, mask = 0, mask_required = 0; int i, j; if (daclp == NULL) goto acl_invalid; - switch (xfs_acl_from_disk(&aclp, daclp)) { + switch (xfs_acl_from_disk(mp, &aclp, daclp)) { case ENOMEM: return 0; case EINVAL: diff --git a/repair/attr_repair.h b/repair/attr_repair.h index f42536a..0d0c62c 100644 --- a/repair/attr_repair.h +++ b/repair/attr_repair.h @@ -37,29 +37,49 @@ typedef __int32_t xfs_acl_type_t; typedef __int32_t xfs_acl_tag_t; typedef __int32_t xfs_acl_id_t; -typedef struct xfs_acl_entry { +/* + * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code, + * so they are magic names just for repair. The "acl" types are what the kernel + * code uses for the on-disk format names, so use them here too for the on-disk + * ACL format definitions. + */ +struct xfs_icacl_entry { xfs_acl_tag_t ae_tag; xfs_acl_id_t ae_id; xfs_acl_perm_t ae_perm; -} xfs_acl_entry_t; +}; -#define XFS_ACL_MAX_ENTRIES 25 -typedef struct xfs_acl { - __int32_t acl_cnt; - xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_t; +struct xfs_icacl { + __int32_t acl_cnt; + struct xfs_icacl_entry acl_entry[0]; +}; -typedef struct xfs_acl_entry_disk { +struct xfs_acl_entry { __be32 ae_tag; __be32 ae_id; __be16 ae_perm; -} xfs_acl_entry_disk_t; + __be16 ae_pad; +}; -typedef struct xfs_acl_disk { - __be32 acl_cnt; - xfs_acl_entry_disk_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_disk_t; +struct xfs_acl { + __be32 acl_cnt; + struct xfs_acl_entry acl_entry[0]; +}; +/* + * The number of ACL entries allowed is defined by the on-disk format. + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is + * limited only by the maximum size of the xattr that stores the information. + */ +#define XFS_ACL_MAX_ENTRIES(mp) \ + (xfs_sb_version_hascrc(&mp->m_sb) \ + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ + sizeof(struct xfs_acl_entry) \ + : 25) + +#define XFS_ACL_MAX_SIZE(mp) \ + (sizeof(struct xfs_acl) + \ + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) #define SGI_ACL_FILE "SGI_ACL_FILE" #define SGI_ACL_DEFAULT "SGI_ACL_DEFAULT" From prvs=72476fe75c=chenwendong@hikvision.com Thu Jun 19 00:09:16 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C1F817F3F for ; Thu, 19 Jun 2014 00:09:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 720F1AC004 for ; Wed, 18 Jun 2014 22:09:13 -0700 (PDT) X-ASG-Debug-ID: 1403154549-04bdf056693230e0001-NocioJ Received: from mail.hikvision.com (mail.hikvision.com [123.157.208.19]) by cuda.sgi.com with ESMTP id Am4ZBeCHm6k4R3NU for ; Wed, 18 Jun 2014 22:09:10 -0700 (PDT) X-Barracuda-Envelope-From: prvs=72476fe75c=chenwendong@hikvision.com X-Barracuda-Apparent-Source-IP: 123.157.208.19 X-AuditID: 0a01078e-f79d46d0000016b5-50-53a270731837 Received: from Hik-CAS02.hikvision.com (Unknown_Domain [10.1.7.152]) by mail.hikvision.com (Symantec Messaging Gateway) with SMTP id AB.19.05813.37072A35; Thu, 19 Jun 2014 13:09:07 +0800 (HKT) Received: from HIK-MBX02.hikvision.com ([fe80::c1a6:255b:29e8:7716]) by Hik-CAS02.hikvision.com ([::1]) with mapi id 14.03.0181.006; Thu, 19 Jun 2014 13:09:06 +0800 From: =?gb2312?B?s8LOxLar?= To: "xfs@oss.sgi.com" Subject: xfs_freeze Thread-Topic: xfs_freeze X-ASG-Orig-Subj: xfs_freeze Thread-Index: Ac+LfFpl4maa0hmgTyuIDLY+SMTl3w== Date: Thu, 19 Jun 2014 05:09:04 +0000 Message-ID: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.192.45.7] Content-Type: multipart/alternative; boundary="_000_75F0D28A05391A4E8539D13B4740B89C016860E8HikMBX02hikvisi_" MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeLIzCtJLcpLzFFi42LhYmSfoVtcsCjY4PJOXotFfbcYHRg9Vl/Y yhjAGMVtk5RYUhacmZ6nb5fAnbHz0Wqmgg6Viss9sQ2MDxS6GDk5JARMJLrXP2eCsMUkLtxb zwZiCwkcYpQ4fSy7i5ELyF7BKDGn8yEzSIJNwFzi+rQvQDYHh4iAusTj/9YgYWEBEYnuDR/Y QWwRAUmJngMzoUr0JP6edgUxWQRUJX4uBBvCK+An8efSBzCbUUBWYtqj+2AXMAuIS8ydNosV 4hoBiSV7zjND2KISLx//g4rLS+ycsJUVoj5fYvucSWwQMwUlTs58wjKBUWgWklGzkJTNQlIG EdeSmNfwmwnCVpSY0v2QHcLWlLgy+RCUrS2xbOFr5gWM7KsYhYJ93Y30MjKzyzKLM/Pz9JLz czcxQuKgbwfjixuOhxgFOBiVeHgfcC8KFmJNLCuuzAWGIwezkgivaipQiDclsbIqtSg/vqg0 J7X4EKM0B4uSOO+LXXXBQgLpiSWp2ampBalFMFkmDk6Qbi4pkeLUvJTUosTSkox4UIzGFwOj VKqBUYN10d0qFnvZCV3ht5b2e35e1LYnWXCF+86Q3HyTCVkc5Qqf62KTDBO9LhxnrPkpO1cm y6jg3G+tRqMlRwJ2eG+YbV/iK6O4dRrnAif51P+zeW/Ol96cIH9Gd9Iyzx3n2vbor/haO6mf fePCpIIMo82OrF0FbhzvjzXqzL7s5sAmJyZxTOOyEktxRqKhFnNRcSIAuhf2wpoCAAA= X-Barracuda-Connect: mail.hikvision.com[123.157.208.19] X-Barracuda-Start-Time: 1403154550 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.02 X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.00 HTML_MESSAGE BODY: HTML included in message --_000_75F0D28A05391A4E8539D13B4740B89C016860E8HikMBX02hikvisi_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGk6DQoNCltyb290QGxvY2FsaG9zdCAvXSMgbW91bnQgL2Rldi9sdm1fdmcvbHZtX2x2IC9uYXMv DQpbcm9vdEBsb2NhbGhvc3QgL10jIHhmc19mcmVlemUgLWYgL25hcy8NCltyb290QGxvY2FsaG9z dCAvXSMgbHZjcmVhdGUgIC1zIC1MIDQwTSAtbiBjd2QgIC9kZXYvbHZtX3ZnL2x2bV9sdg0KICBS b3VuZGluZyB1cCBzaXplIHRvIGZ1bGwgcGh5c2ljYWwgZXh0ZW50IDQ4LjAwIE1pQg0KICBkZXZp Y2UtbWFwcGVyOiBzdXNwZW5kIGlvY3RsIG9uICBmYWlsZWQ6IERldmljZSBvciByZXNvdXJjZSBi dXN5DQogIFVuYWJsZSB0byBzdXNwZW5kIGx2bV92Zy1sdm1fbHYgKDI1MzowKQ0KICBGYWlsZWQg dG8gc3VzcGVuZCBvcmlnaW4gbHZtX2x2DQogIGxpYmRldm1hcHBlciBleGl0aW5nIHdpdGggMiBk ZXZpY2Uocykgc3RpbGwgc3VzcGVuZGVkLg0KDQoNCg0KDQpXaHk/DQoNClRoYW5rcw0K --_000_75F0D28A05391A4E8539D13B4740B89C016860E8HikMBX02hikvisi_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

Hi:

 

[root@localhost /]# mount /dev/= lvm_vg/lvm_lv /nas/

[root@localhost /]# xfs_freeze = -f /nas/

[root@localhost /]# lvcreate&nb= sp; -s -L 40M -n cwd  /dev/lvm_vg/lvm_lv

  Rounding up size to full= physical extent 48.00 MiB

  device-mapper: suspend i= octl on  failed: Device or resource busy

  Unable to suspend lvm_vg= -lvm_lv (253:0)

  Failed to suspend origin= lvm_lv

  libdevmapper exiting wit= h 2 device(s) still suspended.

 

 

 

 

Why?

 =

Thanks=

--_000_75F0D28A05391A4E8539D13B4740B89C016860E8HikMBX02hikvisi_-- From dave@fromorbit.com Thu Jun 19 00:34:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id BFF307F3F for ; Thu, 19 Jun 2014 00:34:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id BA4E9304039 for ; Wed, 18 Jun 2014 22:34:14 -0700 (PDT) X-ASG-Debug-ID: 1403156051-04cbb00a021b2c40002-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 5EP8b0WzotWEtuNU for ; Wed, 18 Jun 2014 22:34:13 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtkGAGN1olN5LC2v/2dsb2JhbABagw2rPwECAQEGmjUXdYQDAQEFVjMIFQMxOQMNDhmIQc4QhWKJMYQtBK4bg1QrgTMk Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 15:04:10 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1WxUyz-0001gj-5e for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1WxUyz-0004xI-4b for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH 2/2] mkfs: add "-m" options to the man page Date: Thu, 19 Jun 2014 15:33:52 +1000 X-ASG-Orig-Subj: [PATCH 2/2] mkfs: add "-m" options to the man page Message-Id: <1403156032-18525-3-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1403156032-18525-1-git-send-email-david@fromorbit.com> References: <1403156032-18525-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403156052 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- From: Dave Chinner Because they are missing. Reported-by: Matthias Schniedermeyer Signed-off-by: Dave Chinner --- man/man8/mkfs.xfs.8 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8 index 8184e10..4ba07bf 100644 --- a/man/man8/mkfs.xfs.8 +++ b/man/man8/mkfs.xfs.8 @@ -7,6 +7,9 @@ mkfs.xfs \- construct an XFS filesystem .B \-b .I block_size ] [ +.B \-m +.I global_metadata_options +] [ .B \-d .I data_section_options ] [ @@ -125,6 +128,50 @@ The default value is 4096 bytes (4 KiB), the minimum is 512, and the maximum is 65536 (64 KiB). XFS on Linux currently only supports pagesize or smaller blocks. .TP +.BI \-m " global_metadata_options" +These options specify metadata format options that either apply to the entire +filesystem or aren't easily characterised by a specific functionality group. The +valid +.I global_metadata_options +are: +.RS 1.2i +.TP +.BI crc= value +This is used to create a filesystem which maintains and checks CRC information +in all metadata objects on disk. The value is either 0 to disable the feature, +or 1 to enable the use of CRCs. +.IP +CRCs enable enhanced error detection due to +hardware issues, whilst the format changes also improves crash recovery +algorithms and the ability of various tools to validate and repair metadata +corruptions when they are found. +The CRC algorithm used is CRC32c, so the overhead is dependent on CPU +architecture as some CPUs have hardware acceleration of this algorithm. +Typically the overhead of calculating and checking the CRCs is not noticable in +normal operation. +.IP +By default, +.B mkfs.xfs +will not enable metadata CRCs. +.TP +.BI finobt= value +This option enables the use of a separate free inode btree index in each +allocation group. The value is either 0 to disable the feature, or 1 to create +a free inode btree in each allocation group. +.IP +The free inode btree mirrors the existing allocated inode btree index which +indexes both used and free inodes. The free inode btree does not index used +inodes, allowing faster, more consistent inode allocation performance as +filesystems age. +.IP +By default, +.B mkfs.xfs +will not create free inode btrees. This feature is also currently only available +for filesystems created with the +.B \-m crc=1 +option set. +.RE +.TP .BI \-d " data_section_options" These options specify the location, size, and other parameters of the data section of the filesystem. The valid -- 2.0.0 From dave@fromorbit.com Thu Jun 19 00:34:16 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 212E87F3F for ; Thu, 19 Jun 2014 00:34:16 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1F55F8F8054 for ; Wed, 18 Jun 2014 22:34:16 -0700 (PDT) X-ASG-Debug-ID: 1403156053-04cb6c78c430ae20001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id xLH3C6WSRF8lT4Tf for ; Wed, 18 Jun 2014 22:34:13 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtkGAGN1olN5LC2v/2dsb2JhbABagw2rPwECAQEGmjUXdYQDAQEFJy8zCBgxIRgDGxmILgMQxzUNhk6FYoZxgUuFIgSYSo9RhgCDVCuBMQIeBg Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 15:04:10 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1WxUyz-0001gi-4q for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1WxUyz-0004xD-3y for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH 1/2] repair: support more than 25 ACLs Date: Thu, 19 Jun 2014 15:33:51 +1000 X-ASG-Orig-Subj: [PATCH 1/2] repair: support more than 25 ACLs Message-Id: <1403156032-18525-2-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1403156032-18525-1-git-send-email-david@fromorbit.com> References: <1403156032-18525-1-git-send-email-david@fromorbit.com> X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403156053 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email From: Dave Chinner v5 superblock supports many more than 25 ACLs on an inode, but xfs_repair still thinks that the maximum is 25. Fix it and update the ACL definitions to match the kernel definitions. Also fix the remote attr maximum size off-by-one that the maximum number of v5 ACLs tickles. Reported-by: Michael L. Semon Signed-off-by: Dave Chinner --- libxfs/xfs_attr_remote.c | 2 +- repair/attr_repair.c | 74 ++++++++++++++++++++++++++++++++---------------- repair/attr_repair.h | 46 +++++++++++++++++++++--------- 3 files changed, 84 insertions(+), 38 deletions(-) diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c index 5cf5c73..08b983b 100644 --- a/libxfs/xfs_attr_remote.c +++ b/libxfs/xfs_attr_remote.c @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) return false; if (be32_to_cpu(rmt->rm_offset) + - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) return false; if (rmt->rm_owner == 0) return false; diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 5dd7e5f..87d3b0a 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -25,7 +25,7 @@ #include "protos.h" #include "dir2.h" -static int xfs_acl_valid(xfs_acl_disk_t *daclp); +static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); static int xfs_mac_valid(xfs_mac_label_t *lp); /* @@ -734,11 +734,15 @@ verify_da_path(xfs_mount_t *mp, * If value is non-zero, then a remote attribute is being passed in */ static int -valuecheck(char *namevalue, char *value, int namelen, int valuelen) +valuecheck( + struct xfs_mount *mp, + char *namevalue, + char *value, + int namelen, + int valuelen) { /* for proper alignment issues, get the structs and memmove the values */ xfs_mac_label_t macl; - xfs_acl_t thisacl; void *valuep; int clearit = 0; @@ -746,18 +750,23 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) (strncmp(namevalue, SGI_ACL_DEFAULT, SGI_ACL_DEFAULT_SIZE) == 0)) { if (value == NULL) { - memset(&thisacl, 0, sizeof(xfs_acl_t)); - memmove(&thisacl, namevalue+namelen, valuelen); - valuep = &thisacl; + valuep = malloc(valuelen); + if (!valuep) + do_error(_("No memory for ACL check!\n")); + memcpy(valuep, namevalue + namelen, valuelen); } else valuep = value; - if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) { + if (xfs_acl_valid(mp, valuep) != 0) { clearit = 1; do_warn( _("entry contains illegal value in attribute named SGI_ACL_FILE " "or SGI_ACL_DEFAULT\n")); } + + if (valuep != value) + free(valuep); + } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) { if (value == NULL) { memset(&macl, 0, sizeof(xfs_mac_label_t)); @@ -800,6 +809,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) */ static int process_shortform_attr( + struct xfs_mount *mp, xfs_ino_t ino, xfs_dinode_t *dip, int *repair) @@ -904,7 +914,7 @@ process_shortform_attr( /* Only check values for root security attributes */ if (currententry->flags & XFS_ATTR_ROOT) - junkit = valuecheck((char *)¤tentry->nameval[0], + junkit = valuecheck(mp, (char *)¤tentry->nameval[0], NULL, currententry->namelen, currententry->valuelen); @@ -1039,6 +1049,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, static int process_leaf_attr_local( + struct xfs_mount *mp, xfs_attr_leafblock_t *leaf, int i, xfs_attr_leaf_entry_t *entry, @@ -1076,7 +1087,7 @@ process_leaf_attr_local( /* Only check values for root security attributes */ if (entry->flags & XFS_ATTR_ROOT) { - if (valuecheck((char *)&local->nameval[0], NULL, + if (valuecheck(mp, (char *)&local->nameval[0], NULL, local->namelen, be16_to_cpu(local->valuelen))) { do_warn( _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"), @@ -1134,7 +1145,7 @@ process_leaf_attr_remote( i, ino); goto bad_free_out; } - if (valuecheck((char *)&remotep->name[0], value, remotep->namelen, + if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen, be32_to_cpu(remotep->valuelen))) { do_warn( _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"), @@ -1216,15 +1227,15 @@ process_leaf_attr_block( break; /* got an overlap */ } - if (entry->flags & XFS_ATTR_LOCAL) - thissize = process_leaf_attr_local(leaf, i, entry, + if (entry->flags & XFS_ATTR_LOCAL) + thissize = process_leaf_attr_local(mp, leaf, i, entry, last_hashval, da_bno, ino); else thissize = process_leaf_attr_remote(leaf, i, entry, last_hashval, da_bno, ino, mp, blkmap); if (thissize < 0) { - clearit = 1; + clearit = 1; break; } @@ -1608,15 +1619,19 @@ process_longform_attr( static int -xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) +xfs_acl_from_disk( + struct xfs_mount *mp, + struct xfs_icacl **aclp, + struct xfs_acl *dacl) { int count; - xfs_acl_t *acl; - xfs_acl_entry_t *ace; - xfs_acl_entry_disk_t *dace, *end; + int size; + struct xfs_icacl *acl; + struct xfs_icacl_entry *ace; + struct xfs_acl_entry *dace, *end; count = be32_to_cpu(dacl->acl_cnt); - if (count > XFS_ACL_MAX_ENTRIES) { + if (count > XFS_ACL_MAX_ENTRIES(mp)) { do_warn(_("Too many ACL entries, count %d\n"), count); *aclp = NULL; return EINVAL; @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) end = &dacl->acl_entry[0] + count; - acl = malloc((int)((char *)end - (char *)dacl)); + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); + if (size != (int)((char *)end - (char *)dacl)) { + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), + count, size, (int)((char *)end - (char *)dacl)); + *aclp = NULL; + return EINVAL; + } + + acl = malloc(sizeof(struct xfs_icacl) + + count * sizeof(struct xfs_icacl_entry)); if (!acl) { do_warn(_("cannot malloc enough for ACL attribute\n")); do_warn(_("SKIPPING this ACL\n")); @@ -1667,7 +1691,7 @@ process_attributes( if (aformat == XFS_DINODE_FMT_LOCAL) { ASSERT(be16_to_cpu(asf->hdr.totsize) <= XFS_DFORK_ASIZE(dip, mp)); - err = process_shortform_attr(ino, dip, repair); + err = process_shortform_attr(mp, ino, dip, repair); } else if (aformat == XFS_DINODE_FMT_EXTENTS || aformat == XFS_DINODE_FMT_BTREE) { err = process_longform_attr(mp, ino, dip, blkmap, @@ -1686,17 +1710,19 @@ process_attributes( * Validate an ACL */ static int -xfs_acl_valid(xfs_acl_disk_t *daclp) +xfs_acl_valid( + struct xfs_mount *mp, + struct xfs_acl *daclp) { - xfs_acl_t *aclp = NULL; - xfs_acl_entry_t *entry, *e; + struct xfs_icacl *aclp = NULL; + struct xfs_icacl_entry *entry, *e; int user = 0, group = 0, other = 0, mask = 0, mask_required = 0; int i, j; if (daclp == NULL) goto acl_invalid; - switch (xfs_acl_from_disk(&aclp, daclp)) { + switch (xfs_acl_from_disk(mp, &aclp, daclp)) { case ENOMEM: return 0; case EINVAL: diff --git a/repair/attr_repair.h b/repair/attr_repair.h index f42536a..0d0c62c 100644 --- a/repair/attr_repair.h +++ b/repair/attr_repair.h @@ -37,29 +37,49 @@ typedef __int32_t xfs_acl_type_t; typedef __int32_t xfs_acl_tag_t; typedef __int32_t xfs_acl_id_t; -typedef struct xfs_acl_entry { +/* + * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code, + * so they are magic names just for repair. The "acl" types are what the kernel + * code uses for the on-disk format names, so use them here too for the on-disk + * ACL format definitions. + */ +struct xfs_icacl_entry { xfs_acl_tag_t ae_tag; xfs_acl_id_t ae_id; xfs_acl_perm_t ae_perm; -} xfs_acl_entry_t; +}; -#define XFS_ACL_MAX_ENTRIES 25 -typedef struct xfs_acl { - __int32_t acl_cnt; - xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_t; +struct xfs_icacl { + __int32_t acl_cnt; + struct xfs_icacl_entry acl_entry[0]; +}; -typedef struct xfs_acl_entry_disk { +struct xfs_acl_entry { __be32 ae_tag; __be32 ae_id; __be16 ae_perm; -} xfs_acl_entry_disk_t; + __be16 ae_pad; +}; -typedef struct xfs_acl_disk { - __be32 acl_cnt; - xfs_acl_entry_disk_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_disk_t; +struct xfs_acl { + __be32 acl_cnt; + struct xfs_acl_entry acl_entry[0]; +}; +/* + * The number of ACL entries allowed is defined by the on-disk format. + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is + * limited only by the maximum size of the xattr that stores the information. + */ +#define XFS_ACL_MAX_ENTRIES(mp) \ + (xfs_sb_version_hascrc(&mp->m_sb) \ + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ + sizeof(struct xfs_acl_entry) \ + : 25) + +#define XFS_ACL_MAX_SIZE(mp) \ + (sizeof(struct xfs_acl) + \ + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) #define SGI_ACL_FILE "SGI_ACL_FILE" #define SGI_ACL_DEFAULT "SGI_ACL_DEFAULT" -- 2.0.0 From dave@fromorbit.com Thu Jun 19 00:34:16 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 883B47F47 for ; Thu, 19 Jun 2014 00:34:16 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 775328F8054 for ; Wed, 18 Jun 2014 22:34:13 -0700 (PDT) X-ASG-Debug-ID: 1403156051-04cbb00a021b2c40001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 75FJDZuEwjGr3JCU for ; Wed, 18 Jun 2014 22:34:11 -0700 (PDT) X-Barracuda-Envelope-From: dave@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcGAGN1olN5LC2v/2dsb2JhbABagw2rPwECAQEGmjUXdYRgO4ECA4h1n36uEoViiTGELQSuG4FCghIrgTMk Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 15:04:10 +0930 Received: from disappointment.disaster.area ([192.168.1.110] helo=disappointment) by dastard with esmtp (Exim 4.80) (envelope-from ) id 1WxUyz-0001gh-4K for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 Received: from dave by disappointment with local (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1WxUyz-0004xA-3K for xfs@oss.sgi.com; Thu, 19 Jun 2014 15:33:57 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [PATCH 0/2] xfsprogs: fixes for CRC support Date: Thu, 19 Jun 2014 15:33:50 +1000 X-ASG-Orig-Subj: [PATCH 0/2] xfsprogs: fixes for CRC support Message-Id: <1403156032-18525-1-git-send-email-david@fromorbit.com> X-Mailer: git-send-email 2.0.0 X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403156051 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi folks, These two patches correct a couple of oversights in the new CRC support. Firstly, repair actually validates ACLs on disk (from a consistency POV, not correctness) and so it needs to know that v5 formats handle a lot more than 25 ACLs. Secondly, we forgot all about documenting the "-m crc=1" option in the mkfs.xfs(8) man page. So the second patch fixes that and also adds the missing documentation for the free inode btree option as well. With these two fixes and all the other xfsprogs patches I've pulled in and are currently testing, we're pretty much ready for a 3.2.1-rc release. Is there anything that we know about that we don't have patches for yet that needs to be done for 3.2.1? Cheers, Dave. From david@fromorbit.com Thu Jun 19 00:42:39 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 34B937F3F for ; Thu, 19 Jun 2014 00:42:39 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id C17A3AC003 for ; Wed, 18 Jun 2014 22:42:38 -0700 (PDT) X-ASG-Debug-ID: 1403156555-04cb6c78c530b3d0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id LbXpz4PPdhuvRJKs for ; Wed, 18 Jun 2014 22:42:36 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvkGALd3olN5LC2v/2dsb2JhbABTB4MNg0hRpyYBAgEBBpknAYENF3WEAwEBBSMECwEjIxAIAQIUBAICBSECAg8FJQMhExuIJpJ7nCWeWBcWgRSEOIhMSAeCd4FMBJpCizGIKINUK4ExIw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail07.adl2.internode.on.net with ESMTP; 19 Jun 2014 15:12:31 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxV74-0001ht-Ar; Thu, 19 Jun 2014 15:42:18 +1000 Date: Thu, 19 Jun 2014 15:42:18 +1000 From: Dave Chinner To: =?utf-8?B?6ZmI5paH5Lic?= Cc: "xfs@oss.sgi.com" Subject: Re: xfs_freeze Message-ID: <20140619054218.GK4453@dastard> X-ASG-Orig-Subj: Re: xfs_freeze References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403156555 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 19, 2014 at 05:09:04AM +0000, 陈文东 wrote: > Hi: > > [root@localhost /]# mount /dev/lvm_vg/lvm_lv /nas/ > [root@localhost /]# xfs_freeze -f /nas/ > [root@localhost /]# lvcreate -s -L 40M -n cwd /dev/lvm_vg/lvm_lv > Rounding up size to full physical extent 48.00 MiB > device-mapper: suspend ioctl on failed: Device or resource busy > Unable to suspend lvm_vg-lvm_lv (253:0) > Failed to suspend origin lvm_lv > libdevmapper exiting with 2 device(s) still suspended. > > > > > Why? commit 18e9e5104fcd9a973ffe3eed3816c87f2a1b6cd2 Author: Josef Bacik Date: Tue Mar 23 10:34:56 2010 -0400 Introduce freeze_super and thaw_super for the fsfreeze ioctl Currently the way we do freezing is by passing sb>s_bdev to freeze_bdev and the letting it do all the work. But freezing is more of an fs thing, and doesn't really have much to do with the bdev at all, all the work gets done with the super. In btrfs we do not populate s_bdev, since we can have multiple bdev's for one fs and setting s_bdev makes removing devices from a pool kind of tricky This means that freezing a btrfs filesystem fails, which causes us to corrupt with things like tux-on-ice which use the fsfreeze mechanism. So instead of populating sb->s_bdev with a random bdev in our pool, I've broken the actual fs freezing stuff into freeze_super and thaw_super. These just take the super_block that we're freezing and does the appropriate work. It's basically just copy and pasted from freeze_bdev. I've then converted freeze_bdev over to use the new super helpers. I've tested this with ext4 and btrfs and verified everything continues to work the same as before. The only new gotcha is multiple calls to the fsfreeze ioctl will return EBUSY i the fs is already frozen. I thought this was a better solution than adding a freeze counter to the super_block, but if everybody hates this idea I'm open to suggestions. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Al Viro IOWs, if you freeze the superblock via xfs_freeze or fsfreeze, you cannot nest freeze requests - you'll get EBUSY on teh second attempt to freeze the superblock. lvcreate must be doing a freeze from the block device, so it's failing with EBUSY because the superblock on the block device is already frozen... -Dave. -- Dave Chinner david@fromorbit.com From prvs=924791327c=chenwendong@hikvision.com Thu Jun 19 01:46:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C89BB7F3F for ; Thu, 19 Jun 2014 01:46:36 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A2EBC8F804B for ; Wed, 18 Jun 2014 23:46:33 -0700 (PDT) X-ASG-Debug-ID: 1403160388-04cbb00a021b5d90001-NocioJ Received: from mail.hikvision.com (mail.hikvision.com [123.157.208.19]) by cuda.sgi.com with ESMTP id D6VfYYyELZLYhIPz for ; Wed, 18 Jun 2014 23:46:29 -0700 (PDT) X-Barracuda-Envelope-From: prvs=924791327c=chenwendong@hikvision.com X-Barracuda-Apparent-Source-IP: 123.157.208.19 X-AuditID: 0a01078e-f79d46d0000016b5-3d-53a287437153 Received: from Hik-CAS02.hikvision.com (Unknown_Domain [10.1.7.152]) by mail.hikvision.com (Symantec Messaging Gateway) with SMTP id F9.B9.05813.34782A35; Thu, 19 Jun 2014 14:46:27 +0800 (HKT) Received: from HIK-MBX02.hikvision.com ([fe80::c1a6:255b:29e8:7716]) by Hik-CAS02.hikvision.com ([::1]) with mapi id 14.03.0181.006; Thu, 19 Jun 2014 14:46:27 +0800 From: =?utf-8?B?6ZmI5paH5Lic?= To: Dave Chinner CC: "xfs@oss.sgi.com" Subject: =?utf-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= Thread-Topic: xfs_freeze X-ASG-Orig-Subj: =?utf-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= Thread-Index: AQHPi4FLduojHUvwNEmEZ9iqZA3EUJt3+8TA Date: Thu, 19 Jun 2014 06:46:26 +0000 Message-ID: <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> <20140619054218.GK4453@dastard> In-Reply-To: <20140619054218.GK4453@dastard> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.192.45.7] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHIsWRmVeSWpSXmKPExsXCxcg+Q9e5fVGwwZubFhZbjt1jtFjUd4vR gcnj1CIJj9UXtjIGMEVx2yQllpQFZ6bn6dslcGc07fnCVrBEvmLq2QvsDYx75LoYOTkkBEwk th89zQhhi0lcuLeerYuRi0NI4BCjxLxZ11hBEkICKxglZj8uALHZBKwkZjVsZgexRQTUJCZN 2sEMYjMLqEtMmLqFBcQWFtCV+LxzJxNEjYTEyuvrWSFsI4mnB/aB9bIIqEqcntMMtphXwE/i 6pw3ULsKJM7sncQGYnMK6Egcu/4EzGYUkJWY9ug+E8QucYm502axQhwtILFkz3lmCFtU4uXj f1BxeYmdE7YC2RxA9ZoS63fpQ7QqSkzpfsgOsVZQ4uTMJywTGMVmIZk6C6FjFpKOWUg6FjCy rGIUCvZ1N9LLyMwuyyzOzM/TS87P3cQIiZq+HYwvbjgeYhTgYFTi4X3AvShYiDWxrLgyFxio HMxKIryqqUAh3pTEyqrUovz4otKc1OJDjNIcLErivC921QULCaQnlqRmp6YWpBbBZJk4OEG6 uaREilPzUlKLEktLMuJB8RtfDIxgqQZG7YO7bmd1vBI4c0Xka/z8qutLisXq/3hvrewuv1ae vzB0JuOJbfPYP+/Z3/vhycM2j7xSwUWSTbERWQsbvXs3u1o8y2DeIGeUseJGwZu74VkHJvo3 76+e8kIlcvEFtiO7Z3KG2DSYPb7E5fzyos7emb+ub/jHdPLs45t3Ei/rvpTrPrPfNIAjUoml OCPRUIu5qDgRAOnECMqxAgAA X-Barracuda-Connect: mail.hikvision.com[123.157.208.19] X-Barracuda-Start-Time: 1403160388 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.02 X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0113c, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6769 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c SGk6DQoNCldoYXQgV291bGQgIFhmcyBTbmFwc2hvdCBEbz8NCg0KWGZzX2ZyZWV6ZSANCg0KU1lT 77yaTGludXggbG9jYWxob3N0LmxvY2FsZG9tYWluIDMuMTAuMC01NC4wLjEuZWw3Lng4Nl82NCAj MSBTTVAgVHVlIE5vdiAyNiAxNjo1MToyMiBFU1QgMjAxMyB4ODZfNjQgeDg2XzY0IHg4Nl82NCBH TlUvTGludXgNCg0KDQotLS0tLemCruS7tuWOn+S7ti0tLS0tDQrlj5Hku7bkuro6IERhdmUgQ2hp bm5lciBbbWFpbHRvOmRhdmlkQGZyb21vcmJpdC5jb21dIA0K5Y+R6YCB5pe26Ze0OiAyMDE05bm0 NuaciDE55pelIDEzOjQyDQrmlLbku7bkuro6IOmZiOaWh+S4nA0K5oqE6YCBOiB4ZnNAb3NzLnNn aS5jb20NCuS4u+mimDogUmU6IHhmc19mcmVlemUNCg0KT24gVGh1LCBKdW4gMTksIDIwMTQgYXQg MDU6MDk6MDRBTSArMDAwMCwg6ZmI5paH5LicIHdyb3RlOg0KPiBIaToNCj4gDQo+IFtyb290QGxv Y2FsaG9zdCAvXSMgbW91bnQgL2Rldi9sdm1fdmcvbHZtX2x2IC9uYXMvIFtyb290QGxvY2FsaG9z dCAvXSMgDQo+IHhmc19mcmVlemUgLWYgL25hcy8gW3Jvb3RAbG9jYWxob3N0IC9dIyBsdmNyZWF0 ZSAgLXMgLUwgNDBNIC1uIGN3ZCAgDQo+IC9kZXYvbHZtX3ZnL2x2bV9sdg0KPiAgIFJvdW5kaW5n IHVwIHNpemUgdG8gZnVsbCBwaHlzaWNhbCBleHRlbnQgNDguMDAgTWlCDQo+ICAgZGV2aWNlLW1h cHBlcjogc3VzcGVuZCBpb2N0bCBvbiAgZmFpbGVkOiBEZXZpY2Ugb3IgcmVzb3VyY2UgYnVzeQ0K PiAgIFVuYWJsZSB0byBzdXNwZW5kIGx2bV92Zy1sdm1fbHYgKDI1MzowKQ0KPiAgIEZhaWxlZCB0 byBzdXNwZW5kIG9yaWdpbiBsdm1fbHYNCj4gICBsaWJkZXZtYXBwZXIgZXhpdGluZyB3aXRoIDIg ZGV2aWNlKHMpIHN0aWxsIHN1c3BlbmRlZC4NCj4gDQo+IA0KPiANCj4gDQo+IFdoeT8NCg0KY29t bWl0IDE4ZTllNTEwNGZjZDlhOTczZmZlM2VlZDM4MTZjODdmMmExYjZjZDINCkF1dGhvcjogSm9z ZWYgQmFjaWsgPGpvc2VmQHJlZGhhdC5jb20+DQpEYXRlOiAgIFR1ZSBNYXIgMjMgMTA6MzQ6NTYg MjAxMCAtMDQwMA0KDQogICAgSW50cm9kdWNlIGZyZWV6ZV9zdXBlciBhbmQgdGhhd19zdXBlciBm b3IgdGhlIGZzZnJlZXplIGlvY3RsDQogICAgDQogICAgQ3VycmVudGx5IHRoZSB3YXkgd2UgZG8g ZnJlZXppbmcgaXMgYnkgcGFzc2luZyBzYj5zX2JkZXYgdG8gZnJlZXplX2JkZXYgYW5kIHRoZQ0K ICAgIGxldHRpbmcgaXQgZG8gYWxsIHRoZSB3b3JrLiAgQnV0IGZyZWV6aW5nIGlzIG1vcmUgb2Yg YW4gZnMgdGhpbmcsIGFuZCBkb2Vzbid0DQogICAgcmVhbGx5IGhhdmUgbXVjaCB0byBkbyB3aXRo IHRoZSBiZGV2IGF0IGFsbCwgYWxsIHRoZSB3b3JrIGdldHMgZG9uZSB3aXRoIHRoZQ0KICAgIHN1 cGVyLiAgSW4gYnRyZnMgd2UgZG8gbm90IHBvcHVsYXRlIHNfYmRldiwgc2luY2Ugd2UgY2FuIGhh dmUgbXVsdGlwbGUgYmRldidzDQogICAgZm9yIG9uZSBmcyBhbmQgc2V0dGluZyBzX2JkZXYgbWFr ZXMgcmVtb3ZpbmcgZGV2aWNlcyBmcm9tIGEgcG9vbCBraW5kIG9mIHRyaWNreQ0KICAgIFRoaXMg bWVhbnMgdGhhdCBmcmVlemluZyBhIGJ0cmZzIGZpbGVzeXN0ZW0gZmFpbHMsIHdoaWNoIGNhdXNl cyB1cyB0byBjb3JydXB0DQogICAgd2l0aCB0aGluZ3MgbGlrZSB0dXgtb24taWNlIHdoaWNoIHVz ZSB0aGUgZnNmcmVlemUgbWVjaGFuaXNtLiAgU28gaW5zdGVhZCBvZg0KICAgIHBvcHVsYXRpbmcg c2ItPnNfYmRldiB3aXRoIGEgcmFuZG9tIGJkZXYgaW4gb3VyIHBvb2wsIEkndmUgYnJva2VuIHRo ZSBhY3R1YWwgZnMNCiAgICBmcmVlemluZyBzdHVmZiBpbnRvIGZyZWV6ZV9zdXBlciBhbmQgdGhh d19zdXBlci4gIFRoZXNlIGp1c3QgdGFrZSB0aGUNCiAgICBzdXBlcl9ibG9jayB0aGF0IHdlJ3Jl IGZyZWV6aW5nIGFuZCBkb2VzIHRoZSBhcHByb3ByaWF0ZSB3b3JrLiAgSXQncyBiYXNpY2FsbHkN CiAgICBqdXN0IGNvcHkgYW5kIHBhc3RlZCBmcm9tIGZyZWV6ZV9iZGV2LiAgSSd2ZSB0aGVuIGNv bnZlcnRlZCBmcmVlemVfYmRldiBvdmVyIHRvDQogICAgdXNlIHRoZSBuZXcgc3VwZXIgaGVscGVy cy4gIEkndmUgdGVzdGVkIHRoaXMgd2l0aCBleHQ0IGFuZCBidHJmcyBhbmQgdmVyaWZpZWQNCiAg ICBldmVyeXRoaW5nIGNvbnRpbnVlcyB0byB3b3JrIHRoZSBzYW1lIGFzIGJlZm9yZS4NCiAgICAN CiAgICBUaGUgb25seSBuZXcgZ290Y2hhIGlzIG11bHRpcGxlIGNhbGxzIHRvIHRoZSBmc2ZyZWV6 ZSBpb2N0bCB3aWxsIHJldHVybiBFQlVTWSBpDQogICAgdGhlIGZzIGlzIGFscmVhZHkgZnJvemVu LiAgSSB0aG91Z2h0IHRoaXMgd2FzIGEgYmV0dGVyIHNvbHV0aW9uIHRoYW4gYWRkaW5nIGENCiAg ICBmcmVlemUgY291bnRlciB0byB0aGUgc3VwZXJfYmxvY2ssIGJ1dCBpZiBldmVyeWJvZHkgaGF0 ZXMgdGhpcyBpZGVhIEknbSBvcGVuIHRvDQogICAgc3VnZ2VzdGlvbnMuICBUaGFua3MsDQogICAg DQogICAgU2lnbmVkLW9mZi1ieTogSm9zZWYgQmFjaWsgPGpvc2VmQHJlZGhhdC5jb20+DQogICAg U2lnbmVkLW9mZi1ieTogQWwgVmlybyA8dmlyb0B6ZW5pdi5saW51eC5vcmcudWs+DQoNCg0KSU9X cywgaWYgeW91IGZyZWV6ZSB0aGUgc3VwZXJibG9jayB2aWEgeGZzX2ZyZWV6ZSBvciBmc2ZyZWV6 ZSwgeW91IGNhbm5vdCBuZXN0IGZyZWV6ZSByZXF1ZXN0cyAtIHlvdSdsbCBnZXQgRUJVU1kgb24g dGVoIHNlY29uZCBhdHRlbXB0IHRvIGZyZWV6ZSB0aGUgc3VwZXJibG9jay4gDQoNCmx2Y3JlYXRl IG11c3QgYmUgZG9pbmcgYSBmcmVlemUgZnJvbSB0aGUgYmxvY2sgZGV2aWNlLCBzbyBpdCdzIGZh aWxpbmcgd2l0aCBFQlVTWSBiZWNhdXNlIHRoZSBzdXBlcmJsb2NrIG9uIHRoZSBibG9jayBkZXZp Y2UgaXMgYWxyZWFkeSBmcm96ZW4uLi4NCg0KLURhdmUuDQotLQ0KRGF2ZSBDaGlubmVyDQpkYXZp ZEBmcm9tb3JiaXQuY29tDQo= From eflorac@intellique.com Thu Jun 19 03:48:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B79E27F3F for ; Thu, 19 Jun 2014 03:48:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2D4EDAC002 for ; Thu, 19 Jun 2014 01:48:33 -0700 (PDT) X-ASG-Debug-ID: 1403167708-04cbb00a041ba3b0001-NocioJ Received: from smtp6-g21.free.fr (smtp6-g21.free.fr [212.27.42.6]) by cuda.sgi.com with ESMTP id ik1FtN2tfaN0AGjg for ; Thu, 19 Jun 2014 01:48:28 -0700 (PDT) X-Barracuda-Envelope-From: eflorac@intellique.com X-Barracuda-Apparent-Source-IP: 212.27.42.6 Received: from galadriel.home (unknown [82.235.234.79]) by smtp6-g21.free.fr (Postfix) with ESMTP id 452AE82292; Thu, 19 Jun 2014 10:48:26 +0200 (CEST) Date: Thu, 19 Jun 2014 10:48:11 +0200 From: Emmanuel Florac To: =?UTF-8?B?6ZmI5paH5Lic?= Cc: Dave Chinner , "xfs@oss.sgi.com" Subject: Re: xfs_freeze Message-ID: <20140619104811.7f6acb37@galadriel.home> X-ASG-Orig-Subj: Re: xfs_freeze In-Reply-To: <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> <20140619054218.GK4453@dastard> <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> Organization: Intellique X-Mailer: Claws Mail 3.7.8 (GTK+ 2.24.4; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: smtp6-g21.free.fr[212.27.42.6] X-Barracuda-Start-Time: 1403167708 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6772 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Le Thu, 19 Jun 2014 06:46:26 +0000 vous =C3=A9criviez: > What Would Xfs Snapshot Do? >=20 > Xfs_freeze=20 Apparently you should not run xfs_freeze first. Try "lvcreate -s" directly. regards, --=20 ------------------------------------------------------------------------ Emmanuel Florac | Direction technique | Intellique | | +33 1 78 94 84 02 ------------------------------------------------------------------------ From barry@epctherevolutionbegins.co.uk Thu Jun 19 07:24:10 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=HTML_IMAGE_RATIO_08, HTML_MESSAGE,MIME_HTML_MOSTLY,MPART_ALT_DIFF autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B30207F3F for ; Thu, 19 Jun 2014 07:24:10 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 15DA0AC006 for ; Thu, 19 Jun 2014 05:24:06 -0700 (PDT) X-ASG-Debug-ID: 1403180644-04cbb00a031c1300001-NocioJ Received: from Cassiopea.sedecentrale.progetplus.net (130-193-75-116.mynetwaydsl.net [130.193.75.116]) by cuda.sgi.com with ESMTP id v5SX66feuoBkG57J for ; Thu, 19 Jun 2014 05:24:04 -0700 (PDT) X-Barracuda-Envelope-From: barry@epctherevolutionbegins.co.uk X-Barracuda-Apparent-Source-IP: 130.193.75.116 Received: from mail pickup service by Cassiopea.sedecentrale.progetplus.net with Microsoft SMTPSVC; Thu, 19 Jun 2014 14:26:52 +0200 Thread-Topic: Interactive spare parts catalogues, the revolution begins. thread-index: Ac+Lub/rN35pNwQZTNaG156gFNiZAQ== read-receipt-notification-to: barry@epctherevolutionbegins.co.uk Return-Receipt-To: From: "Interactive spare part catalogues" To: Subject: Interactive spare parts catalogues, the revolution begins. Date: Thu, 19 Jun 2014 14:26:52 +0200 X-ASG-Orig-Subj: Interactive spare parts catalogues, the revolution begins. Message-ID: <092EDB9D276A44BBAC1D936C5E28B051@sedecentrale.progetplus.net> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_6CAA2_01CF8BCA.83741030" X-Mailer: Microsoft CDO for Windows 2000 Disposition-Notification-To: Content-Class: urn:content-classes:message Importance: normal Priority: normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4913 X-OriginalArrivalTime: 19 Jun 2014 12:26:52.0336 (UTC) FILETIME=[BFFE5300:01CF8BB9] X-Barracuda-Connect: 130-193-75-116.mynetwaydsl.net[130.193.75.116] X-Barracuda-Start-Time: 1403180644 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.97 X-Barracuda-Spam-Status: No, SCORE=0.97 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA074b, BSF_SC5_MJ1963, HTML_IMAGE_RATIO_08, HTML_MESSAGE, MIME_HTML_MOSTLY, MPART_ALT_DIFF, RDNS_DYNAMIC, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6775 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.00 MIME_HTML_MOSTLY BODY: Multipart message mostly text/html MIME 0.00 HTML_IMAGE_RATIO_08 BODY: HTML has a low ratio of text to image area 0.00 HTML_MESSAGE BODY: HTML included in message 0.14 MPART_ALT_DIFF BODY: HTML and text parts are different 0.20 BSF_SC0_SA074b Custom Rule SA074b 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS 0.50 BSF_SC5_MJ1963 Custom Rule MJ1963 This is a multi-part message in MIME format. ------=_NextPart_000_6CAA2_01CF8BCA.83741030 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit ------=_NextPart_000_6CAA2_01CF8BCA.83741030 Content-Type: text/html Content-Transfer-Encoding: 7bit
Home
Spare parts catalogues management Webinars

 

Register for one of the upcoming Components Engine Webinars and discover how to create interactive spare parts catalogues.

Upcoming online Seminars will be held on:
 Thursday, June 19 from 4:30 pm to 5:30 pm
(GMT +02:00): Paris, Madrid, Amsterdam, Berlin, Rome, Stockholm
ENGLISH language Webinar
 
 Wednesday, June 25 from 2:30 pm to 3:30 pm
(GMT +02:00): Paris, Madrid, Amsterdam, Berlin, Rome, Stockholm
GERMAN language Webinar
 
 Thursday, June 26 from 4:30 pm to 5:30 pm
(GMT +02:00): Paris, Madrid, Amsterdam, Berlin, Rome, Stockholm
SPANISH language Webinar
 
 Tuesday, June 17 from 3:00 pm to 4:00 pm
(GMT +02:00): Paris, Madrid, Amsterdam, Berlin, Rome, Stockholm
ITALIAN language Webinar
 

Click on the seminar session you would like to attend and complete the online registration.
On the day of the event, access the seminar using the credentials received by e-mail.
Once you have logged-in to the seminar, you will be able to listen to the seminar live and follow all operations directly on your computer screen.

For further information, please contact us.

XTG
------=_NextPart_000_6CAA2_01CF8BCA.83741030-- From bfoster@redhat.com Thu Jun 19 08:02:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 588717F3F for ; Thu, 19 Jun 2014 08:02:00 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2A529304067 for ; Thu, 19 Jun 2014 06:01:57 -0700 (PDT) X-ASG-Debug-ID: 1403182915-04bdf05667334090001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Ouuxu0ZZoua93VcE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 19 Jun 2014 06:01:55 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5JD1kRH002713 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jun 2014 09:01:46 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5JD1krX009045; Thu, 19 Jun 2014 09:01:46 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 1FEFB120188; Thu, 19 Jun 2014 09:01:45 -0400 (EDT) Date: Thu, 19 Jun 2014 09:01:45 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] repair: support more than 25 ACLs Message-ID: <20140619130144.GA9043@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: support more than 25 ACLs References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-2-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1403156032-18525-2-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403182915 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 19, 2014 at 03:33:51PM +1000, Dave Chinner wrote: > From: Dave Chinner > > v5 superblock supports many more than 25 ACLs on an inode, but > xfs_repair still thinks that the maximum is 25. Fix it and update > the ACL definitions to match the kernel definitions. Also fix the > remote attr maximum size off-by-one that the maximum number of v5 > ACLs tickles. > > Reported-by: Michael L. Semon > Signed-off-by: Dave Chinner > --- This mostly looks good to me, though it seems like it could at least split into a couple patches. A minor question below... > libxfs/xfs_attr_remote.c | 2 +- > repair/attr_repair.c | 74 ++++++++++++++++++++++++++++++++---------------- > repair/attr_repair.h | 46 +++++++++++++++++++++--------- > 3 files changed, 84 insertions(+), 38 deletions(-) > > diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c > index 5cf5c73..08b983b 100644 > --- a/libxfs/xfs_attr_remote.c > +++ b/libxfs/xfs_attr_remote.c > @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( > if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) > return false; > if (be32_to_cpu(rmt->rm_offset) + > - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) > + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) Corresponds to kernel commit: bba719b5 xfs: fix off-by-one error in xfs_attr3_rmt_verify > return false; > if (rmt->rm_owner == 0) > return false; > diff --git a/repair/attr_repair.c b/repair/attr_repair.c > index 5dd7e5f..87d3b0a 100644 > --- a/repair/attr_repair.c > +++ b/repair/attr_repair.c > @@ -25,7 +25,7 @@ > #include "protos.h" > #include "dir2.h" > > -static int xfs_acl_valid(xfs_acl_disk_t *daclp); > +static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); > static int xfs_mac_valid(xfs_mac_label_t *lp); > > /* > @@ -734,11 +734,15 @@ verify_da_path(xfs_mount_t *mp, > * If value is non-zero, then a remote attribute is being passed in > */ > static int > -valuecheck(char *namevalue, char *value, int namelen, int valuelen) > +valuecheck( > + struct xfs_mount *mp, > + char *namevalue, > + char *value, > + int namelen, > + int valuelen) > { > /* for proper alignment issues, get the structs and memmove the values */ > xfs_mac_label_t macl; > - xfs_acl_t thisacl; > void *valuep; > int clearit = 0; > > @@ -746,18 +750,23 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) > (strncmp(namevalue, SGI_ACL_DEFAULT, > SGI_ACL_DEFAULT_SIZE) == 0)) { > if (value == NULL) { > - memset(&thisacl, 0, sizeof(xfs_acl_t)); > - memmove(&thisacl, namevalue+namelen, valuelen); > - valuep = &thisacl; > + valuep = malloc(valuelen); > + if (!valuep) > + do_error(_("No memory for ACL check!\n")); > + memcpy(valuep, namevalue + namelen, valuelen); > } else > valuep = value; > > - if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) { > + if (xfs_acl_valid(mp, valuep) != 0) { > clearit = 1; > do_warn( > _("entry contains illegal value in attribute named SGI_ACL_FILE " > "or SGI_ACL_DEFAULT\n")); > } > + > + if (valuep != value) > + free(valuep); > + > } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) { > if (value == NULL) { > memset(&macl, 0, sizeof(xfs_mac_label_t)); > @@ -800,6 +809,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) > */ > static int > process_shortform_attr( > + struct xfs_mount *mp, > xfs_ino_t ino, > xfs_dinode_t *dip, > int *repair) > @@ -904,7 +914,7 @@ process_shortform_attr( > > /* Only check values for root security attributes */ > if (currententry->flags & XFS_ATTR_ROOT) > - junkit = valuecheck((char *)¤tentry->nameval[0], > + junkit = valuecheck(mp, (char *)¤tentry->nameval[0], > NULL, currententry->namelen, > currententry->valuelen); > > @@ -1039,6 +1049,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, > > static int > process_leaf_attr_local( > + struct xfs_mount *mp, > xfs_attr_leafblock_t *leaf, > int i, > xfs_attr_leaf_entry_t *entry, > @@ -1076,7 +1087,7 @@ process_leaf_attr_local( > > /* Only check values for root security attributes */ > if (entry->flags & XFS_ATTR_ROOT) { > - if (valuecheck((char *)&local->nameval[0], NULL, > + if (valuecheck(mp, (char *)&local->nameval[0], NULL, > local->namelen, be16_to_cpu(local->valuelen))) { > do_warn( > _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"), > @@ -1134,7 +1145,7 @@ process_leaf_attr_remote( > i, ino); > goto bad_free_out; > } > - if (valuecheck((char *)&remotep->name[0], value, remotep->namelen, > + if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen, > be32_to_cpu(remotep->valuelen))) { > do_warn( > _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"), > @@ -1216,15 +1227,15 @@ process_leaf_attr_block( > break; /* got an overlap */ > } > > - if (entry->flags & XFS_ATTR_LOCAL) > - thissize = process_leaf_attr_local(leaf, i, entry, > + if (entry->flags & XFS_ATTR_LOCAL) > + thissize = process_leaf_attr_local(mp, leaf, i, entry, > last_hashval, da_bno, ino); > else > thissize = process_leaf_attr_remote(leaf, i, entry, > last_hashval, da_bno, ino, > mp, blkmap); > if (thissize < 0) { > - clearit = 1; > + clearit = 1; > break; > } > > @@ -1608,15 +1619,19 @@ process_longform_attr( > > > static int > -xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) > +xfs_acl_from_disk( > + struct xfs_mount *mp, > + struct xfs_icacl **aclp, > + struct xfs_acl *dacl) > { > int count; > - xfs_acl_t *acl; > - xfs_acl_entry_t *ace; > - xfs_acl_entry_disk_t *dace, *end; > + int size; > + struct xfs_icacl *acl; > + struct xfs_icacl_entry *ace; > + struct xfs_acl_entry *dace, *end; > > count = be32_to_cpu(dacl->acl_cnt); > - if (count > XFS_ACL_MAX_ENTRIES) { > + if (count > XFS_ACL_MAX_ENTRIES(mp)) { > do_warn(_("Too many ACL entries, count %d\n"), count); > *aclp = NULL; > return EINVAL; > @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) > > > end = &dacl->acl_entry[0] + count; > - acl = malloc((int)((char *)end - (char *)dacl)); > + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); > + if (size != (int)((char *)end - (char *)dacl)) { > + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), > + count, size, (int)((char *)end - (char *)dacl)); > + *aclp = NULL; > + return EINVAL; > + } This size check seems superfluous. In what scenario could it fail? > + > + acl = malloc(sizeof(struct xfs_icacl) + > + count * sizeof(struct xfs_icacl_entry)); > if (!acl) { > do_warn(_("cannot malloc enough for ACL attribute\n")); > do_warn(_("SKIPPING this ACL\n")); > @@ -1667,7 +1691,7 @@ process_attributes( > if (aformat == XFS_DINODE_FMT_LOCAL) { > ASSERT(be16_to_cpu(asf->hdr.totsize) <= > XFS_DFORK_ASIZE(dip, mp)); > - err = process_shortform_attr(ino, dip, repair); > + err = process_shortform_attr(mp, ino, dip, repair); > } else if (aformat == XFS_DINODE_FMT_EXTENTS || > aformat == XFS_DINODE_FMT_BTREE) { > err = process_longform_attr(mp, ino, dip, blkmap, > @@ -1686,17 +1710,19 @@ process_attributes( > * Validate an ACL > */ > static int > -xfs_acl_valid(xfs_acl_disk_t *daclp) > +xfs_acl_valid( > + struct xfs_mount *mp, > + struct xfs_acl *daclp) > { > - xfs_acl_t *aclp = NULL; > - xfs_acl_entry_t *entry, *e; > + struct xfs_icacl *aclp = NULL; > + struct xfs_icacl_entry *entry, *e; > int user = 0, group = 0, other = 0, mask = 0, mask_required = 0; > int i, j; > > if (daclp == NULL) > goto acl_invalid; > > - switch (xfs_acl_from_disk(&aclp, daclp)) { > + switch (xfs_acl_from_disk(mp, &aclp, daclp)) { > case ENOMEM: > return 0; > case EINVAL: > diff --git a/repair/attr_repair.h b/repair/attr_repair.h > index f42536a..0d0c62c 100644 > --- a/repair/attr_repair.h > +++ b/repair/attr_repair.h > @@ -37,29 +37,49 @@ typedef __int32_t xfs_acl_type_t; > typedef __int32_t xfs_acl_tag_t; > typedef __int32_t xfs_acl_id_t; > > -typedef struct xfs_acl_entry { > +/* > + * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code, > + * so they are magic names just for repair. The "acl" types are what the kernel > + * code uses for the on-disk format names, so use them here too for the on-disk > + * ACL format definitions. > + */ > +struct xfs_icacl_entry { > xfs_acl_tag_t ae_tag; > xfs_acl_id_t ae_id; > xfs_acl_perm_t ae_perm; > -} xfs_acl_entry_t; > +}; > > -#define XFS_ACL_MAX_ENTRIES 25 > -typedef struct xfs_acl { > - __int32_t acl_cnt; > - xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES]; > -} xfs_acl_t; > +struct xfs_icacl { > + __int32_t acl_cnt; > + struct xfs_icacl_entry acl_entry[0]; > +}; > > -typedef struct xfs_acl_entry_disk { > +struct xfs_acl_entry { > __be32 ae_tag; > __be32 ae_id; > __be16 ae_perm; > -} xfs_acl_entry_disk_t; > + __be16 ae_pad; > +}; > > -typedef struct xfs_acl_disk { > - __be32 acl_cnt; > - xfs_acl_entry_disk_t acl_entry[XFS_ACL_MAX_ENTRIES]; > -} xfs_acl_disk_t; > +struct xfs_acl { > + __be32 acl_cnt; > + struct xfs_acl_entry acl_entry[0]; > +}; > > +/* > + * The number of ACL entries allowed is defined by the on-disk format. > + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is > + * limited only by the maximum size of the xattr that stores the information. > + */ > +#define XFS_ACL_MAX_ENTRIES(mp) \ > + (xfs_sb_version_hascrc(&mp->m_sb) \ > + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ > + sizeof(struct xfs_acl_entry) \ > + : 25) > + > +#define XFS_ACL_MAX_SIZE(mp) \ > + (sizeof(struct xfs_acl) + \ > + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) > Mostly corresponds to kernel commit: 0a8aa193 xfs: increase number of ACL entries for V5 superblocks Brian > #define SGI_ACL_FILE "SGI_ACL_FILE" > #define SGI_ACL_DEFAULT "SGI_ACL_DEFAULT" > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From bfoster@redhat.com Thu Jun 19 08:02:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 50F537F51 for ; Thu, 19 Jun 2014 08:02:05 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3ECF3304067 for ; Thu, 19 Jun 2014 06:02:05 -0700 (PDT) X-ASG-Debug-ID: 1403182923-04cbb00a031c2d60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id Rj0tpwifghF8NrD6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 19 Jun 2014 06:02:04 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5JD22ZG002783 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Jun 2014 09:02:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5JD223c021443; Thu, 19 Jun 2014 09:02:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 38F13120188; Thu, 19 Jun 2014 09:02:01 -0400 (EDT) Date: Thu, 19 Jun 2014 09:02:01 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 2/2] mkfs: add "-m" options to the man page Message-ID: <20140619130200.GB9043@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 2/2] mkfs: add "-m" options to the man page References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-3-git-send-email-david@fromorbit.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1403156032-18525-3-git-send-email-david@fromorbit.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403182923 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 19, 2014 at 03:33:52PM +1000, Dave Chinner wrote: > From: Dave Chinner > > Because they are missing. > > Reported-by: Matthias Schniedermeyer > Signed-off-by: Dave Chinner > --- > man/man8/mkfs.xfs.8 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 47 insertions(+) > > diff --git a/man/man8/mkfs.xfs.8 b/man/man8/mkfs.xfs.8 > index 8184e10..4ba07bf 100644 > --- a/man/man8/mkfs.xfs.8 > +++ b/man/man8/mkfs.xfs.8 > @@ -7,6 +7,9 @@ mkfs.xfs \- construct an XFS filesystem > .B \-b > .I block_size > ] [ > +.B \-m > +.I global_metadata_options > +] [ > .B \-d > .I data_section_options > ] [ > @@ -125,6 +128,50 @@ The default value is 4096 bytes (4 KiB), the minimum is 512, and the > maximum is 65536 (64 KiB). > XFS on Linux currently only supports pagesize or smaller blocks. > .TP > +.BI \-m " global_metadata_options" > +These options specify metadata format options that either apply to the entire > +filesystem or aren't easily characterised by a specific functionality group. The > +valid > +.I global_metadata_options > +are: > +.RS 1.2i > +.TP > +.BI crc= value > +This is used to create a filesystem which maintains and checks CRC information > +in all metadata objects on disk. The value is either 0 to disable the feature, > +or 1 to enable the use of CRCs. > +.IP > +CRCs enable enhanced error detection due to > +hardware issues, whilst the format changes also improves crash recovery > +algorithms and the ability of various tools to validate and repair metadata ^ extra space The rest looks good to me. Thanks for writing up the finobt bits! Reviewed-by: Brian Foster > +corruptions when they are found. > +The CRC algorithm used is CRC32c, so the overhead is dependent on CPU > +architecture as some CPUs have hardware acceleration of this algorithm. > +Typically the overhead of calculating and checking the CRCs is not noticable in > +normal operation. > +.IP > +By default, > +.B mkfs.xfs > +will not enable metadata CRCs. > +.TP > +.BI finobt= value > +This option enables the use of a separate free inode btree index in each > +allocation group. The value is either 0 to disable the feature, or 1 to create > +a free inode btree in each allocation group. > +.IP > +The free inode btree mirrors the existing allocated inode btree index which > +indexes both used and free inodes. The free inode btree does not index used > +inodes, allowing faster, more consistent inode allocation performance as > +filesystems age. > +.IP > +By default, > +.B mkfs.xfs > +will not create free inode btrees. This feature is also currently only available > +for filesystems created with the > +.B \-m crc=1 > +option set. > +.RE > +.TP > .BI \-d " data_section_options" > These options specify the location, size, and other parameters of the > data section of the filesystem. The valid > -- > 2.0.0 > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Thu Jun 19 10:30:48 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 9AC097F3F for ; Thu, 19 Jun 2014 10:30:48 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 76BEB304048 for ; Thu, 19 Jun 2014 08:30:45 -0700 (PDT) X-ASG-Debug-ID: 1403191840-04bdf0566833d400001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 2VAJELCTRsM39JwP for ; Thu, 19 Jun 2014 08:30:40 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id DD51665CBFA6; Thu, 19 Jun 2014 10:30:39 -0500 (CDT) Message-ID: <53A30221.4010307@sandeen.net> Date: Thu, 19 Jun 2014 10:30:41 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Emmanuel Florac , =?UTF-8?B?6ZmI5paH5Lic?= CC: "xfs@oss.sgi.com" Subject: Re: xfs_freeze References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> <20140619054218.GK4453@dastard> <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> <20140619104811.7f6acb37@galadriel.home> X-ASG-Orig-Subj: Re: xfs_freeze In-Reply-To: <20140619104811.7f6acb37@galadriel.home> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403191840 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6778 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/19/14, 3:48 AM, Emmanuel Florac wrote: > Le Thu, 19 Jun 2014 06:46:26 +0000 vous écriviez: > >> What Would Xfs Snapshot Do? >> >> Xfs_freeze > > Apparently you should not run xfs_freeze first. Try "lvcreate -s" > directly. > > regards, > that's correct, lv snapshots do their own freezing. -Eric From amata@indra.es Thu Jun 19 14:27:23 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=HTML_MESSAGE,TO_MALFORMED autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 102B329DF8 for ; Thu, 19 Jun 2014 14:27:23 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 7962CAC005 for ; Thu, 19 Jun 2014 12:27:19 -0700 (PDT) X-ASG-Debug-ID: 1403206035-04bdf0566734d810001-NocioJ Received: from mailhost1.indra.es (mail04.indra.es [94.126.240.24]) by cuda.sgi.com with ESMTP id NIGmMXi6iEKuvJcX (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Thu, 19 Jun 2014 12:27:17 -0700 (PDT) X-Barracuda-Envelope-From: amata@indra.es X-Barracuda-Apparent-Source-IP: 94.126.240.24 Received: from MadarrVHub03.indra.es (172.22.204.68) by MADARREDGE04.indra.es (172.22.231.69) with Microsoft SMTP Server (TLS) id 8.3.279.5; Thu, 19 Jun 2014 21:26:57 +0200 Received: from MADARRMAILBOX03.indra.es ([169.254.1.53]) by MadarrVHub03.indra.es ([172.22.204.68]) with mapi; Thu, 19 Jun 2014 21:27:15 +0200 From: "Mata Estarellas, Antonio" To: "lil@org" Date: Thu, 19 Jun 2014 21:27:14 +0200 Subject: Reply back Thread-Topic: Reply back X-ASG-Orig-Subj: Reply back Thread-Index: AQHPi/R5kFlmKRzNTEWFO9Kdcpqaew== Message-ID: Accept-Language: es-ES Content-Language: es-ES X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: es-ES Content-Type: multipart/alternative; boundary="_000_EE96AA724E17454CB00E102708DDFB2F6F0313MADARRMAILBOX03in_" MIME-Version: 1.0 X-Barracuda-Connect: mail04.indra.es[94.126.240.24] X-Barracuda-Start-Time: 1403206036 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-BRTS-Evidence: b0a986bb52a5f9aa13e0e9a177c81181-2182-htm X-Barracuda-Spam-Score: 0.02 X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, HTML_MESSAGE, THREAD_INDEX, THREAD_TOPIC, TO_MALFORMED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6783 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 TO_MALFORMED To: has a malformed address 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header 0.00 HTML_MESSAGE BODY: HTML included in message --_000_EE96AA724E17454CB00E102708DDFB2F6F0313MADARRMAILBOX03in_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Reply back I, Liliane authenticate this email, you can read about me on: http://en.wikipedia.org/wiki/Liliane_Bettencourt I write to you because I intend to give to you a portion of my Net-worth which I have been banking. I want to cede it out as gift hoping it would be of help to you and others too. Respond for confirmation to this email address lilianebet@aol.fr With love, Liliane Bettencourt ________________________________ Este correo electr=F3nico y, en su caso, cualquier fichero anexo al mismo, = contiene informaci=F3n de car=E1cter confidencial exclusivamente dirigida a= su destinatario o destinatarios. Si no es vd. el destinatario indicado, qu= eda notificado que la lectura, utilizaci=F3n, divulgaci=F3n y/o copia sin a= utorizaci=F3n est=E1 prohibida en virtud de la legislaci=F3n vigente. En el= caso de haber recibido este correo electr=F3nico por error, se ruega notif= icar inmediatamente esta circunstancia mediante reenv=EDo a la direcci=F3n = electr=F3nica del remitente. Evite imprimir este mensaje si no es estrictamente necesario. This email and any file attached to it (when applicable) contain(s) confide= ntial information that is exclusively addressed to its recipient(s). If you= are not the indicated recipient, you are informed that reading, using, dis= seminating and/or copying it without authorisation is forbidden in accordan= ce with the legislation in effect. If you have received this email by mista= ke, please immediately notify the sender of the situation by resending it t= o their email address. Avoid printing this message if it is not absolutely necessary. --_000_EE96AA724E17454CB00E102708DDFB2F6F0313MADARRMAILBOX03in_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Reply b= ack
I, Liliane authenticate this email, you can read about me on:
http://en.wiki= pedia.org/wiki/Liliane_Bettencourt
I write to you because I intend to give to you a portion of my
Net-worth which I have been banking. I want to cede it out as gift
hoping it would be of help to you and others too. Respond for
confirmation to this email address lil= ianebet@aol.fr
With love,
Liliane Bettencourt


Este correo electr=F3nico y,= en su caso, cualquier fichero anexo al mismo, contiene informaci=F3n de ca= r=E1cter confidencial exclusivamente dirigida a su destinatario o destinata= rios. Si no es vd. el destinatario indicado, queda notificado que la lectura, utilizaci=F3n, divulgaci=F3n y/o copia si= n autorizaci=F3n est=E1 prohibida en virtud de la legislaci=F3n vigente. En= el caso de haber recibido este correo electr=F3nico por error, se ruega no= tificar inmediatamente esta circunstancia mediante reenv=EDo a la direcci=F3n electr=F3nica del remitente.
Evite imprimir este mensaje si no es estrictamente necesario.

This email and any file attached to it (when applicable) contain(s) confide= ntial information that is exclusively addressed to its recipient(s). If you= are not the indicated recipient, you are informed that reading, using, dis= seminating and/or copying it without authorisation is forbidden in accordance with the legislation in effect. I= f you have received this email by mistake, please immediately notify the se= nder of the situation by resending it to their email address.
Avoid printing this message if it is not absolutely necessary.
--_000_EE96AA724E17454CB00E102708DDFB2F6F0313MADARRMAILBOX03in_-- From david@fromorbit.com Thu Jun 19 16:14:23 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id CECF529DF8 for ; Thu, 19 Jun 2014 16:14:22 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 5AD08AC002 for ; Thu, 19 Jun 2014 14:14:19 -0700 (PDT) X-ASG-Debug-ID: 1403212456-04cb6c76d106b60001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id q2YXRi38APuB4Mqs for ; Thu, 19 Jun 2014 14:14:17 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqpmAPVRo1N5LC2vPGdsb2JhbABZgw2DSIUIonIBAQEBAQEGmSkBgQ4XBAEBAQE4NYQDAQEEAScTHCMQCAMOBwMJJQ8FDRgDBxoTiC4DCQfGag2GBhcWhUyGcYFLWAeEQwSYSoF4jVmJVCuBMQ Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail05.adl6.internode.on.net with ESMTP; 20 Jun 2014 06:44:15 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wxjew-0003ul-7c; Fri, 20 Jun 2014 07:14:14 +1000 Date: Fri, 20 Jun 2014 07:14:14 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] repair: support more than 25 ACLs Message-ID: <20140619211414.GS9508@dastard> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: support more than 25 ACLs References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-2-git-send-email-david@fromorbit.com> <20140619130144.GA9043@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140619130144.GA9043@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1403212456 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6785 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email On Thu, Jun 19, 2014 at 09:01:45AM -0400, Brian Foster wrote: > On Thu, Jun 19, 2014 at 03:33:51PM +1000, Dave Chinner wrote: > > From: Dave Chinner > > > > v5 superblock supports many more than 25 ACLs on an inode, but > > xfs_repair still thinks that the maximum is 25. Fix it and update > > the ACL definitions to match the kernel definitions. Also fix the > > remote attr maximum size off-by-one that the maximum number of v5 > > ACLs tickles. > > > > Reported-by: Michael L. Semon > > Signed-off-by: Dave Chinner > > --- > > This mostly looks good to me, though it seems like it could at least > split into a couple patches. A minor question below... I wrote it as a single patch to make it easy for Michael to test, and I found several issues along the way... > > libxfs/xfs_attr_remote.c | 2 +- > > repair/attr_repair.c | 74 ++++++++++++++++++++++++++++++++---------------- > > repair/attr_repair.h | 46 +++++++++++++++++++++--------- > > 3 files changed, 84 insertions(+), 38 deletions(-) > > > > diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c > > index 5cf5c73..08b983b 100644 > > --- a/libxfs/xfs_attr_remote.c > > +++ b/libxfs/xfs_attr_remote.c > > @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( > > if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) > > return false; > > if (be32_to_cpu(rmt->rm_offset) + > > - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) > > + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) > > Corresponds to kernel commit: > > bba719b5 xfs: fix off-by-one error in xfs_attr3_rmt_verify Yup, I'll note that. > > @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) > > > > > > end = &dacl->acl_entry[0] + count; > > - acl = malloc((int)((char *)end - (char *)dacl)); > > + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); > > + if (size != (int)((char *)end - (char *)dacl)) { > > + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), > > + count, size, (int)((char *)end - (char *)dacl)); > > + *aclp = NULL; > > + return EINVAL; > > + } > > This size check seems superfluous. In what scenario could it fail? Kernel writes a corrupted ACL? Cosmic ray causes a single bit error in a sector on a non-crc filesystem? We do checks like these on variable size structures in many other places - not just ACLs - for verifying internal consistency of the structure we are parsing.... > > > > +/* > > + * The number of ACL entries allowed is defined by the on-disk format. > > + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is > > + * limited only by the maximum size of the xattr that stores the information. > > + */ > > +#define XFS_ACL_MAX_ENTRIES(mp) \ > > + (xfs_sb_version_hascrc(&mp->m_sb) \ > > + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ > > + sizeof(struct xfs_acl_entry) \ > > + : 25) > > + > > +#define XFS_ACL_MAX_SIZE(mp) \ > > + (sizeof(struct xfs_acl) + \ > > + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) > > > > Mostly corresponds to kernel commit: > > 0a8aa193 xfs: increase number of ACL entries for V5 superblocks Mostly, but it's a completely separate set of definitions to the kernel and libxfs. Maybe at some point we should revisit that... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Jun 19 16:57:14 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1F87929DF8 for ; Thu, 19 Jun 2014 16:57:14 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E8E318F804C for ; Thu, 19 Jun 2014 14:57:10 -0700 (PDT) X-ASG-Debug-ID: 1403215027-04cbb00a021dfc50001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id qVCaJ1wr7PSovhVD for ; Thu, 19 Jun 2014 14:57:08 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqZmAINbo1N5LC2vPGdsb2JhbABZgw2DSIUIonQBAQEBAQEGmSkBgQ4XBAEBAQE4NYQDAQEFJxMcIxAIEQcMJQ8FDRgDBxoTiC4DEMZiDYYGFxaFTIZxgUtYB4RDBJhKgXiNWYlUK4ExAh4G Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail05.adl6.internode.on.net with ESMTP; 20 Jun 2014 07:27:06 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxkKP-000474-1C; Fri, 20 Jun 2014 07:57:05 +1000 Date: Fri, 20 Jun 2014 07:57:05 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: [PATCH 1/2 V2] repair: support more than 25 ACLs Message-ID: <20140619215704.GT9508@dastard> X-ASG-Orig-Subj: [PATCH 1/2 V2] repair: support more than 25 ACLs References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-2-git-send-email-david@fromorbit.com> <20140619130144.GA9043@bfoster.bfoster> <20140619211414.GS9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140619211414.GS9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1403215027 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6787 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email repair: support more than 25 ACLs From: Dave Chinner v5 superblock supports many more than 25 ACLs on an inode, but xfs_repair still thinks that the maximum is 25. This slipped through becase the reapir code does not share any of the kernel side ACL code in libxfs, and instead has all it's own internal ACL definitions. Fix the repair code to support more than 25 ACLs and update the ACL definitions to match the kernel definitions. In doing so, this tickles a off-by-one bug on remote attribute maximum sizes that is already fixed in the kernel code. So in addition to fixing the repair code, this patch pulls in parts of the following kernel commits: bba719b5 xfs: fix off-by-one error in xfs_attr3_rmt_verify 0a8aa193 xfs: increase number of ACL entries for V5 superblocks Reported-by: Michael L. Semon Signed-off-by: Dave Chinner --- V2: update commit message to: - better explain the lack of code sharing that lead to this being missed; and - indicate the kernel commits that the ACL and attr changes were sourced from. libxfs/xfs_attr_remote.c | 2 +- repair/attr_repair.c | 74 ++++++++++++++++++++++++++++++++---------------- repair/attr_repair.h | 46 +++++++++++++++++++++--------- 3 files changed, 84 insertions(+), 38 deletions(-) diff --git a/libxfs/xfs_attr_remote.c b/libxfs/xfs_attr_remote.c index 5cf5c73..08b983b 100644 --- a/libxfs/xfs_attr_remote.c +++ b/libxfs/xfs_attr_remote.c @@ -85,7 +85,7 @@ xfs_attr3_rmt_verify( if (be32_to_cpu(rmt->rm_bytes) > fsbsize - sizeof(*rmt)) return false; if (be32_to_cpu(rmt->rm_offset) + - be32_to_cpu(rmt->rm_bytes) >= XATTR_SIZE_MAX) + be32_to_cpu(rmt->rm_bytes) > XATTR_SIZE_MAX) return false; if (rmt->rm_owner == 0) return false; diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 5dd7e5f..87d3b0a 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -25,7 +25,7 @@ #include "protos.h" #include "dir2.h" -static int xfs_acl_valid(xfs_acl_disk_t *daclp); +static int xfs_acl_valid(struct xfs_mount *mp, struct xfs_acl *daclp); static int xfs_mac_valid(xfs_mac_label_t *lp); /* @@ -734,11 +734,15 @@ verify_da_path(xfs_mount_t *mp, * If value is non-zero, then a remote attribute is being passed in */ static int -valuecheck(char *namevalue, char *value, int namelen, int valuelen) +valuecheck( + struct xfs_mount *mp, + char *namevalue, + char *value, + int namelen, + int valuelen) { /* for proper alignment issues, get the structs and memmove the values */ xfs_mac_label_t macl; - xfs_acl_t thisacl; void *valuep; int clearit = 0; @@ -746,18 +750,23 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) (strncmp(namevalue, SGI_ACL_DEFAULT, SGI_ACL_DEFAULT_SIZE) == 0)) { if (value == NULL) { - memset(&thisacl, 0, sizeof(xfs_acl_t)); - memmove(&thisacl, namevalue+namelen, valuelen); - valuep = &thisacl; + valuep = malloc(valuelen); + if (!valuep) + do_error(_("No memory for ACL check!\n")); + memcpy(valuep, namevalue + namelen, valuelen); } else valuep = value; - if (xfs_acl_valid((xfs_acl_disk_t *)valuep) != 0) { + if (xfs_acl_valid(mp, valuep) != 0) { clearit = 1; do_warn( _("entry contains illegal value in attribute named SGI_ACL_FILE " "or SGI_ACL_DEFAULT\n")); } + + if (valuep != value) + free(valuep); + } else if (strncmp(namevalue, SGI_MAC_FILE, SGI_MAC_FILE_SIZE) == 0) { if (value == NULL) { memset(&macl, 0, sizeof(xfs_mac_label_t)); @@ -800,6 +809,7 @@ valuecheck(char *namevalue, char *value, int namelen, int valuelen) */ static int process_shortform_attr( + struct xfs_mount *mp, xfs_ino_t ino, xfs_dinode_t *dip, int *repair) @@ -904,7 +914,7 @@ process_shortform_attr( /* Only check values for root security attributes */ if (currententry->flags & XFS_ATTR_ROOT) - junkit = valuecheck((char *)¤tentry->nameval[0], + junkit = valuecheck(mp, (char *)¤tentry->nameval[0], NULL, currententry->namelen, currententry->valuelen); @@ -1039,6 +1049,7 @@ rmtval_get(xfs_mount_t *mp, xfs_ino_t ino, blkmap_t *blkmap, static int process_leaf_attr_local( + struct xfs_mount *mp, xfs_attr_leafblock_t *leaf, int i, xfs_attr_leaf_entry_t *entry, @@ -1076,7 +1087,7 @@ process_leaf_attr_local( /* Only check values for root security attributes */ if (entry->flags & XFS_ATTR_ROOT) { - if (valuecheck((char *)&local->nameval[0], NULL, + if (valuecheck(mp, (char *)&local->nameval[0], NULL, local->namelen, be16_to_cpu(local->valuelen))) { do_warn( _("bad security value for attribute entry %d in attr block %u, inode %" PRIu64 "\n"), @@ -1134,7 +1145,7 @@ process_leaf_attr_remote( i, ino); goto bad_free_out; } - if (valuecheck((char *)&remotep->name[0], value, remotep->namelen, + if (valuecheck(mp, (char *)&remotep->name[0], value, remotep->namelen, be32_to_cpu(remotep->valuelen))) { do_warn( _("remote attribute value check failed for entry %d, inode %" PRIu64 "\n"), @@ -1216,15 +1227,15 @@ process_leaf_attr_block( break; /* got an overlap */ } - if (entry->flags & XFS_ATTR_LOCAL) - thissize = process_leaf_attr_local(leaf, i, entry, + if (entry->flags & XFS_ATTR_LOCAL) + thissize = process_leaf_attr_local(mp, leaf, i, entry, last_hashval, da_bno, ino); else thissize = process_leaf_attr_remote(leaf, i, entry, last_hashval, da_bno, ino, mp, blkmap); if (thissize < 0) { - clearit = 1; + clearit = 1; break; } @@ -1608,15 +1619,19 @@ process_longform_attr( static int -xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) +xfs_acl_from_disk( + struct xfs_mount *mp, + struct xfs_icacl **aclp, + struct xfs_acl *dacl) { int count; - xfs_acl_t *acl; - xfs_acl_entry_t *ace; - xfs_acl_entry_disk_t *dace, *end; + int size; + struct xfs_icacl *acl; + struct xfs_icacl_entry *ace; + struct xfs_acl_entry *dace, *end; count = be32_to_cpu(dacl->acl_cnt); - if (count > XFS_ACL_MAX_ENTRIES) { + if (count > XFS_ACL_MAX_ENTRIES(mp)) { do_warn(_("Too many ACL entries, count %d\n"), count); *aclp = NULL; return EINVAL; @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) end = &dacl->acl_entry[0] + count; - acl = malloc((int)((char *)end - (char *)dacl)); + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); + if (size != (int)((char *)end - (char *)dacl)) { + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), + count, size, (int)((char *)end - (char *)dacl)); + *aclp = NULL; + return EINVAL; + } + + acl = malloc(sizeof(struct xfs_icacl) + + count * sizeof(struct xfs_icacl_entry)); if (!acl) { do_warn(_("cannot malloc enough for ACL attribute\n")); do_warn(_("SKIPPING this ACL\n")); @@ -1667,7 +1691,7 @@ process_attributes( if (aformat == XFS_DINODE_FMT_LOCAL) { ASSERT(be16_to_cpu(asf->hdr.totsize) <= XFS_DFORK_ASIZE(dip, mp)); - err = process_shortform_attr(ino, dip, repair); + err = process_shortform_attr(mp, ino, dip, repair); } else if (aformat == XFS_DINODE_FMT_EXTENTS || aformat == XFS_DINODE_FMT_BTREE) { err = process_longform_attr(mp, ino, dip, blkmap, @@ -1686,17 +1710,19 @@ process_attributes( * Validate an ACL */ static int -xfs_acl_valid(xfs_acl_disk_t *daclp) +xfs_acl_valid( + struct xfs_mount *mp, + struct xfs_acl *daclp) { - xfs_acl_t *aclp = NULL; - xfs_acl_entry_t *entry, *e; + struct xfs_icacl *aclp = NULL; + struct xfs_icacl_entry *entry, *e; int user = 0, group = 0, other = 0, mask = 0, mask_required = 0; int i, j; if (daclp == NULL) goto acl_invalid; - switch (xfs_acl_from_disk(&aclp, daclp)) { + switch (xfs_acl_from_disk(mp, &aclp, daclp)) { case ENOMEM: return 0; case EINVAL: diff --git a/repair/attr_repair.h b/repair/attr_repair.h index f42536a..0d0c62c 100644 --- a/repair/attr_repair.h +++ b/repair/attr_repair.h @@ -37,29 +37,49 @@ typedef __int32_t xfs_acl_type_t; typedef __int32_t xfs_acl_tag_t; typedef __int32_t xfs_acl_id_t; -typedef struct xfs_acl_entry { +/* + * "icacl" = in-core ACL. There is no equivalent in the XFS kernel code, + * so they are magic names just for repair. The "acl" types are what the kernel + * code uses for the on-disk format names, so use them here too for the on-disk + * ACL format definitions. + */ +struct xfs_icacl_entry { xfs_acl_tag_t ae_tag; xfs_acl_id_t ae_id; xfs_acl_perm_t ae_perm; -} xfs_acl_entry_t; +}; -#define XFS_ACL_MAX_ENTRIES 25 -typedef struct xfs_acl { - __int32_t acl_cnt; - xfs_acl_entry_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_t; +struct xfs_icacl { + __int32_t acl_cnt; + struct xfs_icacl_entry acl_entry[0]; +}; -typedef struct xfs_acl_entry_disk { +struct xfs_acl_entry { __be32 ae_tag; __be32 ae_id; __be16 ae_perm; -} xfs_acl_entry_disk_t; + __be16 ae_pad; +}; -typedef struct xfs_acl_disk { - __be32 acl_cnt; - xfs_acl_entry_disk_t acl_entry[XFS_ACL_MAX_ENTRIES]; -} xfs_acl_disk_t; +struct xfs_acl { + __be32 acl_cnt; + struct xfs_acl_entry acl_entry[0]; +}; +/* + * The number of ACL entries allowed is defined by the on-disk format. + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is + * limited only by the maximum size of the xattr that stores the information. + */ +#define XFS_ACL_MAX_ENTRIES(mp) \ + (xfs_sb_version_hascrc(&mp->m_sb) \ + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ + sizeof(struct xfs_acl_entry) \ + : 25) + +#define XFS_ACL_MAX_SIZE(mp) \ + (sizeof(struct xfs_acl) + \ + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) #define SGI_ACL_FILE "SGI_ACL_FILE" #define SGI_ACL_DEFAULT "SGI_ACL_DEFAULT" From david@fromorbit.com Thu Jun 19 17:08:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 9440929DF8 for ; Thu, 19 Jun 2014 17:08:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 08E99AC002 for ; Thu, 19 Jun 2014 15:07:56 -0700 (PDT) X-ASG-Debug-ID: 1403215674-04cbb00a021e0450001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id nzn2K8Ad1Ri8NFI4 for ; Thu, 19 Jun 2014 15:07:54 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiBnAMpeo1N5LC2vPGdsb2JhbABZgw0fM4J2hQiidAEBAQEBAQaRaohOFwQBAQEBODWEYDskNAUlAwctiEGfKq1hFoVMiTGCIA9EgToEmkKVG4ISKw Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail05.adl6.internode.on.net with ESMTP; 20 Jun 2014 07:37:41 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WxkUe-0004Aa-Bs for xfs@oss.sgi.com; Fri, 20 Jun 2014 08:07:40 +1000 Date: Fri, 20 Jun 2014 08:07:40 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: [ANNOUNCE] xfsprogs: master branch updated to cf0cc34 Message-ID: <20140619220740.GU9508@dastard> X-ASG-Orig-Subj: [ANNOUNCE] xfsprogs: master branch updated to cf0cc34 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xXmbgvnjoT4axfJE" Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1403215674 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.20 X-Barracuda-Spam-Status: No, SCORE=0.20 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=PR0N_SUBJECT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6787 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.20 PR0N_SUBJECT Subject has letters around special characters (pr0n) --xXmbgvnjoT4axfJE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi folks, The xfsprogs repository at git://oss.sgi.com/xfs/cmds/xfsprogs has just been updated. Once I have the repair ACL fixes reviewed and pushed, I think we are pretty much at the point where we have everything we need for a 3.2.1 release candidate. Is there anything else that I've missed that we need for 3.2.1? -Dave. The new head of the master branch is commit: cf0cc34 mkfs: add "-m" options to the man page New Commits: Dave Chinner (1): [cf0cc34] mkfs: add "-m" options to the man page Eric Sandeen (9): [5a7d593] xfsprogs: try to handle mkfs of a file on 4k sector device [3800a2a] mkfs.xfs: don't call blkid_get_topology on existing regular= files [eef20df] xfs_fsr: ensure the line we read from leftofffile is null t= erminated [671632c] xfs_fsr: create a cleanup/return target in packfile() [3d303ba] xfs_fsr: test for more potential failures in packfile() [53ab4c4] xfsprogs: add mount options to xfs.5 manpage [e024ab5] xfsprogs: indicate default mount options in xfs.5 manpage [35f2764] libxfs: don't send null bp to xfs_trans_brelse() [75c270a] libxfs: fix crc field handling in xfs_sb_to/from_disk Jakub Bogusz (1): [7a92e85] xfsprogs: update polish translation Junxiao Bi (1): [c667d79] xfs_copy: fix data corruption of target Code Diffstat: copy/xfs_copy.c | 6 +- fsr/xfs_fsr.c | 115 +- libxfs/linux.c | 16 +- libxfs/xfs_da_btree.c | 3 +- libxfs/xfs_sb.c | 5 + man/man5/xfs.5 | 207 +- man/man8/mkfs.xfs.8 | 45 + mkfs/xfs_mkfs.c | 27 +- po/pl.po | 19073 ++++++++++++++++++++++++--------------------= ---- 9 files changed, 9824 insertions(+), 9673 deletions(-) --=20 Dave Chinner david@fromorbit.com --xXmbgvnjoT4axfJE Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBAgAGBQJTo18rAAoJEK3oKUf0dfod2MkP/iepXqtCGPB8prLlqsIsddCO +IdArapna/Exsskkfp3XG+hiH9CN3NaCimv/EEVE/zv1zOKJ3JWX3cq9xHWIrC2B fxp6j8Rbgat8UgpceH2DyJVc5dRoZAZ6zj7pkV6wxMwp19YbNm/JQ2qhW+JUVZzt ktrfh/K2io7Cd6dFvPRwYOIX0ll1/Nu6XDwgTw8wWnhjbjAFwzphlb+RXH6n2dEs xgCuAuTMDuyeUBAOZ16qL8+uA00ljoOPGQQAwkgk4lNhg+MrlRdJh78Fly0WaGI4 ZsAWBiHGdEaRzZNCByPz+no4o+2B1i7aXq6+3RF1JDOB8qBVK/w54RHJQskDLSGV /pxToV144r5Vi/AZkiKVMjp2kZu6jaKWyZR47XBihtyIwElD6I+O0B37rrjkbOz0 VH+9xhEebtspT1E3IEfa+ac3DMJwFOytxklJ73a5/sTTpiwCInjQl6zKzwZ3kJuz u2iH7AejleLo9W4VEyWOaph1mRYeJX323D+TCZz947DavyjAw+cTSnOrCWroK5Dl lFkxkMZbXMYgR+kyDHAWNqLX5F9/KhARv00BbuaGAaTqp2TeFUvSs3lOnZRygfwS 5ktWLBMQwMgTpJ1MYHsT/qMJ9unzE6LTiBpY4MKc1SP9K/SYGWclLPah79JsCfF8 gCH6OQDGlTn7mCgbSWHA =L6j/ -----END PGP SIGNATURE----- --xXmbgvnjoT4axfJE-- From prvs=0248ef9e67=chenwendong@hikvision.com Thu Jun 19 22:08:57 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id B56607F3F for ; Thu, 19 Jun 2014 22:08:57 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id C56368F804B for ; Thu, 19 Jun 2014 20:08:54 -0700 (PDT) X-ASG-Debug-ID: 1403233729-04cb6c76cf16980001-NocioJ Received: from mail.hikvision.com (mail.hikvision.com [123.157.208.19]) by cuda.sgi.com with ESMTP id 2C4Oo3cTir88GAwY for ; Thu, 19 Jun 2014 20:08:50 -0700 (PDT) X-Barracuda-Envelope-From: prvs=0248ef9e67=chenwendong@hikvision.com X-Barracuda-Apparent-Source-IP: 123.157.208.19 X-AuditID: 0a01078d-f79486d000006a18-22-53a3a5c1d8cb Received: from Hik-CAS01.hikvision.com (Unknown_Domain [10.1.7.151]) by mail.hikvision.com (Symantec Messaging Gateway) with SMTP id 9A.AD.27160.1C5A3A35; Fri, 20 Jun 2014 11:08:49 +0800 (HKT) Received: from HIK-MBX02.hikvision.com ([fe80::c1a6:255b:29e8:7716]) by Hik-CAS01.hikvision.com ([::1]) with mapi id 14.03.0181.006; Fri, 20 Jun 2014 11:08:49 +0800 From: =?utf-8?B?6ZmI5paH5Lic?= To: Eric Sandeen , Emmanuel Florac CC: "xfs@oss.sgi.com" Subject: =?utf-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= Thread-Topic: xfs_freeze X-ASG-Orig-Subj: =?utf-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= Thread-Index: AQHPi4FLduojHUvwNEmEZ9iqZA3EUJt3+8TA//+dg4CAAHB1gIABSQUw Date: Fri, 20 Jun 2014 03:08:47 +0000 Message-ID: <75F0D28A05391A4E8539D13B4740B89C01686328@Hik-MBX02.hikvision.com> References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> <20140619054218.GK4453@dastard> <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> <20140619104811.7f6acb37@galadriel.home> <53A30221.4010307@sandeen.net> In-Reply-To: <53A30221.4010307@sandeen.net> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.192.45.7] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBIsWRmVeSWpSXmKPExsXCxcg+Xffg0sXBBjcPi1t0vL3FbtF6Rcti Ud8tRgdmj3NzX7B6rL6wldFjy+KHTAHMUdw2SYklZcGZ6Xn6dgncGf+eaxW0cVUcfr6SuYHx CWcXIyeHhICJxNmj+xghbDGJC/fWs3UxcnEICRxilHh1dC4rSEJIYAWjxM/Z2SA2m4CVxKyG zewgtohAkMT7PevBbGYBdYkJU7ewgNjCAroSn3fuZIKokZBYeX09K4TtJrF51R4wm0VAVaLj zAewxbwCfhLvzzxjhVj8n1Hi5ul+sKGcAtoSBy9PAitiFJCVmPboPhPEMnGJudNmsUJcLSCx ZM95ZghbVOLl439QcXmJnRO2AtkcQPWaEut36UO0KkpM6X7IDrFXUOLkzCcsExjFZiGZOguh YxaSjllIOhYwsqxiFAr2dTfUy8jMLssszszP00vOz93ECImk3h2Mz244HmIU4GBU4uF1cFwc LMSaWFZcmQsMVQ5mJRFetmlAId6UxMqq1KL8+KLSnNTiQ4zSHCxK4rwvdtUFCwmkJ5akZqem FqQWwWSZODhBurmkRIpT81JSixJLSzLiQfEbXwyMYKkGRrW1S7STS7OV/x4Iezr7wtNns5j2 MD7/+i+r+/yRvUt+b5xrKeTUMXf/f1azuStfVx9LtPdj9fvh4BS4m7mxeFm78n7NWKYjE9t4 7nHOEX7ct730/KXvlcmfE7bMsbgZ5MJUZjafU6N7SW3tpAdHXS9cuGLZ/+z6krpyBk2dq4/e dCvWfs7JUFBiKc5INNRiLipOBABqmta0uwIAAA== X-Barracuda-Connect: mail.hikvision.com[123.157.208.19] X-Barracuda-Start-Time: 1403233729 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.02 X-Barracuda-Spam-Status: No, SCORE=0.02 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0113c, THREAD_INDEX, THREAD_TOPIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6793 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 THREAD_INDEX thread-index: AcO7Y8iR61tzADqsRmmc5wNiFHEOig== 0.01 THREAD_TOPIC Thread-Topic: ...(Japanese Subject)... 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c SGnvvJoNCg0KDQpbcm9vdEBsb2NhbGhvc3Qgfl0jIA0KW3Jvb3RAbG9jYWxob3N0IH5dIyBtb3Vu dCAtdCB4ZnMgL2Rldi9sdm1fdmcvbHZtX2x2IC9uYXMvDQpbcm9vdEBsb2NhbGhvc3Qgfl0jIGx2 Y3JlYXRlICAtcyAtTCA0ME0gLW4gY3dkICAvZGV2L2x2bV92Zy9sdm1fbHYNCiAgUm91bmRpbmcg dXAgc2l6ZSB0byBmdWxsIHBoeXNpY2FsIGV4dGVudCA0OC4wMCBNaUINCiAgZGV2aWNlLW1hcHBl cjogc3VzcGVuZCBpb2N0bCBvbiAgZmFpbGVkOiBEZXZpY2Ugb3IgcmVzb3VyY2UgYnVzeQ0KICBV bmFibGUgdG8gc3VzcGVuZCBsdm1fdmctbHZtX2x2ICgyNTM6MCkNCiAgRmFpbGVkIHRvIHN1c3Bl bmQgb3JpZ2luIGx2bV9sdg0KW3Jvb3RAbG9jYWxob3N0IH5dIw0KDQoNCldoYXQgZnJlZXppbmcg 77yfDQotLS0tLemCruS7tuWOn+S7ti0tLS0tDQrlj5Hku7bkuro6IEVyaWMgU2FuZGVlbiBbbWFp bHRvOnNhbmRlZW5Ac2FuZGVlbi5uZXRdIA0K5Y+R6YCB5pe26Ze0OiAyMDE05bm0NuaciDE55pel IDIzOjMxDQrmlLbku7bkuro6IEVtbWFudWVsIEZsb3JhYzsg6ZmI5paH5LicDQrmioTpgIE6IHhm c0Bvc3Muc2dpLmNvbQ0K5Li76aKYOiBSZTogeGZzX2ZyZWV6ZQ0KDQpPbiA2LzE5LzE0LCAzOjQ4 IEFNLCBFbW1hbnVlbCBGbG9yYWMgd3JvdGU6DQo+IExlIFRodSwgMTkgSnVuIDIwMTQgMDY6NDY6 MjYgKzAwMDAgdm91cyDDqWNyaXZpZXo6DQo+IA0KPj4gV2hhdCBXb3VsZCAgWGZzIFNuYXBzaG90 IERvPw0KPj4NCj4+IFhmc19mcmVlemUgDQo+IA0KPiBBcHBhcmVudGx5IHlvdSBzaG91bGQgbm90 IHJ1biB4ZnNfZnJlZXplIGZpcnN0LiBUcnkgImx2Y3JlYXRlIC1zIg0KPiBkaXJlY3RseS4NCj4g DQo+IHJlZ2FyZHMsDQo+IA0KDQp0aGF0J3MgY29ycmVjdCwgbHYgc25hcHNob3RzIGRvIHRoZWly IG93biBmcmVlemluZy4NCg0KLUVyaWMNCg== From metaverse@artikel-140.nl Fri Jun 20 01:47:19 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 882017F3F for ; Fri, 20 Jun 2014 01:47:19 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id F02EAAC005 for ; Thu, 19 Jun 2014 23:47:15 -0700 (PDT) X-ASG-Debug-ID: 1403246833-04cbb00a02202c60001-NocioJ Received: from sam.nabble.com (sam.nabble.com [216.139.236.26]) by cuda.sgi.com with ESMTP id o2fqFHeIoRsCDVZo (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 19 Jun 2014 23:47:14 -0700 (PDT) X-Barracuda-Envelope-From: metaverse@artikel-140.nl X-Barracuda-Apparent-Source-IP: 216.139.236.26 Received: from tom.nabble.com ([192.168.236.105]) by sam.nabble.com with esmtp (Exim 4.72) (envelope-from ) id 1WxsbR-0004FX-By for xfs@oss.sgi.com; Thu, 19 Jun 2014 23:47:13 -0700 Date: Thu, 19 Jun 2014 23:47:13 -0700 (PDT) From: metaverse To: xfs@oss.sgi.com Message-ID: <1403246832932-35023.post@n7.nabble.com> Subject: Create superblock MIME-Version: 1.0 X-ASG-Orig-Subj: Create superblock Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sam.nabble.com[216.139.236.26] X-Barracuda-Start-Time: 1403246833 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6795 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Last week a harddrive in a NAS crashed in our office. Long story short: We have been trying everything. In the end we where able to pull an image of the hard drive. Also we found out there's no superblock or secondary blocks. Since I have recovered successfully the data I was wondering if it was possible to create a new superblock and secondary block. If not I'll create a new partition and place all the data back. Scary that only a power outage can do this... TL;DR: Is it possible to create a new superblock from scratch? -- View this message in context: http://xfs.9218.n7.nabble.com/Create-superblock-tp35023.html Sent from the Xfs - General mailing list archive at Nabble.com. From bfoster@redhat.com Fri Jun 20 07:14:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 64E7D7F3F for ; Fri, 20 Jun 2014 07:14:36 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 570CF30409A for ; Fri, 20 Jun 2014 05:14:33 -0700 (PDT) X-ASG-Debug-ID: 1403266471-04cb6c76d13e4c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id uNBhlH9l4TcDxAAQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 20 Jun 2014 05:14:32 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5KCESj3004444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Jun 2014 08:14:29 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5KCERLu003610; Fri, 20 Jun 2014 08:14:28 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id EC76E120188; Fri, 20 Jun 2014 08:14:26 -0400 (EDT) Date: Fri, 20 Jun 2014 08:14:26 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] repair: support more than 25 ACLs Message-ID: <20140620121425.GA47159@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: support more than 25 ACLs References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-2-git-send-email-david@fromorbit.com> <20140619130144.GA9043@bfoster.bfoster> <20140619211414.GS9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140619211414.GS9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403266472 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Fri, Jun 20, 2014 at 07:14:14AM +1000, Dave Chinner wrote: > On Thu, Jun 19, 2014 at 09:01:45AM -0400, Brian Foster wrote: > > On Thu, Jun 19, 2014 at 03:33:51PM +1000, Dave Chinner wrote: > > > From: Dave Chinner > > > > > > v5 superblock supports many more than 25 ACLs on an inode, but > > > xfs_repair still thinks that the maximum is 25. Fix it and update > > > the ACL definitions to match the kernel definitions. Also fix the > > > remote attr maximum size off-by-one that the maximum number of v5 > > > ACLs tickles. > > > > > > Reported-by: Michael L. Semon > > > Signed-off-by: Dave Chinner > > > --- > > ... > > > > @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) > > > > > > > > > end = &dacl->acl_entry[0] + count; > > > - acl = malloc((int)((char *)end - (char *)dacl)); > > > + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); > > > + if (size != (int)((char *)end - (char *)dacl)) { > > > + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), > > > + count, size, (int)((char *)end - (char *)dacl)); > > > + *aclp = NULL; > > > + return EINVAL; > > > + } > > > > This size check seems superfluous. In what scenario could it fail? > > Kernel writes a corrupted ACL? Cosmic ray causes a single bit error > in a sector on a non-crc filesystem? We do checks like these on > variable size structures in many other places - not just ACLs - for > verifying internal consistency of the structure we are parsing.... > Hmm, but what exactly are we checking for in this particular instance? end is calculated as the offset of the first entry in struct xfs_acl (constant) plus count * the entry structure size (variable * constant). size is calculated as the size of the non-entry bit of xfs_acl (constant) plus count * the entry structure size. The only variable between the two calculations is count, and it's used in both. It seems like these would always end up equivalent, regardless of what's on disk. The only way I can see this fail is if we were to add a field to xfs_acl. The end calculation will inherit the size of the field by virtue of using the entry offset at the end of the structure. The size calculation would end up wrong as it checks the non-entry field size explicitly. I'm not sure what that would tell us beyond the need to fix this particular bit of code, so this really just seems like a potential bug to me. Am I missing something else? (If so, I'd suggest a more informative error message or a comment). Brian > > > > > > +/* > > > + * The number of ACL entries allowed is defined by the on-disk format. > > > + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is > > > + * limited only by the maximum size of the xattr that stores the information. > > > + */ > > > +#define XFS_ACL_MAX_ENTRIES(mp) \ > > > + (xfs_sb_version_hascrc(&mp->m_sb) \ > > > + ? (XATTR_SIZE_MAX - sizeof(struct xfs_acl)) / \ > > > + sizeof(struct xfs_acl_entry) \ > > > + : 25) > > > + > > > +#define XFS_ACL_MAX_SIZE(mp) \ > > > + (sizeof(struct xfs_acl) + \ > > > + sizeof(struct xfs_acl_entry) * XFS_ACL_MAX_ENTRIES((mp))) > > > > > > > Mostly corresponds to kernel commit: > > > > 0a8aa193 xfs: increase number of ACL entries for V5 superblocks > > Mostly, but it's a completely separate set of definitions to the > kernel and libxfs. Maybe at some point we should revisit that... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From sandeen@sandeen.net Fri Jun 20 09:27:08 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 8D9D17F3F for ; Fri, 20 Jun 2014 09:27:08 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6F02D304043 for ; Fri, 20 Jun 2014 07:27:05 -0700 (PDT) X-ASG-Debug-ID: 1403274420-04cbb00a01220210001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id qi5XSBs40TrV4YD1 for ; Fri, 20 Jun 2014 07:27:00 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id EC67563B97E3; Fri, 20 Jun 2014 09:26:59 -0500 (CDT) Message-ID: <53A444B4.2010803@sandeen.net> Date: Fri, 20 Jun 2014 09:27:00 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: metaverse , xfs@oss.sgi.com Subject: Re: Create superblock References: <1403246832932-35023.post@n7.nabble.com> X-ASG-Orig-Subj: Re: Create superblock In-Reply-To: <1403246832932-35023.post@n7.nabble.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403274420 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6802 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 On 6/20/14, 1:47 AM, metaverse wrote: > Last week a harddrive in a NAS crashed in our office. Long story short: We > have been trying everything. In the end we where able to pull an image of > the hard drive. Also we found out there's no superblock or secondary blocks. > Since I have recovered successfully the data I was wondering if it was > possible to create a new superblock and secondary block. If not I'll create > a new partition and place all the data back. Not really enough info to go on here. How did you recover the data if you have no valid superblock? If you've got your data back, just mkfs a fresh filesystem and repopulate it. Or by "recovered the data" do you just mean you have a dd image of the broken drive? > Scary that only a power outage can do this... It shouldn't, unless the storage was configured in an unreliable way. > TL;DR: Is it possible to create a new superblock from scratch? Not in general, but rather than jumping to the proposed solution, perhaps it would be better to describe the problem in detail: http://xfs.org/index.php/XFS_FAQ#Q:_What_information_should_I_include_when_reporting_a_problem.3F At an absolute bare minimum, what happened when you ran xfs_repair? -Eric From mlsemon35@gmail.com Fri Jun 20 18:24:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 9E7027F3F for ; Fri, 20 Jun 2014 18:24:12 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 6827A304084 for ; Fri, 20 Jun 2014 16:24:09 -0700 (PDT) X-ASG-Debug-ID: 1403306647-04bdf056693eadd0001-NocioJ Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by cuda.sgi.com with ESMTP id toGPiEztFCFbE0et (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 20 Jun 2014 16:24:07 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.44 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.44] Received: by mail-qg0-f44.google.com with SMTP id j107so4099235qga.31 for ; Fri, 20 Jun 2014 16:24:06 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.44] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.44] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=/UguE1g/WRNTF12JdMZa0s8FDsfhRescBif1seTmLPg=; b=dYvpmrT+FmMKbmk5meCWoHZw1LoFoQk36zc32qGhj2JPQEoUqG+Yxu6x8TmyBPjGku uTmNyBHaalpIqucBiWztCmeO8v6Zm9uyF1FH53LRx3x4fXGrIl8sVTy4zhdNZ70TOSoU YyirZVNPj3kJKp7NnZCLmeuRAQXCcByjil5qyN7QKOyem4BwlNi52qmIOrYg+v1rIC8f M6bSqVG6BNG6WK7Mcs99zgu22mMJXWKRd9+krxEpR9VqLmUF/T1PeGWDUsxVaCIuFLB/ 0gLZnz216Oc6Xn8SOtEKETDnEhxTOghfntWflUqdKAEM60QFkMfsVJvi7u5qoqmNMJQd FjmA== X-Received: by 10.140.29.11 with SMTP id a11mr9394765qga.95.1403306646828; Fri, 20 Jun 2014 16:24:06 -0700 (PDT) Received: from [192.168.0.129] (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id s8sm14328779qac.49.2014.06.20.16.24.06 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 20 Jun 2014 16:24:06 -0700 (PDT) Message-ID: <53A4C291.9060409@gmail.com> Date: Fri, 20 Jun 2014 19:24:01 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs-oss Subject: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits References: <5396799F.3050801@gmail.com> <20140610055254.GF9508@dastard> <539A61B2.5040202@gmail.com> <20140619033552.GJ4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair issue with ACLs on v5 XFS when beyond v4 limits In-Reply-To: <20140619033552.GJ4453@dastard> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f44.google.com[209.85.192.44] X-Barracuda-Start-Time: 1403306647 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6815 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/18/2014 11:35 PM, Dave Chinner wrote: > On Thu, Jun 12, 2014 at 10:28:02PM -0400, Michael L. Semon wrote: >> On 06/10/2014 01:52 AM, Dave Chinner wrote: >>> On Mon, Jun 09, 2014 at 11:21:03PM -0400, Michael L. Semon wrote: >>>> Hi! I've been running around in circles trying to work with too many >>>> ACLs, even losing my ability to count for a while. Along the way, >>>> xfs_repair from git xfsprogs (last commit around May 27) is showing >>>> the following symptoms: >>>> >>>> On v5-superblock XFS... >>>> >>>> 1) When the ACL count is just above the limit from v4-superblock XFS-- >>>> 96 is a good test figure--`xfs_repair -n` and `xfs_repair` will both >>>> end in a segmentation fault. >>> >>> I couldn't reproduce this - I suspect that this is a problem with >>> the ACL struct having a hardcoded array size or userspace not >>> having the correct padding in the on-disk structure definition and >>> you are on a 32bit system. I think I've fixed that in the patch >>> below. >> >> Maybe. Pentium III has a narrower cacheline than the Pentium 4, so >> I was not surprised to see holes in the XFS kernel code, even in the >> non-XFS kernel structs. Do I need to upgrade something (ACL, system >> kernel headers, etc.) or would a pahole trip through libxfs be more >> revealing? >> >> What I'm getting is that if xfs_repair is counting between 200 and >> 256 ACLs, it will mention that there are too many ACLs, and it will >> segfault. With your patch, the areas below and above this range are >> OK. >> >> A sample session like the one I overwrote last time looks like this: >> >> Phase 1 - find and verify superblock... >> Phase 2 - using internal log >> - zero log... >> - scan filesystem freespace and inode maps... >> - found root inode chunk >> Phase 3 - for each AG... >> - scan and clear agi unlinked lists... >> - process known inodes and perform inode discovery... >> - agno = 0 >> Too many ACL entries, count 250 >> entry contains illegal value in attribute named SGI_ACL_FILE or SGI_ACL_DEFAULT >> (segfault, either Error 4 or Error 5, forgot to bring dmesg) > > Ok, your test found a bug in the patch that was causing segv's - at > about 20 ACLs, not 250. It's not the same as what you have reported, > but it was a stack corruption bug and so may just be triggering > differently on your machines. > > Can you try the patch below? This patch works! The range from 4 ACL entries to the ACL limit seems to be fine to xfs_repair. No segfaults, and the ACL limit is OK for this case. >> Maybe not...your E-mail patch doesn't have the git version at the >> bottom, so I wondered whether I installed the entire patch. What >> I did get went through `git am` just fine, with one whitespace error. > > That's because I didn't use git directly to generate it. As you > found out, it's still a valid patch... Indeed. All is well here, and hopefully, xfs_repair is a patch or two more ready for the masses. Good work! Michael From david@fromorbit.com Fri Jun 20 19:13:56 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 900CF7F3F for ; Fri, 20 Jun 2014 19:13:56 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8598430408A for ; Fri, 20 Jun 2014 17:13:53 -0700 (PDT) X-ASG-Debug-ID: 1403309630-04cb6c76d1a17d0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id SeADf0wJLm3v1B1v for ; Fri, 20 Jun 2014 17:13:51 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aro/AOjMpFN5LC2vPGdsb2JhbABZgw2DSIUIonwBAQEBAQEGmSoBgQwXBAEBAQE4NYQDAQEEAScTHCMFCwgDDgcDCSUPBQ0YAwcaE4guAwkHw2cNhksXFoVMhnGCIweEQwSYS4F4jVmJVis Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 21 Jun 2014 09:43:50 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wy8wG-0007o2-4f; Sat, 21 Jun 2014 10:13:48 +1000 Date: Sat, 21 Jun 2014 10:13:48 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/2] repair: support more than 25 ACLs Message-ID: <20140621001348.GV9508@dastard> X-ASG-Orig-Subj: Re: [PATCH 1/2] repair: support more than 25 ACLs References: <1403156032-18525-1-git-send-email-david@fromorbit.com> <1403156032-18525-2-git-send-email-david@fromorbit.com> <20140619130144.GA9043@bfoster.bfoster> <20140619211414.GS9508@dastard> <20140620121425.GA47159@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140620121425.GA47159@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403309630 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=MAILTO_TO_SPAM_ADDR X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6816 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MAILTO_TO_SPAM_ADDR URI: Includes a link to a likely spammer email On Fri, Jun 20, 2014 at 08:14:26AM -0400, Brian Foster wrote: > On Fri, Jun 20, 2014 at 07:14:14AM +1000, Dave Chinner wrote: > > On Thu, Jun 19, 2014 at 09:01:45AM -0400, Brian Foster wrote: > > > On Thu, Jun 19, 2014 at 03:33:51PM +1000, Dave Chinner wrote: > > > > From: Dave Chinner > > > > > > > > v5 superblock supports many more than 25 ACLs on an inode, but > > > > xfs_repair still thinks that the maximum is 25. Fix it and update > > > > the ACL definitions to match the kernel definitions. Also fix the > > > > remote attr maximum size off-by-one that the maximum number of v5 > > > > ACLs tickles. > > > > > > > > Reported-by: Michael L. Semon > > > > Signed-off-by: Dave Chinner > > > > --- > > > > ... > > > > > > @@ -1624,7 +1639,16 @@ xfs_acl_from_disk(struct xfs_acl **aclp, struct xfs_acl_disk *dacl) > > > > > > > > > > > > end = &dacl->acl_entry[0] + count; > > > > - acl = malloc((int)((char *)end - (char *)dacl)); > > > > + size = sizeof(dacl->acl_cnt) + (count * sizeof(struct xfs_acl_entry)); > > > > + if (size != (int)((char *)end - (char *)dacl)) { > > > > + do_warn(_("ACL count (%d) does not match buffer size (%d/%d)\n"), > > > > + count, size, (int)((char *)end - (char *)dacl)); > > > > + *aclp = NULL; > > > > + return EINVAL; > > > > + } > > > > > > This size check seems superfluous. In what scenario could it fail? > > > > Kernel writes a corrupted ACL? Cosmic ray causes a single bit error > > in a sector on a non-crc filesystem? We do checks like these on > > variable size structures in many other places - not just ACLs - for > > verifying internal consistency of the structure we are parsing.... > > > > Hmm, but what exactly are we checking for in this particular instance? > end is calculated as the offset of the first entry in struct xfs_acl > (constant) plus count * the entry structure size (variable * constant). > size is calculated as the size of the non-entry bit of xfs_acl > (constant) plus count * the entry structure size. The only variable > between the two calculations is count, and it's used in both. It seems > like these would always end up equivalent, regardless of what's on disk. Ah, right, I see your point now. The old code used a fixed size structure (i.e. with an array of 25 ACLs in it). Hence the check was valid for that case, where a corrupted count could result in a structure overrun. > The only way I can see this fail is if we were to add a field to > xfs_acl. Actually, the old code did have a bug like this in it because the structure repair defined had different sizes on 32 and 64 bit machines. i.e. it didn't have the 4 bytes of padding the kernel structure had... > The end calculation will inherit the size of the field by > virtue of using the entry offset at the end of the structure. The size > calculation would end up wrong as it checks the non-entry field size > explicitly. I'm not sure what that would tell us beyond the need to fix > this particular bit of code, so this really just seems like a potential > bug to me. Am I missing something else? (If so, I'd suggest a more > informative error message or a comment). No, I just misunderstood your comment. You are right, the code doesn't provide any value now, so I'll remove it. Cheers, Dave. -- Dave Chinner david@fromorbit.com From mail_delivre@naver.com Sun Jun 22 18:41:23 2014 Return-Path: X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 1B0077F3F for ; Sun, 22 Jun 2014 18:41:22 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id D90DDAC001 for ; Sun, 22 Jun 2014 16:41:17 -0700 (PDT) X-ASG-Debug-ID: 1403480463-04cbb00a02348e10001-NocioJ Received: from cmailsend03.nm.naver.com (cmailsend03.nm.naver.com [125.209.208.212]) by cuda.sgi.com with ESMTP id eyC7JIsv1yhvvjIs (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 22 Jun 2014 16:41:05 -0700 (PDT) X-Barracuda-Envelope-From: mail_delivre@naver.com X-Barracuda-Apparent-Source-IP: 125.209.208.212 Received: (qmail 17630 invoked by uid 100); 22 Jun 2014 23:40:54 -0000 Received: from 10.114.52.102 (HELO cweb03.nm.nhnsystem.com) (10.114.52.102) by cmailsend03.nm.naver.com with SMTP;22 Jun 2014 23:40:53 -0000 Date: Mon, 23 Jun 2014 08:40:53 +0900 (KST) From: Direction Skype Reply-To: Direction Skype To: skype@naver.com Cc: dany.courmont@laposte.net, boubou.zujar@gmail.com, grebinsebastien@yahoo.fr, thibaut-n@live.fr, ouestnature@laposte.net, gpierson@live.fr, brianne.nicolas@orange.fr, fredbernier38@aol.com, francinedesaymes@yahoo.fr, alinea2@no-log.org, daniel.boillot@orange.fr, marcogitenait@hotmail.fr, belliardalain@wanadoo.fr, so.dij@hotmail.fr, marcetsylvie.chma@orange.fr, philippe.leygonie@wanadoo.fr, loic.leygonie@live.fr, djemuraro46@gmail.com, siavy46@live.fr, loicjaub@hotmail.fr, arcoao@wanadoo.fr, fifi2000@orange.fr, nicolaspoupinel@laposte.net, christophe.hetroy@nordnet.fr, marphil71@orange.fr, anthony.courtemanche@orange.fr, potierpierre@live.fr, christophe.guibert@live.fr, jlplissonneau@wanadoo.fr, mathieubuffin@gmail.com, gourimfr@yahoo.fr, dcs.entreprise@wanadoo.fr, reynaud.christophe@yahoo.fr, thomasbaffault@hotmail.fr, michele.fleurandesmauges@wanadoo.fr, olivier_blais@yahoo.fr, lamouch81@orange.fr, fieulaine.guy83@wanadoo.fr, an.faucher@wanadoo.fr, douille.l@hotmail.fr, klaus.kiefer@wanadoo.fr, christophe.riffaud@wanadoo.fr, julien.dincq@live.fr, bergerie@bergerie-straiture.fr, oliviergrandcolas@wanadoo.fr, tourdepan@wanadoo.fr, sophie89p@hotmail.fr, patlabergere@hotmail.com, iraaa78@mail.ru, irina444@bk.ru, allsca123@yahoo.ca, Almas00@yandex.ru, alsysitnova@gmail.com, alubka4@yahoo.com, intel-tour@narod.ru, ionlyforspecial@yahoo.com, iravdv@yandex.ru, kaliroots@hotmail.fr, empressshakerah@yahoo.ca, marval365-boards@yahoo.ca, marsaudn@hotmail.fr, richtereng@yahoo.ca, nbc@flash.net, itu68ins@googlegroups.com, forged@mynet.com, canadaottawhotelss@yahoo.ca, josambe@o2.pl, hrh@alrac.com, dstivala@onvol.net, info@famous-tour.com, debian-user@lists.debian.org, xfs@oss.sgi.com, steveballstadt@yahoo.ca, mtlangeline@yahoo.ca, angelus19@hotmail.fr, joyce_65@hotmail.fr, steve.rodrigue1@gmail.com, steve_rodrigue1@hotmail.com, luciechoiniere@yahoo.ca, lucieclermont@msn.com, luciecote@csmm.qc.ca, luciedelisle@videotron.ca, luciedesaunais@hotmail.fr, campbellrita@yahoo.ca, ehigiator222@yahoo.ca, albator-ssx@caramail.com, albatre@iam.net.ma, albatross.tours@wanadoo.fr, johnson2005williams5@YAHOO.CA, kagambeogo_ali002@HOTMAIL.FR, vasilisa_000@yahoo.ca, misterborko@hotmail.fr, info@adriana-tours.hr, sweetdreamsmattress@alltel.net, sager1219@attbi.com, legendhotel@hotmail.com, directionskype@gmail.com Message-ID: <8a6dbb29b3ffae48ff8043b1fbc09867@cweb03.nm.nhnsystem.com> Subject: =?UTF-8?B?RElSRUNUSU9OIFNLWVBF?= MIME-Version: 1.0 X-ASG-Orig-Subj: =?UTF-8?B?RElSRUNUSU9OIFNLWVBF?= Content-Type: multipart/mixed; boundary="----=_Part_281251_426159847.1403480453441" Importance: normal X-Priority: 3 (Normal) X-Naver-CIP: 41.66.37.249 X-Barracuda-Connect: cmailsend03.nm.naver.com[125.209.208.212] X-Barracuda-Start-Time: 1403480465 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 ------=_Part_281251_426159847.1403480453441 Content-Type: multipart/alternative; boundary="----=_Part_281250_651924063.1403480453441" ------=_Part_281250_651924063.1403480453441 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 RsOJTElDSVRBVElPTioqKioqKioqKipGw4lMSUNJVEFUSU9OKioqKioqKioqKioqRsOJTElDSVRB VElPTiAKICBWZXVpbGxleiByZWdhcmRlciBsZXMgcGnDqGNlcyBqb2ludGVzIHBvdXIgdm90cmUg Z2FpbgoK ------=_Part_281250_651924063.1403480453441 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1zaXplOjEwcHQ7IGZvbnQtZmFtaWx5OuuCmOuIlOqzoOuUlSwgTmFu dW1Hb3RoaWMsIHNhbnMtc2VyaWY7Ij48cD5Gw4lMSUNJVEFUSU9OKioqKioqKioqKkbDiUxJQ0lU QVRJT04qKioqKioqKioqKipGw4lMSUNJVEFUSU9OJm5ic3A7PC9wPjxwPiZuYnNwOyBWZXVpbGxl eiByZWdhcmRlciBsZXMgcGnDqGNlcyBqb2ludGVzIHBvdXIgdm90cmUgZ2FpbjwvcD48ZGl2Pjxi cj48L2Rpdj48L2Rpdj4KPHRhYmxlIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0cj48dGQ+PGltZyBz cmM9Imh0dHA6Ly9tYWlsLm5hdmVyLmNvbS9yZWFkUmVjZWlwdC9ub3RpZnkvP2ltZz00UEZ2QnJ3 R002ZHNwQmlyMTZ3MGhBQ0NGNDNTTW9VbE1vRjRwNEowRkFDNHBvMm1GQUZTSzZwU01xZ2xhQU1Y dHpGWHA2VW1LWmw1V0xsNTF6bHFEQkZkcDZkNU1yZVJob1IlMkZwTkZnV1hGcTdORk4xTGxvV3Jk JTNELmdpZiIgYm9yZGVyPSIwIj48L3RkPjwvdHI+PC90YWJsZT4= ------=_Part_281250_651924063.1403480453441-- ------=_Part_281251_426159847.1403480453441 Content-Type: image/jpeg; name="Felicitation.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=Felicitation.jpg /9j/4AAQSkZJRgABAQEBLAEsAAD/4gogSUNDX1BST0ZJTEUAAQEAAAoQAAAAAAIQAABtbnRyUkdC IFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tUAAQAA AADTLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApk ZXNjAAAA/AAAAHxjcHJ0AAABeAAAACh3dHB0AAABoAAAABRia3B0AAABtAAAABRyWFlaAAAByAAA ABRnWFlaAAAB3AAAABRiWFlaAAAB8AAAABRyVFJDAAACBAAACAxnVFJDAAACBAAACAxiVFJDAAAC BAAACAxkZXNjAAAAAAAAACJBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAA AAAAACJBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgQXJ0aWZleCBTb2Z0d2FyZSAyMDExAFhZ WiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAAD kFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9jdXJ2AAAAAAAABAAAAAAF AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA lQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr ATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC AwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW AyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE fgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB CpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN QA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT xRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ F64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib 2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs IJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC KzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx EjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+ YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN k03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe vV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx 8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh fIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6 kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe rp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC q3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4 WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU SdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb 42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////bAEMAGxIU FxQRGxcWFx4cGyAoQisoJSUoUTo9MEJgVWVkX1VdW2p4mYFqcZBzW12FtYaQnqOrratngLzJuqbH mairpP/bAEMBHB4eKCMoTisrTqRuXW6kpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSkpKSkpKSkpKSkpKSkpP/AABEIDbQJsQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAA AQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz dHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/ xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEK FiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SF hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo 6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOmooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigArPupHW4YB2A44B9q0Ky7w/wCkv+H8q0p7mFf4RPNk/wCe j/8AfRo86T/no/8A30aizRmt7eRyX8yXzpP+ej/99GjzpP8Ano//AH0aizRmi3kPm8yXzpP+ej/9 9GjzpP8Ano//AH0aizRTsPn8yXzpP+ej/wDfRo86T/no/wD30aizRmjlQc7JfOl/56N/31R50v8A z0b86izRmlyoXMyXzZP+ej/99GjzpP8Ano//AH0ah5oyfWiyC8ibzn/56P8A99GjzpP+ej/mai3K OrCk8xfXNK0RrmJvOl/56N+dHmy/89W/76NQ+Z6KTRmQ9IzS90q0ibzZP+ej/wDfRo85/wDno/8A 30ajEc56RmnC3uD/AAfrReI7SHedL2kb8zR50v8Az0f8zQLS5PoKUWVwerClzxHyTE86T/no/wD3 0aPNk/56P/30aeLCU9ZBS/2e/eWlzofs5kfmyf8APR/++jR5sv8Az0b/AL6qX+zvWQ0v9nL3c0c6 H7Ofch86X/no3/fVHnSf89G/76qf+zo/VvzpRp8Xq350udB7Ofcr+fJ/ff8A76pPPf8A56P/AN9V a+wQ+rfnS/YIfc0c6H7KXcqee/8Az1b/AL6o89/+erf99Vb+wQf3aX7DB/cFHOg9lLuU/Pf/AJ6t /wB9Uee//PVv++qufYYP7gpfsUH/ADzFHtEP2Uu5S+0P/wA9W/76o+0P/wA9W/76q79ig/55ij7F B/zzFHtEHspdyl57/wDPVv8Avqjz5P8Anq3/AH1V37FB/cFH2KD+4KPaIPYy7lLz5P8Anq3/AH1R 58n/AD1b/vqrn2GD+5R9hg/u0e0QvZPuU/Pk/wCerf8AfVHnv/z1b/vqrf2CD+6aT+z4fQ0c6D2T 7lbz3/56t/31R5z/APPVv++qs/2fF7/nR/Z8fq350c6D2T7lbzpP+er/APfRpPOk/wCer/mas/2e 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 KKACiiigApaSigBaSlpKACiiloASloooAKKKKACiiigAopKKAFopKKAFopKKAFopKKQBT1NMpwOK Ch9JRmikUhVqVaiFSKaRSJRQaQUGkNCikagUjUDZLbH563bU/KKwLcgN1rbtXXaOaszL606mIc9D T+fSgliilpBnuKWmSFFFFABUMn3zU1Qv940mNDDQKDQKkY6kalFIaRRWn+6ax7r7xrYnPynise6P zHigorClpBS4oKCl/GkxRQANjFQNjNTGompiY3ikPtS0mTTJYlJxSkmkqiApaKSgQUUUUAFFFFAB RRRQAUUUtACUUtFACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLTaM0ALSUZooAKUUlLQAUUUUAF FFFABRRRQAUUUtACUUtFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFLQAmaOtFFAABjpS5NFFACcUYoooAUcdqQ80tFADo5TGetaFpe8jJrNwKTJ HSgDqYriN161JtDdDXMwXLoeTWrbagCADQI0dpFG7FNjkEgzmlbaO9ACgg0tMBFOz70AFJSj60tM BhPtSYzTjTCTQAoXFO4poal69KAFpDQB70poAb3pwOBTOc04jigBkrjFZV5J15q1czbc1lXEu80A QM2TSYpuOacKQxaXNJRQAuaM0lGaAFopM0UALRRRQAUUUUAFFFFABRRRQAlFLSUAGaM0UUAGaXNF JQAtFJS0AFFFFABRSUtABRRRQAtFJRmgBaSiigAoopM0AKaaaKKAADNOAxSClJ9qQCkik5puQe2K APegB+DRgik3YpC3tQBKkpU9a1tPuMkZNYeKmiuDEeDRYDsI3DLT8Vz9nqWSATWxDdI4HNFgLFFI CG6UhzSAdRSCl/GgApM0fjSUAOzRSDNDHaM0ALUclwiDk1XuL0ICKxL28Lk4JpgXL++GDsasaW4k duWNRGRmPJNHB7UABGe9GMUcUUAGTS4BpM0ZoACcdKTdntS0lAC8UUlFAC0UlFMBaSiigAooooAM UUUUAFFFFABRSUZoAWikooAKKKKADNGaKKAFopKKACiiigAooooAKWkooAWikpaACiiigQUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKK KSgQtJRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUlAC0UlFAC0UlLQAUUUUAFFJRQAtFJRQ AtFFFABRRRQAUUUUAFFFFABRRRQAUtJRQAtFJRQAtFJRQAUUUUAFFLRQAlFLSUAFFFFAC0optKKR Q4UtIKWkUgFSLUYp60ikTLQaatOpDEBpaQ0goGxSD2OKfHKY2yXbH1phqNqog2INYgiGH3Gpjr9r 6NXOmkpk2Ou0+/ivvM8sH5MZz75/wq5WF4Y/5ef+Af1rdpksKKKKBBULn5jU1QSA7z6UmNDSaQUb 1UfMRVefUYoR2NKwy0M013CjkgVi3Gs7shOKz5LyeQ/eOKCjeuLuEAjeM1lXEiufl5qkGZj8xqZF 461JQZpaU4FNJ9KChaKTmloAaajapWqFqYmJSYopaZLGEUAUpptMkdxSYoopkhRRRQAUUUUAFFFF AC0UlFAC0UUUAFFFFABRRRQAUUUlAC0lFFABRRRmgAopM0UALSUUUAFFFFAC0UUUALRSUUALRSUU ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lFABRRRQ AUUUUAFFFFABRRRQAUtJRzQAtFJzRQAUUUUALRSUUALRRRQAnXvTlyvINJxSc0gLUN6yHGa1bWdZ R8zVgAU9J3Q/KaYHUBUI4OaXAHase0viMbjWnFcLIOtAE2RS0BR1zQSBTAYwqFiQakZqjPJoAcnN PApiCpKADBpcUmaA1ADjxUUsuFNPY8VRuZMZoAo3s2Saobsmprlsk1XXrSAdilpKKAFopKWgAoxR mjNABRRmigAozSUUALmjNJRQAuaM0lFAC5opKKAFopKWgAooooAKKSigBaWm0UAOpKSigBaKSigB aKSjNAC0U3NGaAFzRmkzRQAtFJRQAtFFFABS5PpSUZpAL17UmPejNFAC8DvSFvakxS4pgAOaCBRR QABivSrVrdurDJqrjNKPlpAdLaX4IAJrQjkEgzXJW85DCt+ynyo5pAaJFNNKrBhQRSASlFJilFMA JxVe4lIU1NK+1c1kXl4BkZoAoX87bjzWfvJPNS3MvmGoBTAfn2o4ptFMBeKTFJmlzQAUUZpM0AOz SUmaUUAFFFJQAtFJRQAtFJRQAtFFFABRRSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFLSUUALRSUUALRRRQAUUUUAFFJRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJRRQAU UUUALRSUUALRRRQAUUUUAFFFFABSUtJQAUUUUAFFFJQIWikooAWiiigAoopKAFopKKAFpKKWgAoo ooAKKSigBaSiigAooooAKKKKACiiigBaKSigBaKSigBaKSigBaKKKACiiigAooooAKKKKACiiikA UUUUALRSUUALSUUUwCiiigApRTacKRQ6lpKKRSFFPWoxUi0mUiRadTBS0himkopaBiGo2qQmomNM kYaSgmkqiTe8L/8ALz/wD+tb1YPhf/l5/wCAf1repkPcKKKKBBWFqeqvb3skIUYXH8ga3a5LXR/x Np/+A/8AoIoAjn1CSXvj6VVZy3Viab0pQaBoQkDtQHpSRTcUiiRSKnQ1XUVOlSWOP0oozRSKQZoo ooARqiapjULUCY2jNFFUSxpJ9Kbk+lPNNpkBk+lGT6UtFMkTJ9KNx9KWigYm72o3e1LRQAm6jdS8 UcUAJuFG4UvFHFABuFGRRxRgUAGR60ZFJtFG0UAGaM0uBRigBMmjJpcUlABmjNFJmgBc0maM0UAG aKKKACilooAKKKKAClpKKAFopKWgAooooAWikooAWikpaACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADNGaKKAFpOKKKACkpaOKAEyaM0 7ikoAM0ZoxSYoAWl5pMEUZNIBcjvScdqNy96UEdqYCfMOlWbe5aM8mq5puCaAN+2vg+BkVeXDLnN ctG5jOc1oW1+2QCaANVxio92OtSQzJIvNEkYPSgARhUnBqvtK04PigCQikGRQrg0/IoAjkchelZd 1Jya0pvumsm66mgClKcmoxTn600UwFopaSkAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUlFAhaSiigAooooAKKKSgBaSiigAooooAKWkooAWiiigAooooAKSiikMKM0uKMUwDNF FFABRilooAAKD0pC2Kcg3nFIAi+9W3ZB8DAqna2WSDW7aQKiikBLCDjmpjxSHA6UdaQBR0o6UZzT ArXj/Ia5q+Y7zXSXa/Ia5u9HzmmBUBp2aaKKYDqSkooELikoooAKMUUUAJS0UUAGaKKKACiiigAo pKKAFzRmkooAWiiigAooooAKKKKACiiigBKKKKAClpKKACiiigAzS5pKKAFzRmkooAWikpaACiii gAooooGFFLRQAmKKWigAoozRmgAopKKAFopKKAFopKKAFopKKAFopKKACiiigAoopaACiiigAooo oAKKKSgBaKSloAKKKKAEooooAKKKKAEooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRS4pAJRS4oxQAlFLij FACUUtFMBKKWkzQAlOFJxSjFIodRRSUikKBUiioxT1pMpEgpaQUtIYZoo4o4oGwNRNUp+lRN9KZB GaTNKfpSY9qok3vC3/L1/wAA/rW9WD4X/wCXn/gH9a3qZL3CiiigQVyeuf8AIWn/AOA/+giusrk9 c/5Cs/8AwH/0EUAZ9FBooBAabSmkwaRQ9anWq69anSpNB9FFFIpBS0UooGNIqJhU56VE1CJZHSUp FJzVIliEUmKU0ZpkBikxTqSmSGKMUUUAGKMUUUDDFGKKKADFJilooATFGKWigAoxRRQAmKMUtFAC YoxS0UAJijFLRQAYpMUtFACYoxS0UANxRg06igBuDS4paKAExRilooATFGKWigBMUUtFACUUtFAC UUtFABRRRQAlFLijFACUUuKKAEpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAyKXikpaQCcUhpaKYCClwaM0ZNACEGhXKmlG aOKALMF4ykDNa9rdBhya57ABqaKcqcAmgDpS4YcYpjJmqVnKWAyav54oAjCladuoJpABQBHKpIrN uFOTWswBFU54s54oAxpAc00VYuIyDVboaAHUUmaWgQUUUUAFFFFABRRRQAUUUUAFFFFAwooooAKK SigBaKSigAopKKAFopKKBBRRSUALRSUUALRSUUALSZoooAM0tJRQAtFJS0AFFFFAC0UlFIBaKTNL mgYtGKTNGaYBilxRmigAoJoooAY2afAGLcUhqxasqsM0gNKzjfjmtm3BA5qjaXEGAOM1oIysPlpA SHHpTSBSE/WkHNIByihzgdaVQahuGIXpTAq3kvyn5q5+7bLHmtG8mPPFY87EtTAaKKFNKTTASiii gQZozRSUALmjNJRQAuaM0lFABRRRQAUUUUAFFFJQAtFJRQAtFJRQAtLSCloAKSiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKWkooAWikooAWikooAWikpaACiiigYUUUZoAKKKKACiiigApK WigAoopKAFooooAKKKKACilooAKKKKACikzRQIWkoo5oAKKMGigYUUUUAFFFFABSUtJQIKKKKACi jj1FHHqKACiijB9KACilwfQ0YNACUUYo20AFFG2lxQAlFLijFACUUuBRxQAlFLxRxQAlFLRQAlFL RQMSilooASloooAKMUUUAFFFFABRRRQAtHFJRQAuaM0lFAC5pM0UlIBaKSigBaKSlpiCiiigAooo oAKKKKRQop1NFOpFIKctNpy0mUiVaU0i0GkMKBSUooGwNManmo2pkETUgpWpKok3/C//AC8/8A/r W9WD4W/5ev8AgH9a3qZLCiiigQVyeuf8hWf/AID/AOgiusrmdYtZ5NSmdI2Knbggf7IoAyjSVObS cdYn/Kmm3mH/ACyf8qLgiKg08wyj/lk//fNJ5cn/ADzf/vmkUMXrViPpUawyd0b8qmUFeqn8qksd SUE+1Az6frSKQtFGDSUDFNRNUhNRsPemJjCaTNKeKaSKZLEJpuacee9Jt96ZAZozS8Un4UyQzRmj 8KOaADNGaKX8aBhmjNGRRmgApaSl/CgAooooAKKKKACiiigApaSigBaKSigBaSiigAooooAKKKKA CiiloASilooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiijigAoo+lHNABRQMd6XigBKKMH1oBHTBNIAoqVIJJPuoaf9huD/BQBXoqZ 7WZOq1EVYdVNACUUYNFABRSZpQfai4BRS0mPegAoo59KMUAFFGPek49aAFxRigYpfwpgJikNO/Cm mgAHJqeGHcelRRpluta9nbggUwH2kGAKvbdooSPaKcTQBHkHtShRS8Gl2igBNopki8dKf0prtxSA ybuLJNZ7ptNal2c5rNk60ARZp1NpaAFopKKLALRSfjR+NFgFopPxoosAtFJRRYBaKMH0ooASijj1 o49aAEoox70YNAgoo/Cj8KLAFFFJ+VAC0Un4il49aQwpKPxo/L86BBRRkUZFMAooH0/WlI9qAEoo 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 RVWRpyR7Enny/wB79BR58v8Ae/QVHRRYOVdi3bSblKk5IqaqMT+W4b86vA5GRUtGNSNmFUrj/XN+ H8qu1SuP9c34fyoiFPcjoooqzoCiiigDRooorI4wooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAhooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooA SilooASk3L6ilb7p+lPsrP7Xv/ebNuO2c5qW7Boldke9fWk8we9aY0iDAy8hPfBH+FPTS7Zc5DPn +83T8qV2T7SBju4ZSAOtRbfeuhWwtUYMIRkepJH61HfWUb2zeVGquvzDauM+1F5IarRvZGARg0U5 h3ptbRd1c6BVGTViG0mmGY4iR69B+ZqBetdBpn/HhH+P8zWc/iMqs3FXRlf2bdf88f8Ax4f405dN umbDIF9ywrdoqbHP7eRgXNjLbRh3ZCCcfKTUEaGSRUGMsQBmtfWf+PVf98fyNZdr/wAfUP8Avr/O pa1N4Sbjdl5dHYqN8wB9AuRS/wBj/wDTf/xz/wCvWpRVWRze1n3Mv+x/+m//AI5/9enJo6A/PMzD /ZGP8a0qKLIPaz7nNTII5pEGcKxAz9as6daR3XmeYWG3GNp+tQXX/H1N/vt/Or+if8tv+A/1qVud M21C6Jf7Jt/78n5j/Cj+ybf+/J+Y/wAKv0VVkcvtJ9yh/ZNv/fk/Mf4Uf2Tb/wB+T8x/hV+iiyD2 k+5h6jaR2vl+WWO7Odx+lUD1Na+t/wDLH/gX9KyD1NVT3Z2Um3G7BRk1p2OnrcQ+ZKzAE/KFxVCF C7qgxliAM10kUaxRrGg4UYpSd2RWm46Ip/2Tb/35PzH+FH9k2/8Afk/Mf4VfopWRze0n3MbULGK2 hV0ZyS2PmI9DRFZwfYPtMjPnB4BGOuB2q1rP/Hqv++P5GqEtx/oEMCn1ZvzOB/n2qWbxcpRWvUSw tRdTFWLBFGSRWh/ZNv8A35PzH+FS6db+RbDIw7/M3+FWqaRnOo+bRma+kRnHlysvruGf8Kb/AGP/ ANN//HP/AK9alFOyJ9rPucxOnlyOmc7WIz681FVi8/4+Zv8AfP8AOq9aU9jujsFFFFaFFmI4hB+t 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 nbRRt96XtIhcdK5ZI89cdf8AP0qOnbfejbQpxErIbRTtpo2mnzx7juNopdpo2n0o5l3ASil2n0ow fSjmXcBKKXB9KVVywB4B707oBtFSmDniRMe5prxlMcqc+houhKSYyiiimUFFFFABRRT1idlyq5B9 6BN2GUVJ5Ev939RTGUq2GGCKQJpiUUUUxhRRRQAVoMQoJJwBWfVq6bCBfU1LMpq7SIJJDI2T07D0 plLg+lG0+lF0jTRCUUu0+lG0+lHMu4CUUuD6VcgjCoDj5iOTRdEylyopUVaulGwMBznk1VppjjLm Vwopdp9KNp9KXMu4xKKXaaXaaOaPcLjaKXaaSmmnsAUUU5QCKG7K7AbVy2fdHjutRLbSuoZIXYHu FJFSxWV02dkLrj1+X+dZuaZnNprclqncf65vw/lVsadduwDLgerMMCn/ANk3H9+P8z/hUqbXQiMo xe5mUU9ulMrWLurm4UUUVQzRopaKyOMSilooASilooASilooASilooASilooASilooASilooASil ooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooAS ilooASilooAgooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA FooooAKKKKAEb7p+lXdE/wCW3/Af61Sb7p+lXdE/5bf8B/rUPcmfwM1KKKKZyhRRRQBg6jb+RcHA wj8r/hVHpXQ6lAJrVjxuT5gf51gMO9ODs7HdSnzRBetdBpn/AB4R/j/M1z69a6DTP+PCP8f5miXx EYj4S1RRRSOQoaz/AMeq/wC+P5Gsu1/4+of99f51qaz/AMeq/wC+P5Gsu1/4+of99f51D3Oul/DO joooqzkCiiigDnLr/j6m/wB9v51f0T/lt/wH+tULr/j6m/32/nV/RP8Alt/wH+tQtzsqfwzUoooq zjCiiigDL1v/AJY/8C/pWRjLVr63/wAsf+Bf0rKA5JpJ2udtH4DR0eEtM0xHCDAPuf8A63862Kgs ofItkQgburfWp6EctSXNK4UUUUyChrP/AB6r/vj+Rqhp1v59yMjKJ8zf4Vb1mUbEh753H27VLpEQ S18zvIefw4qep0J8tIvUUUVRzhRRRQBzd5/x8zf75/nVerF5/wAfM3++f51Xq6ex6UdgooorQomz +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 7KZs1HNPFAu6Vwo/U1iveXc3R2Az/CMY/GoxC7klzyTyTyaL32KVG3xMt3Oqs4KQKUB/iPX/AOtW eyFQCRjNWkiRecZPvSTRmTGCOPWnys0i4x0Rs2v/AB6w/wC4v8qPtNv/AM94/wDvsVg/Z39VpRbn uwH0o17Eezjvc3ftNv8A894/++xUR1C1BIMo49ATWR9m/wBv9KUW47sT9KLMXs4dxbuRJr4vGcqS MHHsKlqNYFVgcnipKqKsVJrRIR13KVPeo7K7a0djt3BhgrnHNS03Yp/hH5UNXBNWsyRtXmLHZGgH ock0x9TunxtKp/ur1/OgKo6KB9BS0uV9w9xdBhvb0ggu3PooH9KYJLsjPmy/99mpqKOUfMuiIYI2 RiW44xU1FFUlYlu7uFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASilpKACiiigAooooAKKKKACiiigCGiiim ahRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiig AooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKBBRRRQA UtJS0AFFFFABSUtJQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiloo ASilooASilooASilooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKB BRRRQAUUUUAFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAIVU9QD9RSbE/ur+VOopBcbsT+6v5UoUDoAP pS0UBcKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUlLSUAFFFFABRRRQAUUUUAFFFFAENFFFM1CiiigAooooEFFFFABRRRQAUUUUAFFFFABRS0UA JRS0UAJRS0UAJRS0UAJRS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiigAooooAKKKKYBRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAopaKAEopaKAEopaKAEopaKAEopaKAEopaKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKWgQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACilooASilooASilooASilooASilooASilooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKK ACiiigAooooAKKKKACiiikIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopaACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACkpaKAEooooAKKKKACiiigAooooAhooopmoUUUUAFFFFAgooooAKKKKACiiig AoopaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopAFFFFABRRRQA UUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigQUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUtACUUtFACUUtFACUUtFACUUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFF ABRRRQAUUUUAFFFFABRRRQIKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAlFFFABRRRQAUUUUAFFFFAENFFFM1CiiigAooooEFFFFABRRRQ AUUUtACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiig AooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIWiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigQUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAF ooooAKKKKACiiigAooooAKKKKBBRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKAEopaKAEopaKAEopaKAEopaKAIKKKKZoFFFFABRRS0AJRS0 UAJRS0UAJS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUt FAhKKWigBKKWigBKKWigBKKWigBKKKKBhRRRQAUUUUAFFFFABS0UUCCiiigAooooAKKKKACiikLB RliB9aAFopAQRkEEe1LQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUCCiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACikVlb7rA/Q0tABRRRQAUUUUAFFFLQAlFLRQAlFLRQAlFLRQAlF LRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRSEhRkkAeppFdWOFYE+xouFh1FFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiigkKMkgD1NAwooB DDIII9RRQAUUUUCClpKWgAooooAKKKKACiiigAopGZVGWIA9zQCGGQQR6igYtFFFAgooooAKKKKA CiiigAoprOq/eYDPqaUEEZHIpXAWiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUjOq/eYDPq aWgAooooAKKKKACilooASilooASilooASilooASloooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRSAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiimAUUU 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 uW37sjHSp6iEHycrLnP3+ZFGymVMo5AB5BNXiQBknAFVpbNHOUOw/mKjFicnMgx24pR54q1rjlyS d72GXUnnTBU5A4HuavRoERVHYYqOG2SLkct6mpqqEWm5PdkzkmklsihL/wAf4/3l/pV+oHtt1x5u /HIOMelT0Qi03cJyTSsQ3n/Hs/4fzplh/qT/AL39BU00fmxlM4z3pLeHyUK7t2TnpihxfPcXMuSx Vv8APmr1xt4q5EVMSbTlcDFJLEky4bt0I6iqv2Ftw+cbfXHNTaUZNpXuVeMopN2sOv5F2iMH5s5P tTrD/Un/AHv6CgWSCMjdlj/ER0qW3h8lCu7dk56YojGXPzMHKPJyojvgTBkdmyaSxkBi2EgMDwPW rLAMpB6EYNU3seux/oCKclJS5ohFxceVliadIRyctjgetUbP/j5T8f5VZis0Rsud/oMYpyW22483 fnknGPWpcZyabGpQimkTMQqknoBk1RUG7uckfIP0FW54jMgUPtGeeOtEEIhQgHJJ5OKuUXJpdCYy UU31Kt7AFIdFwvQ4HSrNtL50eT94cGpGUOpVhkHtUEFqYZNwkzxgjHWlyuM7rZhzKUbPdFiiiitT IKKKKACiiimAUUUUAFFFFABRRRQAUUUUAQ0UUUGoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFAgooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooA KKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU tJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUCCiiigAooooAKKKKACiiigYUUUUCCiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAqtfAmEezVZoqZLmVhxdnchtP8Aj3T8 f51NRRTSsrA3d3CiiimSFFFFABRRRQAUUUUAIyhlKnoRiqKpPbvlV3Z9OQav0VEoc2pcZ8uhTN82 3hBn1zxTTHPcvlxtA9eMfhV6ip9m38TK50vhQiqFUKOgGKWiitTIKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkpaACiiikAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQBDRRRQ ahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBKKWigBKKWi gBKKWigBKKWigAooooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUtFACUUtFACUUtFACUUtFACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAWii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRSAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtFMAooooAKKKKACiiigAoo ooAgooooNQooooAKKKKACiiigAooooAKKKKACiiigApaSloEFFFNdgilj0FGwDqKZFKsoO3PHrT6 SaauhtW3CiiimIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopa KAEopaKAEopaKAEopaKACiiigAooooAKKKKACiiigAooooAKKKQkAEnoOaAFoqOKdJSQuQRzzUlJ NNXQNNbhRRRTAKKKKACiikY7VLHoBmgBaKjimWXO0EY9akpJpq6BprcKKKKYgooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKbI4jQsc4HpSRSCVdyggZxzSur 2HZ2uPopksgiXcwJGccUsbiRAwzg+tF1ewWdrjqKKKYgooooAKKKKACimSyCJdzAkZxxSxuJEDDO D60rq9h2drjqKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooJCjJIA9TQCCMjkUAFFFFABRRR QIKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooJAGTwKQEMMggj1FAC0 UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFLSUtABRRRQIKKKhFzGZNihmOcZA4pNpbjSb2JqKKKYgooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACikLKpALAE9MnrS0AFFRTXCQsFYMSRnipaSaeg2mtQ opNyhgu4bj2zzS0xBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF LSUtABRRRSAKKKKACiioftMfm+XznOM44zSbS3Gk3sTUUUUxBRRRQAUUUUAFFFFABRRRQAUVDNcJ CwVgxJGeKmpJp6Daa1CiiimIKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRUMdyJJzGqkgf xUm0tykm9iaiiimSLRRRQAUUUUAFFFRtNEmdzrx1GeaG0txpN7ElFMSaN8bXBJ7Z5p9CaewNW3Ci iigQUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAgooooNQooooAKKKKACiiigAo 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 ACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAK KKKAIJ7YSncDhv0NRCO6j4Vsj6/41corN003ctTaVimLeeT/AFj4GehOasxRLEuF/Emn0U4wUdQl NvQKKKKsgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigApaSloAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIQUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBDdrI8W2MZyeeaLWExR4bG4nJqaip5Vzcx XM+XlCmyKWjZR1IIp1FUSVrOJ4t+9cZxjmrNFFKMeVWRUpczuwooopki0UUUAFFFFABRRRQAEAjB GQaqwWzwzFgVKHI98VaopOKbTKUmk0FFFFMkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKYBRRRQAUUUUAFFFFABRRRQBDRRRQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooopCCiiigBaSlooASilooASloooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFAENFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFMllWIDdnn0pNpK7BK+w+ioPtcfo35Ufa4/RvyqfaQ7lckuxPRSKdyhh0IzS1ZIUVE9xGvfcf am/a4/RvyqHUiupXJLsT0UyOZJOh59DT6pNPVEtNbi0UhIAJPQVElzG7BeQT0yKHJLRjSb2JqKKK YgoqJZ1aXywDnJFS0k09htNbhRUMlwkbbSCT7U37XH6N+VS6kVpcfJJ9CxRUQniJwHH48VLVJp7C aa3CiiimIKKjlnSIgNkk88UsciyLuXPpzU8yvYdna4+iio5ZliIDZJPpTbSV2JJvYkoqv9rj9G/K j7XH6N+VT7SHcrkl2LFFV/tcfo35VLHIsi7lz6c01OL0TE4tbj6KiWdWl8sA5yRUtNNPYTTW4UUE 4GT0qFrmNTjJb6UOSW40m9iaiq/2uP0b8qljlSQfKefTvSU4vRMHFrdD6KKa7BFLN0FVsIdRUUdw kjbRkH3FS0k09UDTW4UUVFFOsrbVBzjPNDaWgWbJaKDkggHB9aq20jCQxuST2yc80nKzSfUajdNl qiiiqJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqBbpWk2hTgnANS 5JblKLexYoooqiQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii 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 BYr5Q3DttOavUVHs7fC7F+0v8SuVIDcvMrSAhATx0q3RRVxjyrczlLmexRsY3WYlkYDb3FXqKKIR 5VYc5czuFFFFUSFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAhooooNAooooAKWkpaAC iiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRSAKKWigBKKWigBKKWigBKKWigBKWiimAUUUUAIQGBB6HimpGkedgx nrzT6KLLcLsKKKKACiiigAooooAKKKKACiiigBCAwwQCPQ1C1rEegK/Q1PRScU90NSa2IVtY1OcF vqalAwMDgUtFCilsDbe4UUUUxBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQIKjECCXzBnPXHapKKTSe402tgooopiCiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooAS ilooASilooASilooASilooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFACEZGKiito4m3DJPv2qaik0m7sabSsFFFF MRE1ujSiTkMMHipaKKSSWw229wooopiCiiigAooopAFFFFABRRRQAUUUUAFFFFMAooooAKKKKBBR RRQAUUUUgCiiigYUUUUAFFFFABRRRQAUUUUwCiiigAooooEFFFFAwooooAWikopDCiiikAUUUUAF FFFMAooooAKKKKYgpaSloAKimtkmYM2QQMcGpaKlpPRgm1qgoopaYgooooAKKKKYgooooASilooA SilooGJRS0lABRRRQAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiloo ASilooASilooASilooASloooAKKKKBBRRRQAUUUUAFFFFABRRRQAlFLRTGJRS0UAJRS0UAJRS0UA QUUUUGgUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUwCiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AF FFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUALR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii kAUUUUAFFFFABRRRQAUUUUAFFFFMAooopiCiiikAUUUUgCiiigAooooAKKKKBhRRRQAUUUUwCiii gAoopaYhKKKKQwooooAKKKKQwooopDCiiigAooopiCiiloASilpKYgpaSloAKKKKQgpaSloAKKKK BBRRRTAKKKKACiiigAooooAKKKKBiUUUUAFFFFIAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigBaKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRTGFFFFA BRRRQAUUUUAQUUUUGgUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUCCiiork4gbFJuyuNK7sS0 VVsjw47cVapQlzK45LldgoooqiQooooAKKKiuv8AUN+H86TdlcaV3YloqvZ/6o/71WKUXzK45Kzs FFFFUSFFFFABRRRQAUUUUAFFFFABRRRQAUUVUuZHaTyl4HTjvUTkoq5UY8zsW6KqC0dQCrgNVuiL b3VgkktmLRRRVkhRRRQAUUUUAFFFFABRRRQAUVXvT+5Hu1Fkf3J9mqOf3+Url93mLFFFFWSFFFFA BRSMwVSzHAFIjrIMqwNF1ewW6jqKKq3E8iS7V4A9utTKSirscYuTsi1RSISUUkYJHIpaoQUUUUAF FFFABRRRQAUUUUAFFFFABRVKy/1p/wB2rtRCXMrlTjyuwUVQXJu/lP8AHnj0q/RCfNcJR5QoqlZf 60/7tXaIS5lcJx5XYKKKKskKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUEgDJ4FMSVJPuMDSutgsx9FFFMAooooAKKKKACiiig AoopspIicjg7TSegIdRVKxJ81h221dqYS5lcqceV2CiiirJCiiigAooooAKKKKACiiigBaKKKACi iigAoqreSniJM5PXH8qlt4RCvXLHqahSvKyKcbRuyWiiirJCiiigAooooAKKKo3xPmqO22pnLlVy oR5nYvUUyIkxITydoqnfEGYey0pz5Y8wRhzSsX6KbGCI1DdcDNOqyQooooEFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUjEqpIGSBnHrVW2uJZJtrYIPPTpUuaTSfUpRbTZcopk3+pf8A 3T/Kq2n/APLT8P60nK0lEFG8Wy5RUN3/AMez/h/OmWH+pP8Avf0FHN73KHL7vMWaKiuZGiiLKOc4 z6Uy0leVW3846HHWnzrm5Q5Xy8xYoooqiQooooAKKKoX/wDrh/u/1NROXKrlQjzOxfoooqyQoooo AKKKKACiiigAooooAKKKKACiqMrG6nEaHCj8vrVyNBGgRegqIy5m7bFyjyrXcdRRRVkBRRRQAUUV RlY3U4jQ4Ufl9amcuUqMeYvUU2NBGgRegp1USFFFFAgooopAFFFFABRRRQAUUUUwCiiigAooooAW iiqMt1MtwVUcA4C460pTUFqVGLlsXqKKKokKKKKACiiigAooopDCiiigVwooopgFFFFABRRRQAUU VFcymGPcoBJOOamTSV2NJt2RLRVSC8Z5ArqBk4BFXKmMlLVDlFxdmJS0lLVEhRVB79t3yIAPercE hlhVyME1EakZOyKlTlFXZJRRRWhAUUUUAFFUtR/5Z/j/AEqzB/qI/wDdH8qhSvJxLcbRUiSiql5P JEyqnGRnOKngdpIVdhgmmppy5QcGo8xJRRRVEhSUtJQAUVXu52g2bQDnPWpo2LRqx6kA1PMm7DcW lcdRRRTEFFFFABRRRQAUUUUAFFMSaN2Kq4JHan0Jp7A01uFFRXUjRQllHOcZ9KZZzSSq2/nHQ461 PMublK5Hy8xYoooqiQooooAKKKKACiiigAooooAKKKKACiiigAooooAWiiigAooooAKKKKACiiig AooopgFFFFABRRRQAUUUUAFFFFAENFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFBIAyelFVL uUl/LHAHX3qJy5VccY8zsTG4iBxv/SknZXtmKkEcfzpqWibRvyWI59qingMXKklD1rOUp8uqNEo3 0Y+x/j/CrVVbH+P8Kmnk8uMnv0FVTdqd2TNXnYc8iR/eYCmC4iJxv/SoLeDzcu5OM/nUzWsZGACp 9c0lKcldIbUFoyYEEZHSiqlq7LJ5TdOfwNW6uEuZXIlHldgqK6/1Dfh/Opaiuv8AUN+H86c/hYR+ JDbL/VH/AHqnqCy/1R/3qW6k8uPAOGbpUQajTTZUledh7yxocMwB9KQXEROA4/Hiobe2DKHfPPQU +S1QqdgIYdOetLmqNXSHaCdrk9IzBFLMcAVXs5S2UPOBkVJdf6hvw/nVqd48yJ5bSsx6OsgypyOl OqCy/wBUf96p6cHeKYpKzsM86Pfs3Dd0p9UP+Xr/AIH/AFq/U05uV7jnHlsMEqM5QN8w7UjTxqcF xn86puWE7Fc53EDFTpaDaN5O70FQqkpaJFuEVq2WFYMoZTkGlpsaCNAozgetOrZXtqZPyGvIkYBc 4zVHcPtG7Py785/GrssSygbs8elUdg8/Zzjdj9a563NdG1O1mXVnjdgqtkn2qWoY7ZI3DAtketMv JNqhAeT1+la8zjG8jPlTdokrTxIcFxn86QXEROA4/HioobUFQ0mcn+GlltFIymQfT1qeapa9irQv a5ZpCQoJPQc1Us5SH8s8g9ParMv+qf8A3TVRnzRuiXGzsKkiSAlDnFMNxEDguPw5qnEryEohwDya si0jC4JJPrURnOS0RbjGL1ZMjrIMqwNOqgube4wTwDyfar9XCfNvuROPLsISFGSQB6mo/tMP9/8A Q1WuJGll2DoDgD3qYWkYXBJJ9annlJtRK5Ype8JeENCpBBG7qPxpbL/VH/eqvPC0R6koehqxZf6o /wC9UxbdXUqSSp6E5OBk8CozcRA4Lj8OaLiJpQoDAAHmmraxgfNlj7mtZOd7RRmlG12x6zxOcBxn 8qkqldQLGAycAnGKsWzl4QSSSOCTSjN83LIJRVuZDLmVDGyBvm9KitJEj3bzjOMcU+5gQK8gznrj tUdtCsu7cSMY6VjLn9ou5ouXkLkciSAlDnFNkkiVgJMZHIyM0RQrFnaSc+tVr3/Wj/drWcpRhd7k RinKyLtFFVLyQlhEufcDvVzlyq5EY8zsTG4iBwXH4c0qzxOcBxn8qjitFAzJkn09KbPaqFLpkY5x WfNUSvYu0L2uWqR2CKWY4AqvZylsxnnAyKkuv+Pdvw/nVqd4cyJ5bS5WPV1ddysCPWmG5hBxv/Q1 UhjeYbAcKDk1ZNpHtwCc+tQpzkrpFuMYuzZMrK4ypBFLVG3YxXGwngnaavVcJ8yInHlYUUUVZJSs v9af92rFzJ5cRx948Cq9l/rT/u1drCkr07I1qO0yvaRbF3nq3T6VYooraMVFWRnJ3dylZf60/wC7 Vlp4kOC4z+dUYgzNtQ4LcVaS0QL85JOK56Tly2ijaoo3u2TJKkn3GBp1Z8iG3mG05xyK0AQwBHQ8 1rCbldPdGc4parYKjNxEDguPw5qC8kJYRLn3A7mnxWigZkyT6elJzk5WiNRSV5EizxOcBxn8qkqr PaqFLpkY5xS2cpbMbc4GRQptS5ZA4pq8Sw7KilmOAKRXR13KwI9aZdf8e7fh/OqkMbzDYDhQcmiV RxlZIIwTjdls3MION/6GpEZXGVIIqE2ke3ALZ9agt2MVxsJ4J2mlzyi1zLcOWLT5S/TFljZygb5h 2p9ZrFhcNs+8WIFVUm4WFCPNcvPNHGcMwB9KEmjkOFYE+lRR2agZkOT6DpUFxD5DKVY4PT1FS5zi rtaFKMHomaFFMiffGreoqG8lKqEB5PX6VpKaUeYzUW3YlaeJDhnGfzoWeJzhXGfyqGG1XaDJkk9u mKJ7ZAhZAQR2zWfNUtexdoXtctU13WMZc4HSorSUyIQ3JXvSX3+pH+9VufucyJUfe5WTIyuoZTkG nVDa/wDHuv4/zqaqi7pMlqzsRrNG7bVYE1JWda/8fC/j/KtGopzc1dlziouyGLLGzlA3zDtSNPEh wzjP51RcsLhyuc7iBirEdmNo8wnd6DtUKpOWiRThFatllWDKGU5BpabGgjQKM4HrTq3V7amT8gqN 54kOGcZ9uaWVS8bKpwSKhjs0GC5LH0HSok5XtFFRUd2yQXMJON/6GpQQRkciq09tGIyyDBAz1pti 5+ZCT6j2qVOSlyyG4pxvEt0UUVqZkM8sao6FvmKniqtrIschLnAxirFxAjBpOQwGarW0SyyFWJAx niuWfNzo6IcvIy9HLHISEbJFPqKK3SJiylicY5qO9lKqIweT1+lbczjG8jLlUpWiStPEhwzjP50L PE5wrjP5VFDaLtDSZJPbpikuLVAhaMEEds1PNUtexVoXtctUVBaSmRCG5K96nrSMlJXRnJWdmFFF Vb2UriNeMjJolJRV2OMeZ2JTcwg4Lj8OaHkSSByjA/KaigtVZFd8knnFMntjGN0ZJA6+tZOU7XaN OWF7JiWP+uP+7V6qNj/rj/u1ckcRxs57U6LtAVXWYPIkYy7AUz7VD/f/AENVYYmuHLMTjuasm0i2 4wQfXNClOWsVoDjCOjZKjK4ypBHtTqzmD2s3yn8fUVoKwZQw6EZqoT5tHuTOHLqthhljEnllvm9K WSVI/vsBVG5JW6YjqMEflU0dpn5pSSTzgH+dSqkm2kinCKSbZMk8TnCuM+/FS1QurcRAMp4Jxg1a tn8yEEnJHBqoTblyy3FKKtzRHSSLGMucDpSh1Kb9w2+tQX3+pH+9/jUEELzgZbCLxSlUalypAoJx 5my19qh/v/oalBDDIII9RVd7NCmEJDDue9RWMmJChPDdPrQpyUkpdQcYtXiXqa7qgyxAHvSkhQSe g5NUEVrqcliQP5D0qpz5bJbsUY31exOJbYSF8/Me5BqdHVxlSCPaovskOMbTn1zVfLWlxgElT+oq OaUPiWhXLGWz1L9FFFbGQUUUUCCmvIkYy7AUrMFUsegGaz0DXM/zH3OOwrOc+WyW7NIQvq9i4LmE nAcfiMVWvv8AXD/d/wAamNnGVwCwPrVORGjba/bpWVVy5bSRrTUea8WaCMEt1Y9Ao/lVa2QzSmZ+ gPr3q1D/AKlP90U+teXms2Zc1rpBSMyqMsQB7mlqvNbGWbcXwuPTmqk2loiYpN6sd9qh/v8A6Gnx yxyfcYH2qMWkIGCpPuTVWZDbzDYx9Qazc5x1kaKMJaI0aCQBk8CkVgyhh0IzVO8lZpPKXOB1Hqau c1FXIjHmdiwbmEHBcfgM06OWOT7jA+1RR2car8/zH68UyS0KsGhbBB6HtU3qLVoq0NrlumvIkf32 A9u9JM/lxM/pVOCI3Ds7scdz605zafKtxRimrvYtC5hJxv8A0NSggjI5FQPaRFcKCp9QaW2ieLer EFc8UJzvaSBqNrpj5JUixvbGenFPUhlBHQjIqpqH/LP8f6VZh/1Kf7o/lTUm5uInFKKY4kAZPAFM jmjkJCNkilm/1L/7p/lVOw/1x/3f6ilKbUku44xTi2X6ZJLHH99gPam3EnlRFh16D61VtrfzsySE 4z+dEptPljuEYq3M9iyLqEnG/wDQ1KCCMjkGoHs4mXCgqfUGorORkkMLdOePQ0ueSdpdQ5YtXiXa iikhdiI8bjycDGalqhYf64/7v9RTlK0khRjeLZcm/wBS/wDun+VVtP8A+Wn4f1qzN/qX/wB0/wAq raf/AMtPw/rUy/iRKj/DZNef8ez/AIfzplh/qT/vf0FPvP8Aj2f8P50yw/1J/wB7+gof8VegL+G/ UnkZVQl/u9+KSJo3T93jaDjgYpl5/wAez/h/OmWH+pP+9/QVXN7/ACk8vuXJ5JFjXLnAzik81Agf cNp71Df/AOpH+9/Q1XgiefAJIRamVRqXKkVGCceZsupPFI21WyfpUlQR2qRuHUtketT1pHmt7xEu W/uhVC//ANcP93+pq/VC/wD9cP8Ad/qazrfAXR+Iv013RBl2A+tOqq1oZJmd34J4x1rSTa2REUnu yT7VB/f/AENSJIkgyjA1F9kh242nOOuaqc21zgE4B7dxWbnKPxbFqEZfCaVFFFbGQUhIUZYgD1NL VC4d55/KXoDgD+tROfKi4R5mWjdQg43/AKGnxyJIMowNRJZxKuGBY+pNMFo0cyPG2RnnPYVN6i3Q 7QezLVMlljjGHbGfzpLiTyoiw69B9aq21v52ZJCcZ/OnKbvyx3CMVbmexNFLbR8IwGT6GrAIIyOQ ageziZcKCp9Qahs5GSUwt0549DUqTi0pIbipJtF1iFUk9AMmmJLHIpKsCB17Yom/1Mn+6f5VmxK8 hMafxdac5uLSFCCkmzQ+0w7sbxnOOlS1WFjHjlmzUtxJ5URYdTwPrVJySbkJqLaURZZY4xh2xn86 iilto+EYDJ9DUNtb+dmSQnGfzqd7OIrhQVPqDUJzl7ySKahH3WycEEZHINDEKpY9AMmqVnIySmFu nPHoatTf6mT/AHT/ACq4z5o3IlDllYWOVJQSjZxTDcwqcFx+AzVGBHlYxqcA8tVr7FHsxk7v71Zx nOSukaShCL1ZYR1dcqQR7U2SaOIgO2Caz0eSGRlQ8524HOasxWY+9MSxPJFCqSlolqJ04x1b0J45 4pDhXBPp0p9Z1zD5DqVY4PT1FXoX8yJX9RVQm23F7inBJJrYfUb3ESNhnGfbmob6UqojU4Lcn6Uk FmCoaXOT/D0oc25csQUFbmkTC5hY4Dj8Ripaqy2aFSY8qQOnXNR2MpD+UeVPT2pKclK0gcE1eJeY hVJPQDJpscqSglGzikm/1Mn+6f5VnQo8pMaHAPJ/CnObjJJIIQUk2y+bmFTguPwGafHIkgyjA1CL KILglifXNVlzbXWCeAcE+1JznFrmWg1CMvheppVE0sImCtjzOg45/OpaoTf8hAf7y/0q6kuVIiEe Zsv0hIUZYgD1NLWc5a7udqn5e3sPWnOfLtuEI8xb+1wf3/0NSRyJIMowNRCzhAwVJ9yarSo1pMrR k4I7/wAqhznHWWxSjCWkdzQopFYMoYdCM0tbGQU15EjGXYD606qrWhkmZ3f5SeMdamTa+FFRSe7J PtcH9/8AQ1JHIkgyjA1F9jh242nOOuap8211gE4B5x3FZOc4W5tjRQjL4dzTqMTxtJ5Yb5s4xg1J VCH/AJCB/wB5v61c5OLVupEIqSZfpskqRAF2xnpTqp6j/wAs/wAf6U5y5Y3QoR5pWZbVg6hlOQe9 LUNn/wAeyfj/ADqaqi7pMUlZtBVbUP8AUD/e/oas1W1D/UL/AL39DUVfgZVP40Unj2xxv/eB/Q1p 28nmwq2cnGD9arpH5mngdxkj65NMsJcMYz0PI+tYQ9yS8zWfvxfkX6gu5fKhOD8zcCp6z7gm4uhE vQHH+NbVJWjoZU43lqQvHshjYjliT+HFaFl/x7J+P86r6gAqxKOgBA/SrFl/x7J+P86yprlm0a1H zQTJSwUZYgD1NRG7gBx5n6Gm3Nu07r84CgelKtlCByC3uTWrc76IyShbVj454pDhHBPp0qSs27hE DqUJAPI56Gr0D+ZCjHqRz9aUJttxe45wSSktitqP/LP8f6Vag/1Ef+6P5VV1L/ln+P8ASrUH+oj/ AN0fypR/iMcv4aGzPEgAlxg9MjNSKQyhh0IyKp6l/wAs/wAf6Vag/wBRH/uj+VUpXm0S42gmPooo rQzCiiigZS1H/ln+P9Kswf6iP/dH8qraj/yz/H+lWYP9RH/uj+VYx/iM1l/DQ+iimyuI42c9hWrd jJK4SSJGMuwFR/a4P7/6GqkEJuXZ5GOO59TVprOEjAUj3BrJSnLVI1cYR0bJlIYZUgj1FLVCBmt7 nyicqTj/AANX6uEuZETjysKZJNHEQHbBNPqKa3SZgzZBAxwacr20FG19ShbOqTqzHAGf5VoJcRSN tV8n0xWdbxiWZUbOD6VeitI4nDqWyPU1z0ea2mx0VuW+u5LIyqhL/d78UkTxun7rG0HHAxTLz/j2 f8P50zT/APUN/vf0Fbc3v8pjy+5zE8kiRLuc4GcUebGIw+4bT3qDUP8AUL/vf0NVoInuMAkiNe9T Ko1LlSKjTTjzNl5LiKRtqvk+mKexCjLEAepqGK0jicOpbI9TSXNu07r84CgelVeSWq1JtFvR6Djd QA43/oadHPFIcI4J9OlMWzhA5Bb3JqrdQiB1KEgHkc9DUOU4q7LUYSdkaVISAMk4ApkD+ZCrHqRz 9aq38p3CMH5cZIHrVymlHmIjBuXKWDdQA43/AKGk+1wf3/0NNjs4go3jc3c5qrdwCGQbfut09qiU qkVdlxjTk7IvxzJLnY2cdeKkqG2iSNdyFsOAeaiv5SqiNTgtyfpV81o3kRy3laJM9xCjbWcZ9uaE uIXbarjPvxUEFmmwNKCSR06YoubRBGXjBBUZxmp5qlr2K5ad7XLlFVrKYyxkMcle/tVmtIyUldGc ouLswooopiCiiigAooooAKKKKACiiimIKKKKACiiigAooooAKKKKAIaKKKDUKKKKACiiigAooooA KKKKACiiigAooooAKoE5u+f7/wDWr9UZv3dyTg9d31rCtsmaUt2Xqiuv9Q34fzqRWDKGU5BqG7kU RlMgse3pWk2uVkRT5kMsf4/wovjwg7c0WP8AH+FOvEzGG/umsl/BNf8Al4RxSzLGAkeV7HBp3n3H /PL/AMdNPtHBj2d1qenCLcU1ImUknsUY0lM4Yowy2Txir1GRnGRnriitIQ5SZS5gqK6/1Dfh/Opa iuv9Q34fzpz+Fij8SG2X+qP+9UV6f3oHbFS2X+qP+9TL1OVf8DWMv4SNV/EESacIAI8gDg7TS+fc f88v/HTUtu4eIY6qMEVLVRi2rqRLkk9inbJIswJVgO+Rip7r/UN+H86lBBJAIyOoqK5GYGxT5OWD SFzc0k2Nsv8AVH/eqeq1k3ysvfOasMyoMsQBTptciFNe8yj/AMvf/A/61frPU7rkMOhfP61oVFHq VV6FKMZvDn+8au1Tj/4/T/vH+tXKdLZ+oqm6CiiitjMKof8AL1/wP+tX6of8vX/A/wCtYVuhrS6l +qNz81yRn0HPar1UrtcTZ7MKdb4QpfEXqKbG4kQMPx9qV2CKWPQVrdWuZ21sUQcXfH9/+tXJf9U/ +6aqW6mW43kcA7jVuX/VP/umsKfwtmtT4kivY/x/h/WrdVLH+P8AD+tW6ul8CJqfEylej98Pdau1 Svf9aP8Adq7Sh8cgn8MShbHNwpPJ5/lV+s9SIbnnOFOOfSr4ORkcilQ2aHV3TIL3/VD/AHqLL/VH /epl5IpAQEE5yfan2X+qP+9QneqO1qZNI6xqWY8VXN0zHEceT+fFMvSfMUdgM1biAEaheRjr607y lJxTtYmyjFN6lOeSV0AdNoz1wRU1l/qj/vUl6w2Kuec5xS2X+qP+9UxVqu9ym709h91/x7t+H86h sf4/w/rU11/x7t+H86hsf4/w/rTl/FQl/DZbqle/60f7tXapXv8ArR/u1Vb4BUviLtUBlrzk/wAf er9UJQYrknr82760q3RjpdUX6KRWDKGU5Bps0gjjLd+31rVtJXMra2KdoT56++f5Vauv+Pdvw/nU FkmXLkcDp9anuv8Aj3b8P51hTX7tm03+8Qyy/wBUf96rFV7L/VH/AHqsVrT+BGc/iZSkAF6Mf3hV 2qUv/H6P94f0q7U0t5epVTZBRRRWpkUrL/Wn/dq7VKy/1p/3au1lR+A1q/EFFFFamRSsv9af92rt UrL/AFp/3au1lR+A1q/EVL4DKHvzVmH/AFKf7oqvf/wfj/SrEP8AqU/3RRH+JIJfAikMtecn+Pv9 av1QmBiuSevzbvrV5WDKGU5BpUt2h1NkxaoWhP2hffP8quTSCOMt37fWq1kmXLkcDp9aKms4pBDS LZPdf8e7fh/OmWX+pP8AvU+6/wCPdvw/nTLL/Un/AHqb/ir0Ev4ZYqlIAL0Y/vCrtUpf+P0f7y/0 orbL1Cnuy9VGL/j+P+839avVRi/4/j/vN/WirvH1Cns/QvVWvgPKU991War33+pH+9VVPgZNP4kO tf8Aj3X8f51VuyTcN7Y/lVq1/wCPdfx/nVe9TbLu7MKyqfw0aQ/iMf59x/zy/wDHTSNNcMpUxcEY +6asxuJEDD8fan1fI2viI5kn8JUs0dZGLKwGO/FPvv8AUj/eqcEHOCDjioL0Ewj2ak48tNpDUuaa bHWv/Huv4/zqaoLNgYdvdTUkkixrljj29auDXImTJPmaKNr/AMfC/j/KtGs61/4+F/H+VaNZ0PhL rfEUYwDenP8AeNXqoxf8fx/3m/rV6qo7P1FV3QUUUVqZCEgDJ4FVmvBnEaFvQ069JEOB3ODRZACE kdSeeKylJuXKjRJKPMyN5pyjBosAjk7TTbH/AFx/3atTsFhfJxkECqtj/rj/ALtZtWqK7uWneD0L 1FFFdJgMm/1L/wC6aqWP+uP+7Vub/Uv/ALpqpY/64/7tYT/iRNofBIvVn3ZJuG9sfyrQqjeptl3d mFOv8IqPxD/PuP8Anl/46aRprhlKmLgjH3TVqKQSIGH4+1Op8ja+IXMk/hKlkjrIxZWAx34q3QCD nBBxwaKqEeVWRMpczuFZ92SbhvbH8q0Ko3q4mzz8wqK/wl0fiL1Nm/1L/wC6aIpBIgYfj7Uy5kVI mBI3EYArRtctyEnzWK1j/rj/ALtTXxIhHu1Q2P8Arj/u1YvFLQEj+E5rCH8Jmsv4iEshiHqOTViq ljIMGM8HOR71brWk7wRnUVpMp3//ACz/AB/pU1qSbdM/55qvePvlCLzt449atxJ5car6CphrUbRU tIJFSX/j+H+8v9KvVRl/4/h/vL/Sr1OlvL1FU2XoQ3YBt29sfzplj/qT/vf4U+7/AOPd/wAP50yx /wBSf97/AAof8VegL+H8wvv9SP8Ae/xp9p/x7p+P86Zff6kf73+NPtP+PdPx/nQv4r9Af8P5k1UI QBfYHA3N/Wr9UYv+P4/7zf1oq7x9Qp7P0LN0SLd8f55qnbySJu8tN2evBNXpk8yJl7kcVUspArlT xu6VFRfvFrYqD9xjvtFz/wA8f/HTUUomlYM0TA4xwprRpCQMZIGeBmrdNtayJVRJ6ISMERqG64Ga dRRWpmFFFFAiK6JFu+P881Bp/wDy0/D+tWJ13wuvPTtVWykCuVPG7pWEtKibNo602i9VG+/1w/3f 8avEgDJ4FZ13IJJsryAMZ9add+7YKK94vQ/6lP8AdFPpkP8AqU/3RT61jsjJ7hUU06wjnknoBUtZ 5w95854346VFSTitOpcIqT1JPtUr8xxcfQmoJ3d3BkXacdMYrTqhesGm4OcDBrKrFqOrNKck5aIu Q/6lP90VSRd17jOPnJ/KrsP+pT/dFUZgYronGfm3fWqqbRYqe8kaNFIrB1DKcg02SVIgC5xmt7q1 zGzvYiv/APUj/e/xpbJcQA5+8SaLxS0BI/hOajsZBgxng5yPesdquprvT0LdFFMjlSQsFOdvWtrm VivqH/LP8f6VZh/1Kf7o/lVbUAcIccc1PbOHgQ+gxWMf4jNJfw0Om/1L/wC6f5VTsP8AXH/d/qKs 3MiJEwJ5IwB3qtYf64/7v9RSm/3kRwX7tj9QJwgzxzTIZp0jCpHuUdDtNTXyZjDj+E0WUgaLZ/Ev ak0/ab2GmvZ7XGfaLn/nj/46aijSU3CuUYZbJ4xWjSZG7bkZxnFW6d92SqltkLVCw/1x/wB3+oq/ VCw/1x/3f6ilP44hD4ZFyb/Uv/un+VVtP/5afh/WrM3+pf8A3T/Kq2n/APLT8P60S/iRCP8ADZNe f8ez/h/OmWH+pP8Avf0FPvP+PZ/w/nTLD/Un/e/oKH/FXoC/hv1H3n/Hs/4fzplh/qT/AL39BT7z /j2f8P50yw/1J/3v6Ch/xV6Av4b9Qv8A/Uj/AHv6Gn2YAt1465/nTL//AFI/3v6Gn2f/AB7J+P8A OhfxX6A/4fzJqKKK2Mgqhf8A+uH+7/U1fqhf/wCuH+7/AFNY1vgNaPxF+oZ7lITtxub0FTVnWuHu QXPPJ6dTVVJNWS6ihFO7fQl+1TtykPy9uCarTMzyFnG1j1GK1azLlg87FTketY1YtLVmlJpvRGnR RRXUcwVn2S5uAc/dBNaFZsZ8i5G7opx/9esauji2bU9VJI0qKAQRkHINMeVEdVY8seBWzaRkk2V9 QJxGM8c1HDNOkYVI9yjodpNTX6bog4/hNLYyBotn8S9q52n7R62N0/3e1yP7Rc/88f8Ax01HEkpu Vcowy2TxitCjI3bcjOM4q3TvuyFUtshk3+pk/wB0/wAqraeBmQ454qzN/qZP90/yqtp3/LT8P60p fxIjj/DZcqpqBOIxnjmrdVr9N0Qcfwmqqr3GTT+JEMM06RhUj3KOh2k0/wC0XP8Azx/8dNSWMgaL Z/EvarFRCLcU1IuckpO8TPiSU3KuUYZbJ4xV2b/Uyf7p/lT8jdtyM4zimTf6mT/dP8quMOVMhy5m itp3/LT8P61cqnp3/LT8P61cpUvgQ6vxsoS/8f4/3l/pV+qEv/H+P95f6VfpU95eo6m0fQrX4Hkq cc7qfZ/8eyfj/OmX/wDqR/vf0NPs/wDj2T8f50L+K/QH/DXqVLvLXRGcdBz0FaNZ98hWfd2YZq9F IJUDDv1HpSp/HJBU+GLHVnAkXvBx+8/rWg7BELN0AqhbKZbneRwDuNOrq4pBS0TbLs3+pk/3T/Kq 2nf8tPw/rVmb/Uyf7p/lVbTv+Wn4f1py/iRFH+Gy5VC/AE446rWhWff/AOuX/d/qaK/wBR+I0Kz5 f+QgP95f6VoVny/8f4/3l/pRW2XqFLd+hdmJELkHBCms63eRHJjXccdMZrTZQylT0IxWdauIbgh+ Oqn2qavxRKpfCyb7Rdf88f8Ax01FMZ5tu6IjHoprRpCQoyxAHqap021ZyJVRJ6RI7YMsCB85x3qW iitUrKxm3d3CoZ7lITtxub0FTVnWmHugXPPJ6dTWdSTVkupcIp3b6Ev2qduUh+U9OCaqzMzylnXa x6jGK16yrpg9w7Kcj1/Csq0Wlq7mtKSb0RqVQh/5CB/3m/rV+s4N5d8Swx8568da0q7x9TOltL0N Gqeo/wDLP8f6VcqhfSo7KFOduckdKKz9xipL3izZ/wDHsn4/zqaobP8A49k/H+dTVcPhRM/iYVW1 D/UL/vf0NWarah/qF/3v6GlU+Bjp/Gh9n/x7J+P86pzKbe5yvHO4fSrln/x7J+P86jv48xiQDlTg /SspK9NPsaRlao0+pPLKEgMg5GMiq1gm5mlbk9AT696qmVjCsfYHP+f1rUhj8qJU9BzRF+0kn2CS 9nG3cq6l/wAs/wAf6VPZf8eqfj/OoNS/5Z/j/Sp7L/j1T8f504/xWKX8JD5pkhXLnr0A6mqv2yV/ 9VDnHXqaivDuuyGOAMDOOgrSAAGAMAU05TbSdrCajBJtXuZlzJLJt81NuM44Iq5Z/wDHsn4/zqDU WUsig8jOR6VPZ/8AHsn4/wA6mCtUepU3emtCHUv+Wf4/0q1B/qI/90fyqrqX/LP8f6Vag/1Ef+6P 5VUf4kiZfw0VdS/5Z/j/AEq1B/qI/wDdH8qq6l/yz/H+lWoP9RH/ALo/lRH+JIJfw0PopkkyRY3t jPTinKwdQynIPetbq9jKztcWiiimBS1H/ln+P9Kswf6iP/dH8qraj/yz/H+lWYP9RH/uj+VYx/iM 1l/DQ+q1+SIBg9WqzUN4m+3OOq81c9YsiGkkVLeWZEIjj3DPXBNS/aLr/nj/AOOmjT5Bhozwc5Hv VysoRbirSNZySk7xMx1nkl3+WwYkdARWnSEgEAkZPQetLWkIct9TOc+a2gUUUVZBmWf/AB8p+P8A KtOsyz/4+U/H+VadY0PhNq/xEN5/x7P+H86Zp/8AqG/3v6Cn3n/Hs/4fzpmn/wCob/e/oKb/AIq9 BL+E/UNQ/wBQv+9/Q0+yAFsuB1z/ADpmof6hf97+hp9n/wAeyfj/ADoX8V+gP+EvUmpk0yQrlj16 AdTT6zrs7rohjgDAzjoKqpLlV0TTjzOzJftkr/6qLOOvU1BcySybfNTbjOOCK0wABgDAFUdQYFkU HkZyPSs6kWo3bNKck5WSLFn/AMeyfj/Oq2oJtlDj+IfqKs2f/Hsn4/zqrcsPto3/AHVI7dqJ/wAN fIIfxH8yyt5CVBZtp7jBqrcSG5mCxgkDge9TmK0fBDKOc8NipYRAhxEUyfQ5NDUpaNoE4x1SZIqh VCjoBis69JNy2T0x/KtOs6/TbMG7MP1p1l7oqL94k+0XX/PH/wAdNI09yylTDwRj7pq3FIJYw69+ o9DT6fI2viFzpP4SjYxyJIxZWVcd+OavUgIOcEHBwcUtXCPKrIicuZ3YUUUVRIUUUUAFFFFABRRR QAUUUUxBRRRQAUUUUAFFFFABRRRQBDRRRQahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUc0Kyj0Y d6kpaTSaswTad0UxbzrgK+AfRqetrhWLHc5B+lWaKhUoop1JMgtoWi3biDnHSpiARg9KWirjFRVk S227sqtasH3RNj69qaIbgk/ORj1brVyis/ZRL9oyvb25ibcWBJGMCp6WirjFRVkQ227sSmTIZIio xk+tSUU2rqwJ21IreMxIVYgnOeKkZQylWGQaWihJJWBtt3KhtXVsxvgfXBpBDcMDlyPYtVyis/ZR L9oyG3h8oHLZJxUpAIwelLRWiSSsiG23dlNrR1OUYHHI7GlW2kcjzXJHpnJq3RWfsol+0kVTbETB l2hQRxVmiirjFR2Jcm9yukDLceYSMZJqxRRRGKjsJyb3CiiiqEFVvsz+fvyuN2f1qzRUyipblKTW wU2SNZV2tn14p1LTavoyU7FP7LKhJRx+BwTS/ZpXx5j8e5zirdFZ+xiae0kMiiWJcL+JNK4LIyjq QRTqK0srWIu73IbaFot24g5x0qaiilGKirIG7u7K9xA8rhlIAxjmrFFFCik2+4OTasQz24l+YHDf zqEQTr8ofA9mOKuUVLpxbuUptKxW+yAREAgue56CpLeMxIVYgnOeKlopqnFO6E5tqzI5oRMoBOCO hquILhSFV8D1DcCrlFEqak7jU2lYq/ZWKks25z0zUtvGYkKsQTnPFS0UKnFO6E5tqzEIDAg9DxVT 7LKhyjj65wauUU5QUtwjJx2IbeJo9xdtxam3Fu8rhlKgYxzViik4Jx5Q53e4VHNCswAJII6GpKKp pNWZKbWqKf2aZM7H/I4zSi1kZsySZH1yat0Vn7GJftJDY0WNQqjikmQyRFRjJ9afRWllaxF3e5Fb xNEhViCc54qWiihJJWQN3dyu9u7XHmArjINWKKKFFK9huTe4UUUUySvb27xOWYqRjHFWKKKUYqKs ipScndhRRRTJK9vbvE5ZipGMcVYoopRioqyKlJyd2Q3MLS7dpAxnrUqLtRVPUACnUUKKTuDk2rEc 0KzAAkgjoarfZpkzsf8AI4zV2iplTjJ3GptaFQWkjNmSTI+uTVmNFjUKo4p1FOMIx2CU3LcjmQyR Moxk+tJbxNEhViCc54qWinyq/MLmdrBVZ7d2uRICuMg1ZoolFS3BSa2CqyW7rc+YSuMk1ZoocU7X BSa2CormJpYwqkA5zzUtFDSasxJ2d0MgQxxKpxkelLIiyKVYcU6iiytYLu9yn9llTPlycexxmj7P cOvzP17FjVyis/ZRL9pIjgi8lCu7OTnpT3UOpU9DS0VokkrENtu5SNpKhyjA46YODT0tWZszPux0 watUVCpRRftJFaO3ZLjzPl25PAqzRRVRio7EuTluVkt3W58wlcZJqzRRTjFR2Byb3CiiimSNdBIh VuhqobaaPPltkH0OKu0VEoKW5UZuJVW1dmBmk3Adsk062t3ikLMVIxjirFFJU4p3G6kmrBRRRWhA VTe0dWLRMPbnBq5RUSgpblRk47EEEMiSF5H3HGBzmpZEWRSrDinUU1FJWE5Nu5T+yzJny5OPY4zR 9nuHX5n69ixq5RUeyiX7WRHBF5KFd2cnPSpKKK0SSVkQ3d3YUyaJZVwevY+lPooaTVmJO2qKX2aZ D8j8E9jipI7X5t0zbj9as0VmqUUaOpJle2t3ikLMVIxjirFFFXGKirIiUnJ3ZVkssnMbY9jTfs9y cgyce7HmrtFT7KJftJFeG1WMhmO5h+QqxRRVxioqyIcnJ3ZWe3drnzAVxkGrNFFCilewOTe5HOhk iZBjJ9aS2iaKMqxBOc8VLRRyq/MHM7WIrmJpYwqkA5zzSwIY4lQ4yPSpKKOVX5g5nawVWS3dbnzC V25JqzRQ4p2uCk1sFV57USHchCseo7GrFFEoqSswjJxd0U/IudwHmHHruOKWO0fzA8jgkEH1zVui o9lEr2jCiiitCAooooEFVZrPc26MgZ7HpVqiplFSVmVGTjsU/s9w/DycZ7sTTpbPKqI8DGclupq1 RU+yiV7SQ2NSsaqeoAFOoorQgKr3Fr5rb1OG756GrFFKUVJWY4ycXdFMQXRJzIRj1Y80PZHaoRgT zknirlFZ+yj1K9rISNSsaqeoAFRzwLMOeGHQ1LRWjimrMhNp3RSFrOn3GAz1w2KclmS+ZWBHt3q3 RWaoxNPayAgEYIyKpyWR3ZjYY9D2q5RVygpbkRk47FI21w4wz8A92JqzBAIVIByT1NSUUo04xdxy m2rDZYxLGUPHofSqn2SZGyjDk4yDjir1FEqak7sIzcdEVYrT5t8zbzn1z+dLbWzwyFmKkEY4qzRS VOKswdSTAgEYIyDVN7Ng+6F8fU9KuUVUoKW4oycdikILok5kIx6sealtrYwtuZgSRjAqxRUqnFO5 TqNqwVWtrZ4ZCzFSCMcVZoqnFNp9iVJpNDZFLRso6kEVFawNDu3EHOOlT0UOKbuCk0rDJ0MkLIuM n1ptrE0MZViCSc8VLRRyq/MHM7WGToZIWRcZPrTbWJoYyrEEk54qWijlV+YOZ2sRXUTTRhVIBBzz ToEMcKo2Mj0p9FHKr8wcztYKKKKokKrXVs80gZSoAGOas0VMoqSsxxk4u6Cqs1oWffG2CTnBq1RR KKkrMIycdiktvcuMPIVB4ILZoeybjYRjHOe5q7RUeyj1L9rLoFFFFamQVBcWwm+YHa386npaUoqS syk3F3RQFrcJgK+AfRiAKkgs9jhpGBIPAFW6KhUoop1ZMQgEYIyDVR7Ng+6F9v1OMVcoqpQUtyYy cdiiILok5kIx3Lnmpba2MLbmYEkYwKs0VKpxTuU6jasNkUtGyjqQRUNrA0O7cQc46VYoq3FN3JUm lYKQgEYIyDS0UySm9mwfdC+36nGKaILok5kIx3Lnmr1FZ+yia+1kVra2MLbmYEkYwKnkUtGyjqQR TqKpRSVkQ5Nu7K9rA0O7cQc46VYooojFRVkEm5O7Kr2ztdCUFduQferVFFCilewOTe5DdRNNGFUg EHPNOgQxwqjYyPSpKKOVX5g5nblGSxLMm1s4zniqn2OZCTG46djgmr1FKVOMtWOM3HRFH7JNJjzJ OPckkVaihSFcKOvUnqakoojTjHVBKbloNkUtGyjqQRUNrA0O7cQc46VYoqnFN3EpNKwVVurZ5pAy lQAMc1aoolFSVmEZOLugqq9s7XQlBXbkH34q1RSlFS3CMnHYKguLUTfMDtf19anooaUlZiTcXdFE 290uAJCR04Y8Uv2OV2zJKOnXk1doqPZRNPayCiiitTIKqzWZaTfE20k5wfWrVFKUVJWY4ycXdFJb e5cYeQqDwQWzxRJYtx5bDGOSe5q9RUeyj1L9rLoFVrm185t6kBsd+9WaKuUVJWZEZOLuigLW4wU3 4X/eODT3sh5QVCN2cktVykrP2US/ayI7eMxQqjYyPSpKKK0WisQ3d3CorqJpowqkAg55qWloaTVm CbTuiO3jMUKo2Mj0pzKHQqehGKdRSSsrCbu7lKCzZJQzlSBzgetXaKKUYqKsipScndle7t2nC7SA Vz1qS3jMUKo2CRnpUlFHKr8wuZ25SC5thPhgcMBj61ALe6B2iQgAcHccVepaTpxbuUqkkrFFrFjH 98GQnJJqzbxmKFUbBIz0+tS0lOMIxd0KU5SVmV7uBp9m0gYz1qaNSkaqeoAFOopqKTuJybVivdwN Ps2kDGetTRqUjVT1AAp1IeB0z7UKKTbBybVijqLguijqo5q3boY4VQ9QOaggt3M5lmGDnIHWrdRB NtyZc2klFBRRRWpkV7uBp9u0gYz1qv8AYZf7yfma0KSspUoyd2axqyirIofYZf7yfmauxqVjVT1A Ap1FOMFHYUpuW5Uls8vviYKc9PSmeRdbiPMOPXecVeopOlEaqyKsFqySiR3BIJ4HOatUUVcYqKsi JScndhRRRTEVJrNmlLxsBk557GlggmEqvK+cDpnNWqKj2cb3L9pK1iO4jMsLIuMn1ptrE0MZViCS c8VNRVcqvzE8ztykN1E00YVSAQc8063jMUKo2Mj0qSijlV+YOZ25QqC5thNhgcMB+dT0UNKSswTc XdFEW90DtEhAA4O44pzWTFPvAyE5JNXKKj2US/ayGW8ZihVGxkelU7hjcXAiRQCDjJ61oVnTJJBc GVRkZyDjj/PNTVVopdCqTvJvqTiwjxyz5/Corm0EUZdGOB1BqRb9CPmRgfbmopLiS5Xy0jxnr3qZ eztoVH2l9SexlMkZViSVPU1NJGsqFWHH8qjtITDFhsbicmp62gnypSMZtczcSj9kmjz5cnHsSCaT 7NcuuGk4PZmJq/RU+yiV7WRFbw+QhXduyc9MVLRRWiVlZGbbbuwooooAKKKKACiiigAooooAKKKK YgooooAKKKKACiiigAooooAhooooNAooooAKKKKACiiigAooooAKKKKACiiigApaSloAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAKKKKACiiigAooooAKKKKAClpKWgAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUC CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooEFFFFABS0lLTAKKKKACiiigAooooAKKKKACiiikAUUUUDCiiigAooooAKKKKBBR RRQAUUUUAFFFFMAooooAKKKKACiiioZQUUUUAFFFFAgooopgFFFFAhaKKKACiiigYUUUUAFJS0Ug CiiigGFFFFMkKKKKACiiigBaKKKYBSUtJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooEMaKNjlkUn1IpyqFGFAA9BS0UrId2FFFFMQUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAENFFFBoFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJRR RQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAWiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABR 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 woooqyBksYljKNnB9KSGJYUKqSQTnmpKKVle47u1gqFrZGm80lt2QfbipqKGk9wTa2CopoI5vvDn 1HWpaKGk9GCbWqKgsI8nLtjtUz28bxiPG1Qc/LUtFSoRXQpzk+o2KMRRhFzgetMngSfbuJGPSpaK rlTVieZp3ERQiBR0AxQ6h0KnoRilop26Cv1IoIEg3bSTn1qWiikkkrIbbbuyFrZGm80lt2Qfbipq KKEktgbb3GSxJMuHGfQ+lVzYJkYdgO+eat0UnCMt0NTlHZldbKEHnc3sTViiimoqOwOTluQtbI03 mktuyD7cVNRRQklsJtvcKjlhjlHzrz696kooaT0YJtbFU2EeRh2x3qSK1iiOQNx9W5xU1FSqcVqk U6kno2FFFFWQFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUARUUUUGgUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK WiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUU UAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKAFooooAKKKKACiiigAooooAKKKKACiiikMKKKKYgooooAKKKKACiiigAoopaAEooNJSGFFF KKQwApwFAFPApDG4ptSEUw00TISiiiqJCiiigBKKKKBhRRRQAUUUUAJSiilpDFFLSClpAIaSlpKA EpwpKKQx4pppN1GaYBRRRSGLQKTNOTrUtlJEqLmp0jpsS5q1GlTcdiMRVFLHgVe2VFLHkUrjsZbj mm4q28PNRmPFO4rEFFPZcUw1VxWCikzRmqRLClpKWqRLDNFJThTEJRS0UhCUUtFACUUtJQAUUUUw CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAiooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUU CCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSlo AKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIYUUUUxBRRRQAUUUUA LSUtJQAtFApaAGmkpTSUhgKeopAKlRakoAKdinBaXFIZGwqI1M1RNVIiQ2ilpKokKKKKAEooooGF FFFABRRRQMKWikpALRSUUgFooFLikMSkNPxRtoAiNOFO2ZqRI6VyrEYFBFWBHSGOk2NIrgVLGOaU R1NHHzUtlJE0K1bjWo4Uq0i1LZSiN200pmpSKQCp5h8pWeKq8kdaLLxUEiU1IXKZkiVAy1oyRVXa Gr5ieUpYpQKsmGk8qqTIaIMUuKlKYphGKpMloZThTTTlqriaFopcUYoJG0UtFADaKWkoASiiimAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF AEVFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTJnMcTMBkin1Fdf8e7fh/Opk7RbHHV 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 BNAMilqnNVqQ1UlpolkBpQKMU4CrJExQFqQLShaoQItTKtNUVKopDHKtSBaRKkxUMtDQtSAUgpwq GWgprU6mmpKG0tJRSGLRRRQIcKWkFFAwopKKACkopKACikooAKKSimAtJRRQIKKKKACiiigBKKKK ACmmnUhpoljCKawqSmkVoQQsKiIqwwqMrTJIcUYqQrRimSRkUxhUpFMYUxERpKeRQBTQDcUYp+2k IqhDKKU02mIWiiimIKWkooELRRRSYBRRRQgCiiimAUtJRTAWikpaAEoooqQCiiigAooooAKKKKYC UUUUxhRRRSEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFAEVFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFAB RRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKAFFBpKKACiiigAoopKAClFFAoAUUtA ooEIabTjSUrgJSgUoGamSPNK4DUWrEaUqRVOqYpXECoKfsFJnFIXpAKVFJik30A5ouAYpMU+kxSu IbilAoxRRcBwFG0Um6k3UXAGUVEy1LmkxmncCuy1E61cK1C6UwKbCmirDJURXFMq4LT+1MHFOzTA a1MNSGmEUwAUUUCmMKWjFFAgooopAFFFFABRRRQIKKKKAFooooAKSlpKACiiigAooooAKKKKBhRR RQIKKKKACiiigAooooGFFFFAgooooAKKKKBhRRRQAUUUUAFLSUtAgooooAKKKKACiiigAooooGFF FFABRRRQAUUUUCCiiigApaSigAoopaQxKKWigLhRRRQFwooooC4UUUUwuFFFFAXCiiigLhRRRQFw ooooC4UUUUAFFFFIQUUUUwCiiimIKKKWgApRSUooAQ0Cg0CpYDxT6YKdUlXDNOU1GTSqaixomWoz VhTVSM1YQ1LRaZNmmsaTPFMJpWBsRzVaSp2qB6EIjp6im09aoQ8ClApVpwFUKwAU8UAUUrlWJEqU VCpp4NSy0h9LmmZpc1DKSHZppozRUjEoopKQDqKTNGaBXHUZpuaM0DFzRSZpM0DFpKM0lABRRSUw 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 hpaSmAlFLijFO4WCilpKdxWEYVEwqU00incViHbTgtOxSgU7k2ExUbrU1MYU7isVmWmEVYZaYUqk yGiHFJipitMIqkS0R0lONNNUiWhKKKKokSiikpiCiiikMKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAhooooLCiiig ApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFADhSGgUGqGC049KaKUmkA00Cg0CpYD1HNW4FqvGKtRcVLE TMMCmL1pxORSKOakRMg4p4FIg4p4qQHLThTRThSYDqKSlpABpppaQ0AJQKKKBoWikooGLRRRQAUU lFAhaKSimAUUUGgQxqcgpCKclDEKw4qvKOKsk8VBJzTQFMj5qlUfLSMvNGcCqEV7gVUYVcl5qs60 DRFRS0VcSgopaKoBKcKbSigBaQ0ZpM0AFFJSigBaKTNGaAFopKWgAoopaAEopaKACkpaSgAooopA LS0lFABSUtFACUtJRQA6g03NGaAFpKWimISilooASilooASilooAKKKKBBRRRQAlFFFAxaKSnCgQ lJT8UhFIY2kpaKAClpKKAFpKKKAClpKKAFoxQKcBQAgFLinbaXFJiI8UbalC04JSAg20m2rPl0vl UDKu2l21Z8qjyqAK22jbVjy6PLoEVttG2rHl0hjoGQ4pcVIVppFMQ2lpDSZoAdSUmaM0ALRSUooA KKWiqEJRQaTNAxaWmZpQaQx1FFFIApwpmacKQAabTjSAUgHKKkApiipBQULSGlpKRQlGKWjFBaEp aKKBMM0oNNozTAkBp2aiBp2aQh5NNJppamlqQDs0Zpm6jdQIVjTc0E03NICQGnA1GDTgaBj80Zpt LSKQuaUGm04UFDhTqaKWkMWiiigApaSikAtLSUUhi0UUUgFooopDFpaSloGFLSUtIBRS0gpaBhS0 lLQAUUUtABSUtJQMKSlpKBBS0lLQAUtJS0AFLSU6gBtIadSYoGNNJTiKTFMQ3FFLRTEJRilooJGE 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 BQyilIpKBi0tNpaBDqKSimBU1CN3CFFLYznAqxCCIUBGCFH8qfRUqNpORTleKiJRS0VRIlFLRTAS ilooASilooASmmnGmmhjQop4FIgp5FIBtJmhqZnmgB2M08LQgzVmOPNIRGiVMgxTxHigjFIkcKDT N1KOaQDTQBTwuacEoECCplFNVcU8VLAeBQRSZozSGIaKDSGgAJpM0UUBcKWkpaB3CilooC4lLRRQ FwoopKAuLRRRQFwoopKAuLS03NGaAuOoxSZozQFx2KikFSZpCM0CbKjLzTcVaZKgZcU7kiCnAUyn KaoYjCoJFqyaicU0NFRhTaldajIpjFFLSCimAUlKaSgBaKSilYYtOBplKDSsO5KDQTTQaCaVikxD SUtJVImTEooopk3FFLSClpDENNNONNNACUtJRTAWlzSUUxC5pQabSikxoeKeKjFPFSy4jxThTRTh WbNELRRRUGgopaSigYtLSUtACilpBSipYC0tJTqQwpRSUopDHUUUUAFFFFAwoopaACiiimAUlLSU AFFFFABRRRSEFLSUooAUU6kFLQAGmmnGmmgYUUlGaYCGmMacTUbUxXGk0wmlNNNOxNxc04GmUop2 JuPBozTQaXNIpBmkopKpEyA1G1PNMY1aMpbETVGakaozWhkFLSUtUIQ0UGimMKKKKQwooooEFFFF AhaSiikAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigCGiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKXB9KAEopcH0pdp9KL oBtFO2H2o2H1pcyAbRT9nvRsHrS5kAyin7B707y/9k0c6AjoqTyz/dNKIiei/nRzoCKipvJb+6KB E2fugUucCGirHkt6ijyW9RRziuV6MH0qx5LeopRD6tRzgVsH0owfSrWwEbePrik8n/a/SjmC5Wwf SjB9Ks+T/tfpR5P+1+lLnC5WwfSlwfSrHk/7X6UohHcmjnYXK20+lG01Z8lfU0eSvqaOdhdFbaaN pqz5K+po8lfU0c7C6K200bTVnyV9TR5K+po52F0VsGjB9KsmEdiaTyP9r9KOdhdFfB9KMH0qx5H+ 1+lHkf7X6Uc4XRXwfSjB9KseR/tfpR5H+1+lHOGhXwfSkqz5H+1+lJ5Leop84aFeirHkt6ijyW9R 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 qM02lzU2KTHZozTc0uaLBcdmlzTc0uaLBcdmlzTM0uaVh3HZpc03NGaLBcdmjNNzS5pWHcdmjNNz S5osFxaWm5opWHcdRSUUWC4tFJS0WC4GmmlNIaAuFApKUUBccKdTBTqAFpDRSGkMKKSigB1LTaWg Y4UtNpaQC0UlFAC5ozSUlAx2aXNNpaTGOpRTRSikA6lpBS0CCkNLSGmAhpKWkpiCikooAWikpaBi 0tNpRSC44UopopwosA4UUgpaLAFJRRSDlCkoooHYKWkpaAsLS02lphYdSUUUAFNpaSgApKKKAsLS 0lLQKwUlLSUByiGmmnGmGgErCilpoNOoHcKSlpKYriUUUtMm4lIaU00mnYlsQmmk0jGmE00hNjia aTTc0hNNIm4uaM03NGaoVx2aXNNzRmmAuaM0maSgBwNLmmiimS2BpppTTTQFwNJRRSHcKKKWgLhS 0UtA7hRRRQFxKKKKYriUUUU7iuJSUtFO4riUUUUXFcKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKK KACiiloAKKKKQgoFFFAC0UlFIApM0UlIYtJRRQMKKKWkFxKY1SUxqGNMRakBqMU8VJY7NFJRQA6k NFIaAGmm040goAWiiigAoopKACiiigAoopKBi0UlFAAaSlNJQIKKKKACiikoAWikooAKKKKYBRRR QAUUUlAC0lFFIAooooAKKKKACikooAKKKKACiiigApKKKACiiigAooooAKKKKAClpKKAFooooAKK KKAFopKKAFooooAWikpaACiiigCGiiiug5gooooGFFFFABS0lLSGFFFFABRRRQAtFFFABRRRSGFL SUUDFooopAFLSUtABRRRSAKWiigApppaQ0AJRRRTAUU6m0tAC0lFFABSUUVQgoopaBCUtFFABS0U UAFFLRQAlFLSUAFFFFABS0UUALRRRQAtJS0lAIKKKKQwpaSigBaKSigBaKSikMWiiigBaKSigBaW kooAWlptLSAWikooAWlptFIpDqWm0Uhjs0uabS0AOzS5plLmkMdmjNNzS5oAdmjNNzRmkMdmlzTc 0UAPzRmm5pc0hjqKbS0ALS02loAKSlpKACiiigBwpaQUtAC0lFFIYlFFFAC0UlLSGLS0lFAxaKKK ACkoooAWlFNpRUsY4U4U0U4UhjhS00U6mIKSlpKAEpKdTaYhKKKKACiiigBaUUlKKAFFOFNFOFAC 0tIKWgBKSlpKRoFFFFABRSUtAC0tJRQIWiikNABSUUUAFLSUtABS0lLTASiiigBDUbVIaiagGKDS 5pgpc0iR2aKSimIWlpKKZIhNMY0rGo2NUSxrGmE0rGoyaYmLmjNJSUyRc0UlLTAWlptLTELSUUUA LRSUtBLEpKWigQlJinUUDEopaKQwpaSigBaSiimAUUUUCEooopiEooopiCkpaKAEooopjCiiigAo oooAKKKKACiiigAooooAKKKKACiiigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQMKKKKACloooAKKKKQBRRSUCCiikpAFFFFABRRS0hhS0lLQAU1hT6aRSY0M ApwpcUuKk0EopcUuKAEppp1NNACUCkpRQAtIaWkNACUUUUAFFFJQAUUUUAFFJRQAUUUlAC0lFFAB RRRQAUUUlMAooooAKKKKACiikoAWikopALSUUUAFFFJQAtJRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRS0UAFFFFAwoopaAEooooEFFFFABS0UUAFLRRQAUUUUAQ0UUV0nKFFFFIYUUUUAFLSUtAwoooo C4UUUUBcWiiigLhRRRRYdwooopWC4tFJS0WC4UtJRSsFxaKSlosFxaKKKQ7iUlLSUAJRS0UAFFFF MBaKKKACiiigAoxS0UAGKKWigBKWiigAoooNACUUUUAFFFFAC0UUUCFopKWgAoopKBhS0lFMBaKK KQBRRRQAUUUUAFLSUUALRSUtIAooooAWikooAWiiigApaSilYq4tFJS0WC4tLTaWlYdxaWm0tFgu LRSUUrDuOzRmkoosFxaWm0tKw7jqWm0UWC46lzTaWlYdxaUU2lFFguLRRSUALRSUtACilpBRQAtF FFIYUUlLQMKWkpaQC0UUUDCiiikAUlLSUDCnCminCkwFFOFNFOFFhjhTqaKWkAtFFFACUlLRTAbS U6kpCEopaKAClFJS0AKKcKQUopgKKWkpaQxKKKKBcwlFFJSHcKWkopjTFpaSigYtBopDQAlLSUUA OooooELSUUUCuFFJRQLmA1E1SGmNTFcZS5pKKAuOFLTRThTC4tNJpaaxpkjWNRsacxqM1Qhppppx ptMQlLRilxTEJijFOxRigBKWlxRigQlGKXFLigBtFLiigVhKKWigVhKSlooHYSiiimFgooooAKKK KACiikoEFFFFAWCkpaKYrCUUUUBYSiiiqEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAwoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigYUUUtABRRRQIKKKKQ BRRRQAlGKWlpANxRinUUDExRS0UAJRRRQAUtJTlpMpCYpcUuKUCpKExRinAUuKAIyKY1SsKiagYw 0ZoNNoAfmkpKKAFpKKKQBRSUUAFFFJQAtJRRQAUUUUAFFFFABRSUUwCiiigAooooAKSiigAooooA KKKKQBSUUUAFFFFACUtJS0AFFFFABRRRQAUUUUAFFFLQMKKKKACiiloASilopAJS0UUAFJS0UAFF LRQOwlLS0UCsFFLRigLCYop2KKAsVqKKK6jkCiiloAKSlpKBhS0lLSAKKKKACiiigBaKKKBBRRRT GgooopDClpKWgAooopAFLSUtIBaSiigYUUlKKACilxRigBKSlooAKKKKBhRSUtAxaKSloAWikooA WikooELmkoooAKKKWgAoopcUAJRS0lABRRSUALRSUooAKKWimIKKKKACiiikAUUUUAFFFLQMSloo oAKKKKACiiikAUUUUALRSUtAwooooAWiiikAtFJS0DClpKKQxaKKKQxaKSigB1FJS0ALS02lpDFp RTaUUAOopM0UALRSUUAOopKM0hjqKTNFAC0UlFIYtLSUUDHUtNpaQC0UlFAxaSiigAFOFNFOpDFp wptKKQDhS02lzQMdRSZooGLRSUUhBRRRQAlFLRQIKWkooAdSim0ooGOopKWgApKKKRmFJRSUDFop KKCkLS02loKQtIaKQmgoKUUzNOFMQ6lpopaCRaSjNITQSwzRmm5ozQSxTTTS5pppoENNJTjTaYxR ThTRTqYCmo2pxNMamIY1NNONNpiExSYp2KMUxCYpcUoFLimIbilxTsUYoAbijFOxRigBuKMUtLQA 3FJin02gQlJSmkNACUlFFABRRRTAWiiigQlFBpKBhRRRQIKKKKACiiigApKWg0IQ2iloqxCUUtFA CUUtFACUUtFIBKKWigBKKWigBKKWigBKKWigBKKWigBKKWkpgFFFFABRRRQAUUUUAFFFFABRRRQA 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 ACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFOFJRUjHinCmCnip KQoFLilFLSZaEpaKSpZSHUtIKWpGLSikpRSGPFOpgp1IANJQaSmAopwpgpwoGLRmkpDQDFzSZpKK CRc0maKSgYtLSUUALS0lFADqKQU4UgEopaSgYUUUlAC0tJRQA6lptLSAcKDSCloGNNNNONJQA2lo xRQAUUtFMQ00lOpKAAUtJRRcBaKSlp3AKKKWgQlIaWkouA2msKfSEUwIGWmFanK00rVEEJFNIqUi mEUwGUlONJQIBThSClFMQtLQKKYBSUtJQISkpaSmAUUUUguFFFLRYLhRRRSY0wFLSUtIYtLSUUAL RSUtAC0UlFAGbSikpa3OccKWminUhi0ZpDTc0hokBpc1GDSg0hofmkpM0tIoKKKKRQopwNNpc0DH 5ozTc0ZqWMdmkzSZozQAE0lFJQA6jNNpaAFzSUUlADqSiigAoooFIYtFFFACUopKUUAOFOpBTqQx KKKKBBRSUtACilpBS0DFpKWkoAKKKKAFooooAKKKKBDaKWkpgFFFLQAGmGnmmmmJjaKKKBBRSUtA C0UUUAFFFJQIKKKKYBSUUlMQUlFFMApaSimIWlptLQIWlptLUjFpabS0DHUUlFADqM02ikA7NJmk zRmgYZozSUlMQuaSikpiCkoooEFFFFMQtFJS0wCiiigAooooAKWkpaQBRRRQAUlLSUDCiiigApaS loAKWkpaACiiigApaKSgAopaKBCUUtFAgooooAKWiigAopKKRSFpwptKKCh4pwpgpQaQDqKSigAN JRSUgFozTaKAFopM0UAFFJRQAUUlFMAooooEFFFFMAooopiCiiigAooooASloooAKKKKACiiigAo oooAKKKKQwooooAUUopKUUgHClptLQMWkopKQBRRRQAlLSUUALS0lFA0LSUUUhiinCkFOFIY4U4U 0U4Uhi0006kNMCM0w09qYaZIlJS0lNCYUlLSUyRDSUppKoQUUUUxBRRRQAUUUUAFFFFACUUtFAhK KWigBKKWigBKKWigBKKWigBKKKKACiiigAooooAKKKKACiiimAUUUUAFFFFAgooooAKKKKACiiig BaKKKhlCipFqMU9aRSJBTqaKdUstCGkpTSUmUhRTqaKdUlBSikopASClzTAadmkAE02lJptMBwpw pgpwoGLRSUUAFFFLQISjFLRQAYoxS0UgDFGKWigYUtFFABRRRQAlFLSUgCloooGFFFFACilpKKAF pMUtLQA3FJTqQ0AJRRRQAUYopaAGGkpxpKYgFLQKWgAooooASilooAbRiloFMQ0imkVLimMKskgY VGwqdhUTCgREaSnGmmmIKUGm0tMQ8GlpgNOFMQUUUUAJSUtJTEFFFFABS0UUAFFLSUmNBS0UVIxa KKKACiiigYtFJRQBnUtJS102OW4tLTaWiwXFNMJpxphpWHccDSg00U4UrDTHZpabS0rFXFopKKVi rjs0ZptFKw7jwaXNMFOzSaGmLmkzSUUrDuLRSUUWC4tFJRQAUtJRSGOooFBoASlFJQKQx1FApaAE pRRQKQxwp1NFOoAKSlpDQAlLSUUAKKdTRS0gFooooASiiigBaWm0tMBaKKKAEooooAKWkooEKaYa fTDQA2ilNJTEJS0lLQAtFFFABSUtJTEFFJS0AJSUtIaYhKKKKYhKWkpaYgooopgLRRRUgLS0lLQM WikooAKKKSkAuaSkooAWiiimAlJSmkoEFJRRTEFLSUtMAooooELRRRQAUUUUDClpKKAFooopAFJS 0UAJRS0UAFFFFABS0UUwCiiigAooooAWiiigQUUUUAFFFFABS0lFIAooooGFKKSloHccKUGm0tIL jqKSigLhSGig0guJRmkoosO4tFJRQFwooopiuFFFFABRRSUALRSUUwFopKKAFopKKBC0UlFAC0UU UwCiiigAooopAFFJRQMWikooAWikFOpAFLSUUDFpaSigBaKSikAtJRRQMWiiimISiikpMaFpRTRT hUsaHCniminCkUOFKKQUtIYtNNOprUAMamGnNTDVEsSiiimhMKSnUlUSxppKdSUxCUUUUxBRRRQA UUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKAEoopaAEpaKKACkpaKACiiigAooooEJRRRTAKKKK ACiiigAooooAKKKKAFopKWoZaFFPWmCnipKRIKdTBThSZaCilpKllBS0lFIYtFJRSAeDS5pgNLmg QpNJQaKBiinCmilFAxaKSigBaWm0tIBaWkpaAFpaSloAKWkopALRRRQAtJS0UAJRS0UDEopaKAEo oooAKWkpaQCilpKWgApppaSgBKKKKAClpKWmAhpMUppKAClpKWgBaKSloAKSlpKAEpRSGgUxDqY1 PppqiSJqiapmqNhTEQtTDUrCmEUxMZS0uKSmIKcKbSimIdSUUUxBSUUUxBRRRQAtLSUtABRRRQwQ UtJS1IwooooASiiigYUUUUAZ9LSUtdJyhRRRQAUmKWlpDExS0UtA0FLSUVJQUUUUihaKSikMcKKS ikNC0UlFIY6ikpaACkoopDClFJQKAHikNKKDSGNpRSUooGOFLTRThSAKUUUUhiinCminA0ALSGjN IaBCUUUUDFFLSCloAWkpaSkAlFFJTAWlptLQA6ikooELSUUUAFLSUUALSGlpKAGmkp1NpiCiiigB aWkpaAEpDS0hpiCiiigApDRRTQhKSlpKYgooopiCiiimIWiiikMWlpKWkAUUUUAFJRSUDCgUlAoA dRRRQIQ0lLSUwEopaSgQUUUUxC0UUUALRRRQAUUUUAFFFFAxaKKKQBRRS0AJRS0UAFFFFABRRRTE FFFFABRRRQAUUUUALRRRQAUUUUAFFFFIBaKQUtAxKKKKAFpaSloGLRSUtIApDRQaAGmig0lAC0UU UAFFFFAC0UlFAC0lLSUwCikooAWikpaACiiigQUUUUwClpKKAFopKKACiiikAUUUUDCiikoAUU6m inCgAooopAFFFFAwpaSikAtFFFAC0GikNMBDSUppKTGhRThTBTxSY0PFPFMFPBqSh1FJmjNIY6mN S5ppNADGphpxpppksSlpKUVSJYtFFFUhMSmmnUhpkjaKKKYBRRRQAUUUUAFFFFABRRRQAUUUUCCi iigAooooAKKKKAEpaSloAKKKKACiiigAooooAKKKKBCUUUUAFFFFMAooooAKKKKACiiigApRTacK hlocKcKaKdUlocKcKYKcKTKQ8UUCipZQhpKDSUhi0UlJSEPBpc0wGlzQA6ikzRmgY8UtNBp2aBhR SUUALRSUtIBRThTRSigB1LTRS0gFoopaACiiigYUtJS0AFFFFABRRRQAlFFJQAopaQUtIAozSUUA LmikpaACiiigBKM0GkoAWkooNABSZopKYDs0tNpaAFpCaKQ0ABNANIaQUASUhoFBqyRhphFSGmGm IiIppFSGmkUxMjIpMVIRTcUyRmKWlxSUxBRRRTEJRRRTEFFFLQAUtJS0CFpKWkoY0LRSUtIYUUUU AJSUtJQAUUUUAUaKKK2MLBRS0UBYKKKKBhRRSUhjqKSlpDFooopDEoopKQxRS0gpaYBRRRRYLi0U UUWC4UUUUrDuFAopaQXHCigUtA7iYoxS0Uh3ClpKKLBcWikopWHcdmjNNozRYLj80ZptLSAWikpa Bi0tJS0AFFJRQAUlLRQAlLSUtABS0lFAC0lFFABS0lFAC0lFIaACkoooEFFFFABRmkooAXNJRRTE FGaSkoAXNFJRTEFFFFMQUUUlMQtFJRTELRRRSAWjNJRQA7NJmkooAWiiigYUUUUAGaM0lFAhaSii gAooopiCiiigApaKKACiiigAooooAKWiigYUUUUgClpKWgAooooAKKKKACiiimIKKKKACiiikwCl pKWgYUUtJQAlFFJQAtFJRQA4UtNFLQAUUUUgClpKKAFopKWgAoopKACiiimAUUUUAFFFFABRRRQA UUUUAFFFFABRRRTAKKKKACiiigApaSloAKKKKAEopaKAEopaKAEopaKQCCnUlFAxaSiigAooooAK WkooAWikopALmjNJRTAKKKWhggFOFJS1LKQ4GnA0ylzUjH5ozTM0ZpDFLUhNNJpM0AKTSUUVSEFF FFNEsKKKKpCYUhpaQ0xCUlLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKSlpKACiiigBaSiloAKSlooASlFJSioZaHCnCminCkUhwpRSClp MpC5ozSUmaQxSaSkopDFzSZpKKQDs0ZptFAh+aXNMzS0DHg07NRg0uaBj80U2lpMBaWm0tIY4Uop opRQA8UtNFKKAHUtNpaAFoopKQC0UlFAC0ZpKKAFzRSUUALSUUUAKKWm0tIYUUUUAFLSUUALRRRQ AlFLSUAJSUppKYBSUtFABRRRQAUUUUAJRS0lAC5pM0maKoQE0w04000xDTRRRTExMUhFPxTSKaJY w00080w0xCUUUUxBSUtFMQlLRRTEFFFFAC0lFFAC0ZpKKAFzRSUUAFFFFIAooooAo0tJRWpkLRRR TAKSiikAUtJS0DCloopDCikopDFooopDAUtFFUhBRRRQAtFFFABRRRSGFFFFIY8UtNFLSAWikooG LRSUUhi0UlFAC0UlFAC0tJS1IxaWkpaAFopKWgAopKKACikooAWikooAWiiigApaSigBaKSigYUh paSgAooooEFJRRQAUUUUAFJS0lMQUlLSUAFFFFMlhRRRTEFJS0lMAooopiClpKWkAUUUUAFFFLQA lLRRQAUUUUAJRRRQAUUUUxBRRS0AJS0UUAFFFFMAooopAFLSUtABRRRQMKKKKQBS0lLQAUUUUAFF FFABRRRTAKKKKBBRRRSYxaKKKQC0UUUDEpKdRigBtJTqSgAFLQKKBBRRRQAUUUUAFFFFABRRRTAK KKKBBRRRQAUUUUDCiiigAooooAKKKKACiiimAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUgC iiigAooooGFFFFABRRRQAUUUUAFFFFMQUtJRSY0OopKWkxoWlptLUlC0UlFIYhooNJQAtFJRTRIt JRRVITCiiiqRLCg0UlMQlFFFIYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigBKKKKACikooAWlpKKAFoopaAG0oooqGWhwpRTRSikUh4pc03NGaR SHUlJmjNIYUUlFIYtJRRSEFLSUUALS02loGOFLTRS5oAdS03NLQxi0tNpakY4UopopQaAHilFMBp wNADhS5puaXNADqSkzRmgBaKTNGaAFopKKQC0UlFMBaKSikA6jNNzRmgB2aM03NLmkAuaKSigB1F JRTGLRSUUAIaKDSUAFFFFABRRSUALRSUUALmkNJRQAUUlFUIDTTSmkNAhKWkpRTExaQ0tIapCYw0 w1IajamSNooopiCiiimIKKKKBBRRRTAKKKKACiiigAooooAKKKKACiiigCjRRRWpkFJmiigApwpo p4oAKKWkpDCiiigAoooosFwpaKKVh3CiiimK4UUUUALRRRSGFFFFAwooopAOFLSUUhi0UlFAXFop KKAuLRSUUDuLRSUCkFx1LSUUihaWkpaAFopKKBBRSUUAFFJRQA6ikooAWikopDFopKKAFopKKBi0 UlFIBaSiigAooooAKKKKACkpaSmIKSlpKYgooooEwooopiCkpaSmIKKKKYBS0lLSAKKKKAClpKWg AooooAKKKKYCUUUUAFFFLQISloooAKKKKACiiigAoopaACiiigYUUUUgCiiloGJS0UUAFFFFABRR RQAUUUUCCiiigBaKBS0mAlFFFIYtKKQUooGGKMU6jFA7DCKSnEUhoEJRRRQIKKKKYgooooAKKKKA CiiimMKKKKBBRRRQIKKKKACiiigYUUUUAFFFFABRRRTAKKKKACiiigApaSloAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKQBRRRQMKKKKACiiimIKKKKAFopKWkxi0UlFIYtFJRSsFwoopKQXFopK KoBaKSimhMKKKKYgooopiEooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFAB RRRQAUUUUAFFFFABRRRQAUUUlIYUUUUAJRS0UDCloooAKWiigBDSUppKkYtLmm0uaRQ7NGabmjNA 0PzSZpM0ZpFC5opM0UgFopKKQgpabRQA6lzTaXNADgaXNNzS5oGOzRmm5pc0MY7NGaTNGakY7NOB pmaXNADwaXNMzS5oAfmlzTM0uaAH5ozTc0ZoAdmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5 ozSZopALmikooAdRSUUAOopKKAFooooAKSg0lAC0UlFAwpKWkoAKKSigAooooAKKKKYCGmmlNIaY gpRSUopiFpDS0hpoljTUbU80xqYhtFFFMQUUUUxBRRRQIKKKKACiiigAooopiCiiigAooooAKKKK AKVFFFamYYoxS0UAIBS0UUgCkzRSUDFzS02lFADqKKWgBKKKKACiiigAooooAWiiigYUUUUgCiii kMWiiigAooopDCiiigAooooAKUUlAoAdS0lFSULS0lFAC0UUlABRRSUAFFJS0ALRSUUALRSUtABR RRQMKWkopALRSUUDFopKKQC0UlFAC0UlFABRRRTEFJS0UxCUUtJQJhRRRTEFFFFMQlFFFMBaKKKQ BRRRQAUtJS0AFFFFABRRRTEJRS0UAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFAwpaKKQwooooAKSl ooGJRRRQAUUtFIAooopiCiiigQopaQUtJjEooopDFFOFNFOFAx1FKKKBjTTDUhphoEJSUtJQIKKK KCWFFFFMAooooAKKKKYwooooEFFFFAgooooAKKKKACiiloGFFFFABRRRTAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiikMKKKKACiiimIKKKKACiiikAUUUUhhRRRSGFF FFABRRRTEFFJRTAWkoopiFpKKKYhaKKKQwooooAKKKKACiiigApKWigBKKKKACiiigAooooAKKKK ACiiigQUUUUAFFFFABRRRQAUUUUhhSUtJQAtFFLQMTFLilxRikAmKKXFFACUUUUDENJQaKQBRSUU FC5ozTaKQ0OzRmkopDFpabS0gFopKKQBRRRQIWikooGOpabS0DHUuabRQwHZpc02lpDFzS5ptLQA 7NLmm5pc0AOzS5puaM0APzS5pmaXNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzS03NL mkAtFJmjNADqWm5pc0ALS02loAWiiigBDRQaSgYtFJRQAUUUlABRRRQMKKKKAFpDS0hoENNNNKaa aYCinCminCmIWmmnU00yWMY0w0rU2mIKKKKYgooopiCiiigQUUUUAFFFFABRRRTEFFFFABRRRQAU UUUAUqKKK0IFopKKQwpM0tJigAopcUu2gBtLS7aMUxBS0lFMQtFJS0xBRRRUsaCiiikMWiiigYUU UUgCiiigYtFFFIAooopgFFFFABRRRQIKKKKBi0tJRUlC0tJS0AFFFFMQlJS0lABRRRQAtFJRQAtF JS0hhRRRQMKKKKQBS0lFAxaKSikAtFFFABRRRQAUUUUAFFFFMQUlLSUAFFFFMQUUUUxCUUUUCFoo opgFFFFABS0UUAFFFFABRRRQIKKKKACiiigAooooAKKKWgBKWiigAooooGFFFLSAKKKKBhRRRSGF FLRQMSilxRQAlLS0UgEopaKYhKKWigAFLSUtIBDSUtJQCFFPFMFPFIocKWkFLQMaaaaeaYaBDTSU ppKZLCiiiglhRRRTEFFFFMYUUUUDCiiigQUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigBKKKKQBRRRQ AUUUUgCiiimAUUUUAFFFFABRRRQAUUUUwFooooGFFFFABRRRQIKKKKACiiigBKKKKACiiigAoooo AKKKKACiiigQUUUUAFFFFABRRRSGFFFFAxKKKUUgFFKBSCnCgYuKMUopaQxuKQ04000ANNJSmkoA SkpaSgQUlLSUDEooooKQtFJRSAdRSUtIBaKKSgQUUUUAFLSUUhi0tJS0wFpabS0hi0UlLSGLS02l oAdRmkooEOzRmkooAdmlzTc0uaAHZozTc0ZoAdmjNNzRmgB2aM02igB2aM03NGaAuOzS5puaXNFg HZozTc0ZosFx+aM03NLmiwXHZpc0zNLmiwDs0ZpM0ZoGBNFJmkoAdRSUUDFooooAKWkpaACiiigA pppSaaTRYQ0mm5oJpM07AOFOFMFPFMQ6mNT6Y1AmRtTaVqbTELRRRTJCiiigAooooAKKKKBBRRRT AKKKKACiiigAooooAKKKKAKdFLilxWlybDaMU/bRtqbjsMxShaeFpwWi4WGhacEp4WnhaLhYh2U0 rVgrTGWncViuRTakYUwincmwlOFNpwqrisFFLSVLGgooopDFooooGFFFFIAooooGLRRRSAKKKKYB RRRQIKKKKACiiigApaSlpFC0UlLQAtJS0UAJSUtFAhKKKKBhRRRQAUUUUAFFFFIYUtJRSGLRSUUA LRSUtIYUtJRQAtFFFABRRRQAUUUUxBRRRQAlFFFMQUUUUxBRRRQIKKKKYBRRRQAtFFFABRRRQAUU UUCCiiigAoopaACiiigAooooAKKKKBi0UUUAFFFFIYUUUUDCloopDClFJThQAUUUUhhRRS0CEopa KAEopaKBCUlKaSgAooopAhRThTRThQUOFLSCigYhpDSmkNAhpptONNpksKKKKCWFFFFMQUUUUxhR RRQMWiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiikAUlLRQAlFLRQAlFFFABS0UUAFFFFACUUtJQA UUUUAFFFFAxaKKKYBRRRQAUUUUCCiiigAooooASiiigAooooAKKKKACiiigAooooEFFFFABRRRQA UUUUhhRRRQMKBRQKQDhThTRThQMcKKBRSGIaaacaaaQxpptKaSgApKWkqiQpKWkpDEooooGgpaSl pDClpKUUALRRRSEJRS0lABRRRQAtLSUtAwpaSloGFFFFIBaKKKAFooooAWikpaAFpabS0ALRSUUA LRSUUALRSUUALRSUUALmlzTaWgQuaXNNooAdmlzTaM0AOzS5pmaXNAx2aXNMzS5pALmjNNzS5oGL mlpuaXNADqKbmlzQA6ikzRQMdSGjNITQAhNNJoJppNMQhNNpTTaYh4p4qMU8UCH01qdmmmmJkbU2 nNTaYgooooEFFFFMAooooEFFFFIAooopgFFFFABRRRQAUUUUAFFFFAEAFOC0oFPAqbmlhgWnbKeB TgKlyHykWylC1LikxRzD5RFWnhaBTxRcVhhWo3WpjTGFO5Nis4qIirDComFVcmxHigUpFFVcVgpK KKdyQooooAWiiigAooopDCiiigBaKKKACiiigAooopiCiiigAooopiClpKKkoWlpKWmAtFFFABSU tJQAlFLSUCCiiigYUUUUgCiiigYUUUUhhRS0lIaCiiigYtFFFIApaSloAKKKKYBRRRQIKKKKAEoo opiCiiigQUUUUwCiiimIKKKWgAooooAKKKKACiiigQtFFFABRRRQMKKKKACiiigAoopaACiiigAo oopDClpKWkMKKKKBhThTaWkMWiiigYUtJRSELRSUUwFopKKQgNJSmm0xMWlpKWgEKKUUlLSKFopK KChaSiimSNNNpxptBLCiiimQwooopgFFFFMAooooGLRRRUgFFFFABRRRQAUUUUAFFFFMAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRSGFFF FABRRRQIKKKKACiiigQUUtFACUUtJQMKKKKBhRRRSGFFFFABRRRVCCiiigAooooEFFFFABRRRQAl FFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigYUUUUgCiiikMKWkFLQMUUopKWkMdmjNNzRmkMUmm k0E00mgYGm0ppKQC0UUVZDEpKWigYlFFFIaCloooGFKKSlFIQtFLSUCEopaSgBKWiigApaKKQxaK KWgYUUUUAFFFFAC0UUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUALRSUtAgooooAWikooAWlpKK Bi0ZpKKAFopKKBjs0ZpKKAHZpc02jNIB2aXNMzS5oGOzSE0maQmgBpNJQaKokQ0lLSUCFFPBqMU4 GmIkzSE0maQmgBDTaU0lMQUUUUCCiiigAooooAKKKKBBRRRQMKKKKQwooooAKKKKYBRRRQAgFOAo FKKzNBRThSClFSykLTadTTQAopc02loQCk000tIaokjYVGwqU1G1USREU009qYaokSiiimiWFFFF AC0UUUAFFFFABRRS0gCiilpgJRS0UAJRS0UxCUUUUCCiiimAUUUUihaWkpaAFooooAKKKKYhKKWk NIBKKKKBhRS0UAJS0lFIYtFJS0gEopaSgpBRRRSGFLSUtABS0lLQAUUUUAFFFFAgooooASiiimIK KKKBBRRRQAUUUUxBS0UUwCiiigAooooAKKWigQUUUUAFFFFAwooooAKKKKAClpKWgAooooAKKKKQ xaKKKQwooooGFFFFIYtFJRQFxaKSikAtFJRQAtFJRQIWkoopiYopRSClFAIdRSUZoKFopKKQ7i0U lFMQhptONNoJYUUtFMhiUUUUwCiilpgJRS0UDCiiipGFFFFAgooooAKKKKACiiimAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooopDCiiigBa KKKBBRRRQAUUUUCCiiigAooooGFJS0UDEooopDCiiigAoooqhBRRRQAUUUUCCiiigAooooASiiig AooooAKKKKACiiigAooooEFFFFABRRRQMKKKKQBRRRSGKKWkFLQMKKSikMXNJmikpDDNJRRQMSkp aKQXClooqyGJRS0UAJRS0UFCUtFFIApRSUooAWiiikISkpaKAEpaKKAClpKWgYUtJS0AFFFFIYUt JS0AFFFFAgooooAKKKKAFopKKAFopKKYC0UlFAC0UlFACilpBS0gCiiigApaSigBaKKKACiiigYU UlFAC0UlFAC0tNpaBi5ozSUUALmgmkpDQAlLSUopkhSGlpDTASlzSUUCHZozTaKYgNFFFAgooopg FFFFAgooopAFFFFABRRRQMKKWikMSilooASiiimAUUtFACClBpKUVibDgaXNNFLSGOpKKKACiiim gYUhpaQ1RIw0xqeaYaogjNNNONNNUISlxQKXFBI2inYpMUAJRRiigdgopcUYpDsFFLilxQOwlFLR QKwlFLRTExKKKKZLEooooJCiigUwQtFLRQWFFFFABS0lLQAUUUUCCkNLSGkAlLRS0AFJS0GgBppK U0lAC0UlKKAFooopDQUUUUDCkpaSgYUtJRSGLS0lLQAUUUUCCiiigQUUUUCCiiigAooooGFFFLVC EopaKACiiigQUUUUwCiiigAooooAKKKKACloooAKKKKACiiigAooooAKKKKAFopKWgAooooC4UlL SUh3CiiiiwXClpKKLBcKWkpaQXCiiigYUUUtABRRRQAuaM0lFAC5opKKAuLmjNJRQK4UUUUAFFFF ABRRRQAUUUUAFFFFAwooooJCiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRSUtA BRRRQAlFFFABRRRQAUUUUDCiiigQUUUUAFFFFABRRRQAUlLSUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUwCiiikAUUUUAFFFFABS0lFAwooopAFFFFAXCkpaKLDuJijFLRRYLhRRRQIKKKKACiiigAoo ooC4UUUUBcWiiigAooooAKKKKACiiigLhS0lLRYdwoooosFwoooosFxaKSlosFwooooC4UUUUguF FFFABRRRQAUUUUAFFFFACilpBS0AFFFFABRRRQMKKKKACiiigAooooC4UUUUBcKKKKAuFFJRQFxa KSigLhRSUUCFopKKYBRRRQAUUUUAFFFLQAlFLRQISilooASilooASilooASloopDCiiigAooooAK KKKACiiigBKUUlOFZG4CnUgpaQwpaKWkAlFLRTQmJTTTjSGqJIzTDUhqM1ZIw0w08001RICnYpFp 2KBDcUYp2KTFIBuKMU7FGKBjcUuKXFGKBhijFLilxQMbSUppKBBRRRTJYlFFFBLEopaSmIKBRRQJ C0tJRTLFopKKQC0UUUAFFFFAC0hoooEJS0lLQAtJRRQAhpKWigBKWiigAozRSUhiinU0U4UDCkp1 IaBjaSlNJSGLSikpRQAtFFFAmFFFFAgooooEFFFFABRRRQMKWiiqEFFFFABRRRQIKKKKACiiimAU UUUAFLRRQAUUUUAFFFFABRRRQAUUtFACUUtFABRRRQAUUUUAFJS0UAJRS0UAFFFFIYUUUtACUUtF IBKWiimMKKKKACiiigAooooEFFFFABRRRSAKKKKACiiigAooooGFFFFABRRRTJCiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKWkpaACiiigBKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACkpaSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBhRRRQ AUUUUAFFLRQAlFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABS0lLSAKKKKACiii gBaKKKACiiigAooooAKKKKACiiigAooopAFFFFACilpBS0DCiiigAooooAKKKKACiiigAooooAKK KKACiiigBKKKKACiiigBKKKKYBRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFIAo oooAKKKKACiiigAooooAQU4UgpRWJuOFLSCnUhgKWiloGJRS0lNCYhpppxpDTJIzTDUhphqySM0w 1IaaRTJBafTVp9MBtFLSUAJRS0UDEpaKKQBS0UUANNJSmkpgJRS0lBLCkpaKYmJRRRTJEopaKACi kpaYBRRRQAUUUUALRRRQAUUUUgCkpaSgYUUlFAC0UUUgCilpKAEopaTFACilFJS0hi0GkooGJRRR QMKWkpaYC0UlLQSwooooEFFFFAgooooAKKKKYC0UUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUw CiiigAooooAKKKKAFopKKQC0UlFAC0UlFABRRRQAUUUUALRSUtABRRRSGLRRRQAUUtFACUUUUDCi iimAUUUUAFFFFAgooooAKKKKQgooooGFFFFABRRRQAUUUUDCiiimSFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS 0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIAooooGLRR RQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSloAKKKKQBRRRQMKKKKAFooooAKK KKACiiigAooooAKKKKQBS0lLQAUUUUAApaQUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA lFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAF FFFABRRRQAgpwpopwrE6BwpRSClFIYtLSUUALSUUU0JiGkNLSGmSNNMNPNNNUIjNNIqQ00iqJEFO pBS0AJSUtJQAUlLSUAFLSUUDFpaSigQhpKU0lABRRRTJEopaSmJhSUtFMQlFFFAhKKKKYBS0UUAF FFFABRRRSAKUUlKKAA0hpxppoGNopaKQCiloApcUAJRS0hoASlxRThSGNpKcaQ0DEooxS0DCiilo ASilopgJS0UUEsKKKKBMKKKKBBRRRTAKWiigAooooAKKKKACiiigAooooAWiiigAooooAKKKKYBR RRQAUUUUAFFFFIAooooAKKKKACiikoAWikooAWikpaACiiikAtFFFAxaKSloAKKKKACiiigYUUUU wCiiigAooooEFFFFABRRRSEFFFFAwooooAKKKKACiiigAooooEFFFFMAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAWiiigAooooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAS iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkpaQBRRRQMKKKKAC iiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUtFFABRRRQAUUUUgCiiigYUtJS0AFFFFABRRRQA tJS0UAJRRS0AFFFFIAooooAKKKKAAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRR QAUUUUANFOFNFOFYnQOFOFNFOFIYtJRSGgBc0UmaM0CCkNFJVCA0006mmmIQ03FOopkjaKWkpjsJ SUtJQMSilpKBBRRRQAUtJS0xCUUUUCCkpaSmIKKKKYCUUtJQIKSlpKYhKKWimSFFFFABRRRSAKWi igYUUUUAFJS0UhiYpQKUCnAUAIBS4pQKXFIY3FNNPIppoAbThTacKQBRilpcUhjMUYqTbSYpjG4o pSKSgBKKWkpiCiiimSwooopksKWkpaBBRRRTAKKKKACiiikMKKKKACiiigApaKKACiiigAooooAK KKKACiiigAooooAKKKKAEooopAFFFFAwopaKAEopaKAEpaKKQBRS0UAJS0UUAFFFFAC0UlFAC0Ul LTGFFFFABRRRQIKKKKACiiigAooooEFFFFABRRRQAUUUUDCiiigAooooAKKKKBBRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUDCiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAJRRRQAUUUUAFFFFAgooooAKKKKACiiigAoooo AKKKKAEooooAKKKKACiiigAooooAKWkooAWikooELRSUUAFFFFAwooooAKKKKAFooopAFFFFABRR RQAUUUUAFLSUtAwooooAKKKKACiiigApKWigBKWkpaACiiigAooooAKKKKACiiigBaKKKBhRRRQA UtJS0AFFFFABRRRQAUUUUgCiiigAooooAKKKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKAEooooAKKKKACilooASilooASilooASilooASloooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAYKcKaKcKyNx4pRTRThSGKaaaU000hhRmkopiFopKSmIWkoopiEooopiEop aKY0NpKdSUANopaSgQlLRRQAUUUUCCkpaKYhKKKKYgpKWkpgFJS0UCEooopgxKKWimQJS0UUAFFF FIAoopaBiUUtJSGFKKQU8CgAAp4FAFOApDExRinYoNAEZFNNSGmEUhjKBSkUChgOWngU1RUqikMT bSFalxSEUAQkUw1KwqMimA2iiimIKSlopksSlpKWmSwooooEFFFFMAooooAKKKKQwooooAKWkpaA CiiigAooooAKKKKACiiigAooooAKKKKACg0UUAJRS0UhhRS0YoASlpcUYpAJijFLilxQA3FGKdij FAxtFOxSYoASilxRQAlFLRQAlFLRQAlLSUtMAooooAKKKKBBRRRQAUUUUAFFFFAgooooAKKKKACi iigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEooo oAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgoooo AKKKKBhRRRQAUUUUAFFFFIAooooAKKKKACiiigBaKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFLQAUUUUDCiiigBaKKKACiiigAooooAKKKKQBRRS0AFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEYpwpgpwrM2HinCmCnCkMWmmlpDQAUlFFA BSUUlMQtJRRQIKKSimAtLSCloGhKSlpKBiUlLSUxMKKKKCQooooEFFFFMQUlLRTASiiigBKKKKYB SUtFAMSiiimQFLRRSAKKKKBhRRS0gEopaMUDACnAUAU4CkMUCnikFLSGFIaWkoGIaaRTqMUAMIpM U/FGKTAFFSqKYoqRaQxwpCKUUGgCJhUbCp2FRsKYEJFJTyKYaZIUUlLVEsKKKKZLCiiimSFFFFAB RRRTAKKKKQwooooAWiiigAooooAKKKKACiiigAooooAKKKKQBRRRQAtFFFA0FGKWipKClxRS4oAT FLilxS4oAbilxS4pcUDG4oxTsUmKAG4oxTsUYoAbikp1FADaKWkoEJRS0UAJRRRTEFFFFMAooooA KKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFABRRRQIKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQIKKKKACiiigYUUUUgCiiigAooooAKKKKACiiigBaKKKACiiigYUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFAwooooAWiiigAooooAKWkpaQBRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFAC0UU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEQpwp gpwqDUeKcKYDS5pDuOpDSZpM0WC4tJRmkzQFxaSikoAKKSimIKKSimIcKdTRS0ikFJS0lAxKSlpK ZLCkoooELRSUUyRaKTNGaBC0UmaM0wCiikoGFFFFMAooooBhRRRQQFFFLQAlLRRSGFFFFAwpRSU4 UhiinimCnA0DHUtNzRmkMWikzRSAWlxSClFAwxRilopMAApwpKUUgFFLSClpjENMYVIaaRTEQsKi NTsKjYUxEdLS4pKZDCiiimSwooopiCiilpiEopaKYxKKKKQBRRRQAtFFFABRRRQAUUUUAFFFFIAo oooAKKKKAClpKWgYUopKUUMELRS0VJQUtFLQMKWiloAKKKWkAUhpaSgYlFLRQIbRS0lMBKSlooAS kpaKAENJSmkpiYUUUUCCiiigAooopgFFFJQIWiiigAooooAKKWigBKKWkoAKKKKACiiigAooooAK KKKACiiloASilooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASiiigAooooAKKKKBBRRRTAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQMKKKKQBRRRQAUUUUAFFF FABRRRQAUtFFABRRRQAUUUUDCiiigAooooAKKKKACilpKACiiigAopaKAEopaKAEopaKACiiigAo oooGFLRRQAUUUUAFFFFIApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAoopKACiiigAopaMUAFFFFABRRRQAUUUUAFFFFABRRRQAUUtFACUUtFACUUtFACUUtF ACUUtFACUUtFACUUtFACUUtFACUUtFAEFKKbS0ih2aXNMpaBjs0maSikAuaM0lFABRSUUALSUUUA FFFJTAcKWmilpFIKKKSkAUUUlMTCkpaSgkKKKSmIWikooELmikopgLRSUUALRSUtAwooooGLRRRQ SFFFFAwooopDFpKWikAUUUUDFzS5ptFIY7NLmm0tIY6ikpaBi0tJRQA7NKKaKcKTAUU4U0U4Uhii lpBS0ABpppxpppgMIppFPNNNUSRkU2pGqM0yGJRS0lNEsKSlopiEpaSlpiCiilpjEooooEFFFFAB RRRSAKKKKACiiigAooooGFFFFABRRS0AFFFFACU4UlKKTGh1LSUtSWLS0lLQMKWkpaACiikpDFop KcKACkpaSgBKKWkpiEpKWkoASilpKBCUUtJTEwoxS0UCDFJS0UAJSUtJTEJRRRQAUtJS0ALRRRQI WiiigBKKWkoAKKKSgBaKKKYBRRRQAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiimAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiloASilooAKKKKACiiigAooooAKKKKBhRRRSAKKKKACiiigApaSlpgFFFFIAooooAKKKKY BRRRQAUUUtACUUtFACUtFFABRRRQMKKWigBKKWigBKKWikAlLRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAlJSmkoAKUUlKKAFFLigUpoAbRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRSAKKKKACiiigAooooAKKKKAK1LTaWmMWlpu aXNIYtFJmigLi0UlFA7i0UlFAri0lFFABRRRQAopaQUtJlJhSUtJQFwpKWkoE2FJS0lBIUlLSUxB RRRTEFFFFABRRRQMKWiigYUUUUALRRRQAUUUUgCiiigYUUUUhi0UUUDCiiikAtLSUtIYtLSUtAxa KKKQCinCminCkxiilpKWgBwopKM0ALTTS0hpgIaaaU0lMka1RmntTDVEMKSlpKaJYUUUUxCUtJS0 wClpKWgBKKKKYgooooAKKKKQBRRRQAUUUUDCiiloAKKKKACiiloASilopAJThSU4UMpC0UtFSWFL SUtABS0lLSGFFFFABS0lLQAUlLSUAFJS0lACUUUUxCUUtJQAlFLSUyWFLRRQIKSlooASkp1JQA2k p1JTASlpKWgQUtJS0ALRSUUCCiikoAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAlFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAoopaAEpaKKACiiigAooooAKKKKACiiigAooooGFFFFABRS0UgEopaKAEpaKKACii igYUUUUCCiiigAooooAKKKKBi0UUUAFFFFAgooooGFFFFAC0UUUwCiiigAooopAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFACGkpaSgApRSUooAcKWk FFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiigAooooAKKKKACii igCpS0lFWIWjNJRSGLmlptLQAtFJRQAtFJRQAtFFFIBaKSimAop1NFLUspBRRRQAlFFFAhKKKKBB SUtJTEFFFFAgooooGFFFFAC0UUUDCiiigBaKKKRQUUUUAFFFFABRRRSGLRRRQMKKKKQC0tJS0hi0 UlLQAtLSUUDFFOFNFOFJgOopKKQx1FNozTAdmkNJmigQhoopKZI1qYae1MNMlhSUtJVEsKKKKYhK WkpaACiilpjEooooEFFFFABRRRQAUUUUAFFFFAC0UUUhhRRS0AFFFLQAUUUtACU4UlOFJjQUUtFS aCUtFFABS0lLSGFLRRQAUUtJQAUlFFABSUtFMBKSlopiEooooEJRS0lAmFFFLQIKKKKAEpKdSUAN opaSmAlFFFABS0UUCCilpKYgpKWkoAKSlpKAHUUUUCCiiigAooooAKKKKACilpKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUtIBKKWigAooooAKKKKACiiigYUU UUAFFFFABRS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRTAKKKKQBRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFACUUtJQAUCiloAWiiigBK KKKQwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAp0 UUVZIUUUUALRSUUgFopKWgApaSigBaKKKBi0UlFADhS00UtSxhRRRQAUlLSUCCiiimISiiigAooo piCiiigYtFFFIAooooGFFFFAC0UUUigooooAKKKKACiiikMKWkooAWiiikMWiiigBaWkpaBi0UlL SC4opwpgpwpMdxaKKSkAtGaSkzTAdmkzSZopgLRSUUyRGphp5plMlhSUtJTJYUUUUxCUtJS0AFLS UUxhRRRQIKKKKACiiigAooooAWiiigYUUUUgFooooAWiiloAKWkpaAClFJSikxoWilpKk0CiiigA paSlpDFpaSloAKQ0tIaAEooooAKKKKYCUUUUCCkpaKYhKKKKBBRRS0AFFFFACUUtJQAlJS0UANop aKYhKWiloASilooENopaSgQlFLSUALRRRTEFFFFABRRRQAUUUUALSUtJQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKWigBKKWigBKKWikAUUUUAFFFFABRRRQAUUUUDCiiloASloooAKKK KACiiigAooooAKKKKACiiigAoopaACiiigAooooAKKKKYBRRRSAKKKKACiiigAooooAKKKKACiii gAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKAEooopDCiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpSUtFWQJRR RQAUUUUAFFFFABS0lLQAUtJRQMWikopAOFLTRS0gFpKKKACiiimAUUUUAJRRRQAUUUUAFLRRQAUU UUAFFFFIAooooAWiiigoKKKKBhRRRQAUUUUAFFFFIApaSloAKWkpaBi0UUUgFooooAUU4UynCkwF pKKSgYtJRSUDFopKKBC0UlFMkDTaU0lMlhSUtJTEFJS0lAgpaSlpjCiiigYUUUUCCiiigAooooAK KKWgYlLRRSAKWkpaBhS0lLQAUtJS0gFopKWgApRSUooGhaKKKkoKKKKBhS0lLSGLS0lLSAKQ0tIa AEooopgFFFJQIKKKKYgopKKYgooopMApaKKBhRS0UAJSUtFACUlLRQAlFLRTEJS0UtACUlOpKBCU lLRTENopaSgAooopiCilooASloooAKKKKACkpaSgAooooAKKKKACiiigAooooAKKKKBBRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBKKWig BKKWigAooopAFFFFAwooooAKKKKACiiigAoopaACiiigAooooAKKKKACiiigAoopaAEopaKAEopa KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooASilooASilooASilooAKK KKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0UUAFFLSUAFJS0lABRRRQMKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKlFFFWQFFFFABSUtFACUUtFA CUUtFABRRRSAKKKKBiilpBRQIWikooAWikooAKKKKBhRRRTAKWkpaACiiikAUUUUAFFFFIAooooA KWkpaZQUUUUgCiiigAooooAKKKKAClpKWgYUtJS0gClpKKAuLRRRQFxaWm0tJjFpKKKQBSUUUxhR SUUCFopKKYhaSiiglhSUtJTJCkpaSgApaSlpgFFFFAwooooAKKKKACiiigYtJS0UAFFFFIBaKKKB hS0lLQAUtJRSAWlpKKBi0tNpaAQtFJS1JQUUUUgFpaSigYtLSUUhi0lFFABRRRQIKSiimAUlFFMQ UUlFMQtFJS0mAUtJS0hhS0lFMAooooASiiigApaQUtMAopaKBCUUtJQISkpaSgBKSlopiEopaKYg ooooAKKKKACiiigAooooASiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RTAKKKKACiiigAooooAKKKKACilooASilooASilooASilooAKKKKACiiigAooooGFFFFIAooooAK KKKACiiigBaKKKACiiigAooooAKKKKACloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBK KWkoAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKQBRRRQAUUUUAFFFFAB RRRQAUUUUAFLSUtABS0lLQAUlLRQA2ig0UALRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKAKdFFFWQFFFFABRRRQAUUUUAFFFFABRRRSAKKKKBgKW iigQUUUUAFFFFMAooooGFFFFABS0UUDCiiigAooopAFFFFAgooopAFLRRTGFFFFMAooopDCiiigQ UUUUAFFFFAC0UUUALRRRQAtFFFABRRRSY0FFFFIYUlFFABRRRTAKKKKCQooooJYUlFFMQUlFFABS 0UUxhRRRQMKKKKQwooooAWiiigAooooAKKKKQxaKKKACiiikAtFFFAwpaKKACiiikAtFFFIYtFFF IYtFFFIBaKKKBhRRRQAUUUUAJRRRTEJSUUUyQooopgFFFFJjQtFFFIoWiiigAooooASiiimAopaK KACiiimIKSiigQlJRRQISiiigQUUUVQgooooAKKKKACiiigAooooASiiigAooooAKKKKACiiigAo oooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiiigAooooAKWiigAooooAKKKKACiiigAooo oAKKKKYBRRRQAUUUUgCiiigBaKKKACiiigAooooAKKKKACiiigYUUUUAFLRRQIKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACloooAKSiigAooooAKKKKACiiigAooooAKWiigAooooAKKKKACiii gAooooAKKKKQBRRRQAUUUUAFFFFABRRRQAtJRRQAUtFFACiloooAKQ0UUANNFFFAC0UUUDCiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9k= ------=_Part_281251_426159847.1403480453441 Content-Type: image/jpeg; name="Felicitation.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=Felicitation.jpg /9j/4AAQSkZJRgABAQEBLAEsAAD/4gogSUNDX1BST0ZJTEUAAQEAAAoQAAAAAAIQAABtbnRyUkdC IFhZWiAAAAAAAAAAAAAAAABhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tUAAQAA AADTLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApk ZXNjAAAA/AAAAHxjcHJ0AAABeAAAACh3dHB0AAABoAAAABRia3B0AAABtAAAABRyWFlaAAAByAAA ABRnWFlaAAAB3AAAABRiWFlaAAAB8AAAABRyVFJDAAACBAAACAxnVFJDAAACBAAACAxiVFJDAAAC BAAACAxkZXNjAAAAAAAAACJBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAA AAAAACJBcnRpZmV4IFNvZnR3YXJlIHNSR0IgSUNDIFByb2ZpbGUAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgQXJ0aWZleCBTb2Z0d2FyZSAyMDExAFhZ WiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAAD kFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9jdXJ2AAAAAAAABAAAAAAF AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA lQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr ATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC AwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW AyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE fgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB CpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN QA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT xRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ F64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib 2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs IJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC KzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx EjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+ YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN k03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe vV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx 8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh fIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6 kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe rp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC q3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4 WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU SdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb 42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////bAEMAGxIU FxQRGxcWFx4cGyAoQisoJSUoUTo9MEJgVWVkX1VdW2p4mYFqcZBzW12FtYaQnqOrratngLzJuqbH mairpP/bAEMBHB4eKCMoTisrTqRuXW6kpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSk pKSkpKSkpKSkpKSkpKSkpP/AABEIDbQJsQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAA AQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz dHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/ xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEK FiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SF hoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo 6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOmooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigArPupHW4YB2A44B9q0Ky7w/wCkv+H8q0p7mFf4RPNk/wCe j/8AfRo86T/no/8A30aizRmt7eRyX8yXzpP+ej/99GjzpP8Ano//AH0aizRmi3kPm8yXzpP+ej/9 9GjzpP8Ano//AH0aizRTsPn8yXzpP+ej/wDfRo86T/no/wD30aizRmjlQc7JfOl/56N/31R50v8A z0b86izRmlyoXMyXzZP+ej/99GjzpP8Ano//AH0ah5oyfWiyC8ibzn/56P8A99GjzpP+ej/mai3K OrCk8xfXNK0RrmJvOl/56N+dHmy/89W/76NQ+Z6KTRmQ9IzS90q0ibzZP+ej/wDfRo85/wDno/8A 30ajEc56RmnC3uD/AAfrReI7SHedL2kb8zR50v8Az0f8zQLS5PoKUWVwerClzxHyTE86T/no/wD3 0aPNk/56P/30aeLCU9ZBS/2e/eWlzofs5kfmyf8APR/++jR5sv8Az0b/AL6qX+zvWQ0v9nL3c0c6 H7Ofch86X/no3/fVHnSf89G/76qf+zo/VvzpRp8Xq350udB7Ofcr+fJ/ff8A76pPPf8A56P/AN9V a+wQ+rfnS/YIfc0c6H7KXcqee/8Az1b/AL6o89/+erf99Vb+wQf3aX7DB/cFHOg9lLuU/Pf/AJ6t /wB9Uee//PVv++qufYYP7gpfsUH/ADzFHtEP2Uu5S+0P/wA9W/76o+0P/wA9W/76q79ig/55ij7F B/zzFHtEHspdyl57/wDPVv8Avqjz5P8Anq3/AH1V37FB/cFH2KD+4KPaIPYy7lLz5P8Anq3/AH1R 58n/AD1b/vqrn2GD+5R9hg/u0e0QvZPuU/Pk/wCerf8AfVHnv/z1b/vqrf2CD+6aT+z4fQ0c6D2T 7lbz3/56t/31R5z/APPVv++qs/2fF7/nR/Z8fq350c6D2T7lbzpP+er/APfRpPOk/wCer/mas/2e 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 KKACiiigApaSigBaSlpKACiiloASloooAKKKKACiiigAopKKAFopKKAFopKKAFopKKQBT1NMpwOK Ch9JRmikUhVqVaiFSKaRSJRQaQUGkNCikagUjUDZLbH563bU/KKwLcgN1rbtXXaOaszL606mIc9D T+fSgliilpBnuKWmSFFFFABUMn3zU1Qv940mNDDQKDQKkY6kalFIaRRWn+6ax7r7xrYnPynise6P zHigorClpBS4oKCl/GkxRQANjFQNjNTGompiY3ikPtS0mTTJYlJxSkmkqiApaKSgQUUUUAFFFFAB RRRQAUUUtACUUtFACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLTaM0ALSUZooAKUUlLQAUUUUAF FFFABRRRQAUUUtACUUtFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFLQAmaOtFFAABjpS5NFFACcUYoooAUcdqQ80tFADo5TGetaFpe8jJrNwKTJ HSgDqYriN161JtDdDXMwXLoeTWrbagCADQI0dpFG7FNjkEgzmlbaO9ACgg0tMBFOz70AFJSj60tM BhPtSYzTjTCTQAoXFO4poal69KAFpDQB70poAb3pwOBTOc04jigBkrjFZV5J15q1czbc1lXEu80A QM2TSYpuOacKQxaXNJRQAuaM0lGaAFopM0UALRRRQAUUUUAFFFFABRRRQAlFLSUAGaM0UUAGaXNF JQAtFJS0AFFFFABRSUtABRRRQAtFJRmgBaSiigAoopM0AKaaaKKAADNOAxSClJ9qQCkik5puQe2K APegB+DRgik3YpC3tQBKkpU9a1tPuMkZNYeKmiuDEeDRYDsI3DLT8Vz9nqWSATWxDdI4HNFgLFFI CG6UhzSAdRSCl/GgApM0fjSUAOzRSDNDHaM0ALUclwiDk1XuL0ICKxL28Lk4JpgXL++GDsasaW4k duWNRGRmPJNHB7UABGe9GMUcUUAGTS4BpM0ZoACcdKTdntS0lAC8UUlFAC0UlFMBaSiigAooooAM UUUUAFFFFABRSUZoAWikooAKKKKADNGaKKAFopKKACiiigAooooAKWkooAWikpaACiiigQUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKK KSgQtJRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUlAC0UlFAC0UlLQAUUUUAFFJRQAtFJRQ AtFFFABRRRQAUUUUAFFFFABRRRQAUtJRQAtFJRQAtFJRQAUUUUAFFLRQAlFLSUAFFFFAC0optKKR Q4UtIKWkUgFSLUYp60ikTLQaatOpDEBpaQ0goGxSD2OKfHKY2yXbH1phqNqog2INYgiGH3Gpjr9r 6NXOmkpk2Ou0+/ivvM8sH5MZz75/wq5WF4Y/5ef+Af1rdpksKKKKBBULn5jU1QSA7z6UmNDSaQUb 1UfMRVefUYoR2NKwy0M013CjkgVi3Gs7shOKz5LyeQ/eOKCjeuLuEAjeM1lXEiufl5qkGZj8xqZF 461JQZpaU4FNJ9KChaKTmloAaajapWqFqYmJSYopaZLGEUAUpptMkdxSYoopkhRRRQAUUUUAFFFF AC0UlFAC0UUUAFFFFABRRRQAUUUlAC0lFFABRRRmgAopM0UALSUUUAFFFFAC0UUUALRSUUALRSUU ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lFABRRRQ AUUUUAFFFFABRRRQAUtJRzQAtFJzRQAUUUUALRSUUALRRRQAnXvTlyvINJxSc0gLUN6yHGa1bWdZ R8zVgAU9J3Q/KaYHUBUI4OaXAHase0viMbjWnFcLIOtAE2RS0BR1zQSBTAYwqFiQakZqjPJoAcnN PApiCpKADBpcUmaA1ADjxUUsuFNPY8VRuZMZoAo3s2Saobsmprlsk1XXrSAdilpKKAFopKWgAoxR mjNABRRmigAozSUUALmjNJRQAuaM0lFAC5opKKAFopKWgAooooAKKSigBaWm0UAOpKSigBaKSigB aKSjNAC0U3NGaAFzRmkzRQAtFJRQAtFFFABS5PpSUZpAL17UmPejNFAC8DvSFvakxS4pgAOaCBRR QABivSrVrdurDJqrjNKPlpAdLaX4IAJrQjkEgzXJW85DCt+ynyo5pAaJFNNKrBhQRSASlFJilFMA JxVe4lIU1NK+1c1kXl4BkZoAoX87bjzWfvJPNS3MvmGoBTAfn2o4ptFMBeKTFJmlzQAUUZpM0AOz SUmaUUAFFFJQAtFJRQAtFJRQAtFFFABRRSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFLSUUALRSUUALRRRQAUUUUAFFJRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJRRQAU UUUALRSUUALRRRQAUUUUAFFFFABSUtJQAUUUUAFFFJQIWikooAWiiigAoopKAFopKKAFpKKWgAoo ooAKKSigBaSiigAooooAKKKKACiiigBaKSigBaKSigBaKSigBaKKKACiiigAooooAKKKKACiiikA UUUUALRSUUALSUUUwCiiigApRTacKRQ6lpKKRSFFPWoxUi0mUiRadTBS0himkopaBiGo2qQmomNM kYaSgmkqiTe8L/8ALz/wD+tb1YPhf/l5/wCAf1repkPcKKKKBBWFqeqvb3skIUYXH8ga3a5LXR/x Np/+A/8AoIoAjn1CSXvj6VVZy3Viab0pQaBoQkDtQHpSRTcUiiRSKnQ1XUVOlSWOP0oozRSKQZoo ooARqiapjULUCY2jNFFUSxpJ9Kbk+lPNNpkBk+lGT6UtFMkTJ9KNx9KWigYm72o3e1LRQAm6jdS8 UcUAJuFG4UvFHFABuFGRRxRgUAGR60ZFJtFG0UAGaM0uBRigBMmjJpcUlABmjNFJmgBc0maM0UAG aKKKACilooAKKKKAClpKKAFopKWgAooooAWikooAWikpaACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADNGaKKAFpOKKKACkpaOKAEyaM0 7ikoAM0ZoxSYoAWl5pMEUZNIBcjvScdqNy96UEdqYCfMOlWbe5aM8mq5puCaAN+2vg+BkVeXDLnN ctG5jOc1oW1+2QCaANVxio92OtSQzJIvNEkYPSgARhUnBqvtK04PigCQikGRQrg0/IoAjkchelZd 1Jya0pvumsm66mgClKcmoxTn600UwFopaSkAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUlFAhaSiigAooooAKKKSgBaSiigAooooAKWkooAWiiigAooooAKSiikMKM0uKMUwDNF FFABRilooAAKD0pC2Kcg3nFIAi+9W3ZB8DAqna2WSDW7aQKiikBLCDjmpjxSHA6UdaQBR0o6UZzT ArXj/Ia5q+Y7zXSXa/Ia5u9HzmmBUBp2aaKKYDqSkooELikoooAKMUUUAJS0UUAGaKKKACiiigAo pKKAFzRmkooAWiiigAooooAKKKKACiiigBKKKKAClpKKACiiigAzS5pKKAFzRmkooAWikpaACiii gAooooGFFLRQAmKKWigAoozRmgAopKKAFopKKAFopKKAFopKKAFopKKACiiigAoopaACiiigAooo oAKKKSgBaKSloAKKKKAEooooAKKKKAEooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRS4pAJRS4oxQAlFLij FACUUtFMBKKWkzQAlOFJxSjFIodRRSUikKBUiioxT1pMpEgpaQUtIYZoo4o4oGwNRNUp+lRN9KZB GaTNKfpSY9qok3vC3/L1/wAA/rW9WD4X/wCXn/gH9a3qZL3CiiigQVyeuf8AIWn/AOA/+giusrk9 c/5Cs/8AwH/0EUAZ9FBooBAabSmkwaRQ9anWq69anSpNB9FFFIpBS0UooGNIqJhU56VE1CJZHSUp FJzVIliEUmKU0ZpkBikxTqSmSGKMUUUAGKMUUUDDFGKKKADFJilooATFGKWigAoxRRQAmKMUtFAC YoxS0UAJijFLRQAYpMUtFACYoxS0UANxRg06igBuDS4paKAExRilooATFGKWigBMUUtFACUUtFAC UUtFABRRRQAlFLijFACUUuKKAEpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAyKXikpaQCcUhpaKYCClwaM0ZNACEGhXKmlG aOKALMF4ykDNa9rdBhya57ABqaKcqcAmgDpS4YcYpjJmqVnKWAyav54oAjCladuoJpABQBHKpIrN uFOTWswBFU54s54oAxpAc00VYuIyDVboaAHUUmaWgQUUUUAFFFFABRRRQAUUUUAFFFFAwooooAKK SigBaKSigAopKKAFopKKBBRRSUALRSUUALRSUUALSZoooAM0tJRQAtFJS0AFFFFAC0UlFIBaKTNL mgYtGKTNGaYBilxRmigAoJoooAY2afAGLcUhqxasqsM0gNKzjfjmtm3BA5qjaXEGAOM1oIysPlpA SHHpTSBSE/WkHNIByihzgdaVQahuGIXpTAq3kvyn5q5+7bLHmtG8mPPFY87EtTAaKKFNKTTASiii gQZozRSUALmjNJRQAuaM0lFABRRRQAUUUUAFFFJQAtFJRQAtFJRQAtLSCloAKSiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKWkooAWikooAWikooAWikpaACiiigYUUUZoAKKKKACiiigApK WigAoopKAFooooAKKKKACilooAKKKKACikzRQIWkoo5oAKKMGigYUUUUAFFFFABSUtJQIKKKKACi jj1FHHqKACiijB9KACilwfQ0YNACUUYo20AFFG2lxQAlFLijFACUUuBRxQAlFLxRxQAlFLRQAlFL RQMSilooASloooAKMUUUAFFFFABRRRQAtHFJRQAuaM0lFAC5pM0UlIBaKSigBaKSlpiCiiigAooo oAKKKKRQop1NFOpFIKctNpy0mUiVaU0i0GkMKBSUooGwNManmo2pkETUgpWpKok3/C//AC8/8A/r W9WD4W/5ev8AgH9a3qZLCiiigQVyeuf8hWf/AID/AOgiusrmdYtZ5NSmdI2Knbggf7IoAyjSVObS cdYn/Kmm3mH/ACyf8qLgiKg08wyj/lk//fNJ5cn/ADzf/vmkUMXrViPpUawyd0b8qmUFeqn8qksd SUE+1Az6frSKQtFGDSUDFNRNUhNRsPemJjCaTNKeKaSKZLEJpuacee9Jt96ZAZozS8Un4UyQzRmj 8KOaADNGaKX8aBhmjNGRRmgApaSl/CgAooooAKKKKACiiigApaSigBaKSigBaSiigAooooAKKKKA CiiloASilooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiijigAoo+lHNABRQMd6XigBKKMH1oBHTBNIAoqVIJJPuoaf9huD/BQBXoqZ 7WZOq1EVYdVNACUUYNFABRSZpQfai4BRS0mPegAoo59KMUAFFGPek49aAFxRigYpfwpgJikNO/Cm mgAHJqeGHcelRRpluta9nbggUwH2kGAKvbdooSPaKcTQBHkHtShRS8Gl2igBNopki8dKf0prtxSA ybuLJNZ7ptNal2c5rNk60ARZp1NpaAFopKKLALRSfjR+NFgFopPxoosAtFJRRYBaKMH0ooASijj1 o49aAEoox70YNAgoo/Cj8KLAFFFJ+VAC0Un4il49aQwpKPxo/L86BBRRkUZFMAooH0/WlI9qAEoo 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 RVWRpyR7Enny/wB79BR58v8Ae/QVHRRYOVdi3bSblKk5IqaqMT+W4b86vA5GRUtGNSNmFUrj/XN+ H8qu1SuP9c34fyoiFPcjoooqzoCiiigDRooorI4wooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAhooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooA SilooASk3L6ilb7p+lPsrP7Xv/ebNuO2c5qW7Boldke9fWk8we9aY0iDAy8hPfBH+FPTS7Zc5DPn +83T8qV2T7SBju4ZSAOtRbfeuhWwtUYMIRkepJH61HfWUb2zeVGquvzDauM+1F5IarRvZGARg0U5 h3ptbRd1c6BVGTViG0mmGY4iR69B+ZqBetdBpn/HhH+P8zWc/iMqs3FXRlf2bdf88f8Ax4f405dN umbDIF9ywrdoqbHP7eRgXNjLbRh3ZCCcfKTUEaGSRUGMsQBmtfWf+PVf98fyNZdr/wAfUP8Avr/O pa1N4Sbjdl5dHYqN8wB9AuRS/wBj/wDTf/xz/wCvWpRVWRze1n3Mv+x/+m//AI5/9enJo6A/PMzD /ZGP8a0qKLIPaz7nNTII5pEGcKxAz9as6daR3XmeYWG3GNp+tQXX/H1N/vt/Or+if8tv+A/1qVud M21C6Jf7Jt/78n5j/Cj+ybf+/J+Y/wAKv0VVkcvtJ9yh/ZNv/fk/Mf4Uf2Tb/wB+T8x/hV+iiyD2 k+5h6jaR2vl+WWO7Odx+lUD1Na+t/wDLH/gX9KyD1NVT3Z2Um3G7BRk1p2OnrcQ+ZKzAE/KFxVCF C7qgxliAM10kUaxRrGg4UYpSd2RWm46Ip/2Tb/35PzH+FH9k2/8Afk/Mf4VfopWRze0n3MbULGK2 hV0ZyS2PmI9DRFZwfYPtMjPnB4BGOuB2q1rP/Hqv++P5GqEtx/oEMCn1ZvzOB/n2qWbxcpRWvUSw tRdTFWLBFGSRWh/ZNv8A35PzH+FS6db+RbDIw7/M3+FWqaRnOo+bRma+kRnHlysvruGf8Kb/AGP/ ANN//HP/AK9alFOyJ9rPucxOnlyOmc7WIz681FVi8/4+Zv8AfP8AOq9aU9jujsFFFFaFFmI4hB+t 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 nbRRt96XtIhcdK5ZI89cdf8AP0qOnbfejbQpxErIbRTtpo2mnzx7juNopdpo2n0o5l3ASil2n0ow fSjmXcBKKXB9KVVywB4B707oBtFSmDniRMe5prxlMcqc+houhKSYyiiimUFFFFABRRT1idlyq5B9 6BN2GUVJ5Ev939RTGUq2GGCKQJpiUUUUxhRRRQAVoMQoJJwBWfVq6bCBfU1LMpq7SIJJDI2T07D0 plLg+lG0+lF0jTRCUUu0+lG0+lHMu4CUUuD6VcgjCoDj5iOTRdEylyopUVaulGwMBznk1VppjjLm Vwopdp9KNp9KXMu4xKKXaaXaaOaPcLjaKXaaSmmnsAUUU5QCKG7K7AbVy2fdHjutRLbSuoZIXYHu FJFSxWV02dkLrj1+X+dZuaZnNprclqncf65vw/lVsadduwDLgerMMCn/ANk3H9+P8z/hUqbXQiMo xe5mUU9ulMrWLurm4UUUVQzRopaKyOMSilooASilooASilooASilooASilooASilooASilooASil ooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooASilooAS ilooASilooAgooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA FooooAKKKKAEb7p+lXdE/wCW3/Af61Sb7p+lXdE/5bf8B/rUPcmfwM1KKKKZyhRRRQBg6jb+RcHA wj8r/hVHpXQ6lAJrVjxuT5gf51gMO9ODs7HdSnzRBetdBpn/AB4R/j/M1z69a6DTP+PCP8f5miXx EYj4S1RRRSOQoaz/AMeq/wC+P5Gsu1/4+of99f51qaz/AMeq/wC+P5Gsu1/4+of99f51D3Oul/DO joooqzkCiiigDnLr/j6m/wB9v51f0T/lt/wH+tULr/j6m/32/nV/RP8Alt/wH+tQtzsqfwzUoooq zjCiiigDL1v/AJY/8C/pWRjLVr63/wAsf+Bf0rKA5JpJ2udtH4DR0eEtM0xHCDAPuf8A63862Kgs ofItkQgburfWp6EctSXNK4UUUUyChrP/AB6r/vj+Rqhp1v59yMjKJ8zf4Vb1mUbEh753H27VLpEQ S18zvIefw4qep0J8tIvUUUVRzhRRRQBzd5/x8zf75/nVerF5/wAfM3++f51Xq6ex6UdgooorQomz +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 7KZs1HNPFAu6Vwo/U1iveXc3R2Az/CMY/GoxC7klzyTyTyaL32KVG3xMt3Oqs4KQKUB/iPX/AOtW eyFQCRjNWkiRecZPvSTRmTGCOPWnys0i4x0Rs2v/AB6w/wC4v8qPtNv/AM94/wDvsVg/Z39VpRbn uwH0o17Eezjvc3ftNv8A894/++xUR1C1BIMo49ATWR9m/wBv9KUW47sT9KLMXs4dxbuRJr4vGcqS MHHsKlqNYFVgcnipKqKsVJrRIR13KVPeo7K7a0djt3BhgrnHNS03Yp/hH5UNXBNWsyRtXmLHZGgH ock0x9TunxtKp/ur1/OgKo6KB9BS0uV9w9xdBhvb0ggu3PooH9KYJLsjPmy/99mpqKOUfMuiIYI2 RiW44xU1FFUlYlu7uFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASilpKACiiigAooooAKKKKACiiigCGiiim ahRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiig AooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKBBRRRQA UtJS0AFFFFABSUtJQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiloo ASilooASilooASilooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKB BRRRQAUUUUAFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAIVU9QD9RSbE/ur+VOopBcbsT+6v5UoUDoAP pS0UBcKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUlLSUAFFFFABRRRQAUUUUAFFFFAENFFFM1CiiigAooooEFFFFABRRRQAUUUUAFFFFABRS0UA JRS0UAJRS0UAJRS0UAJRS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiigAooooAKKKKYBRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAopaKAEopaKAEopaKAEopaKAEopaKAEopaKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKWgQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACilooASilooASilooASilooASilooASilooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKK ACiiigAooooAKKKKACiiikIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopaACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACkpaKAEooooAKKKKACiiigAooooAhooopmoUUUUAFFFFAgooooAKKKKACiiig AoopaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopAFFFFABRRRQA UUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigQUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUtACUUtFACUUtFACUUtFACUUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFF ABRRRQAUUUUAFFFFABRRRQIKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAlFFFABRRRQAUUUUAFFFFAENFFFM1CiiigAooooEFFFFABRRRQ AUUUtACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiig AooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIWiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigQUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAF ooooAKKKKACiiigAooooAKKKKBBRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKAEopaKAEopaKAEopaKAEopaKAIKKKKZoFFFFABRRS0AJRS0 UAJRS0UAJS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUt FAhKKWigBKKWigBKKWigBKKWigBKKKKBhRRRQAUUUUAFFFFABS0UUCCiiigAooooAKKKKACiikLB RliB9aAFopAQRkEEe1LQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUCCiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACikVlb7rA/Q0tABRRRQAUUUUAFFFLQAlFLRQAlFLRQAlFLRQAlF LRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRSEhRkkAeppFdWOFYE+xouFh1FFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiigkKMkgD1NAwooB DDIII9RRQAUUUUCClpKWgAooooAKKKKACiiigAopGZVGWIA9zQCGGQQR6igYtFFFAgooooAKKKKA CiiigAoprOq/eYDPqaUEEZHIpXAWiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUjOq/eYDPq aWgAooooAKKKKACilooASilooASilooASilooASloooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRSAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiimAUUU 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 uW37sjHSp6iEHycrLnP3+ZFGymVMo5AB5BNXiQBknAFVpbNHOUOw/mKjFicnMgx24pR54q1rjlyS d72GXUnnTBU5A4HuavRoERVHYYqOG2SLkct6mpqqEWm5PdkzkmklsihL/wAf4/3l/pV+oHtt1x5u /HIOMelT0Qi03cJyTSsQ3n/Hs/4fzplh/qT/AL39BU00fmxlM4z3pLeHyUK7t2TnpihxfPcXMuSx Vv8APmr1xt4q5EVMSbTlcDFJLEky4bt0I6iqv2Ftw+cbfXHNTaUZNpXuVeMopN2sOv5F2iMH5s5P tTrD/Un/AHv6CgWSCMjdlj/ER0qW3h8lCu7dk56YojGXPzMHKPJyojvgTBkdmyaSxkBi2EgMDwPW rLAMpB6EYNU3seux/oCKclJS5ohFxceVliadIRyctjgetUbP/j5T8f5VZis0Rsud/oMYpyW22483 fnknGPWpcZyabGpQimkTMQqknoBk1RUG7uckfIP0FW54jMgUPtGeeOtEEIhQgHJJ5OKuUXJpdCYy UU31Kt7AFIdFwvQ4HSrNtL50eT94cGpGUOpVhkHtUEFqYZNwkzxgjHWlyuM7rZhzKUbPdFiiiitT IKKKKACiiimAUUUUAFFFFABRRRQAUUUUAQ0UUUGoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFAgooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooA KKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU tJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUCCiiigAooooAKKKKACiiigYUUUUCCiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAqtfAmEezVZoqZLmVhxdnchtP8Aj3T8 f51NRRTSsrA3d3CiiimSFFFFABRRRQAUUUUAIyhlKnoRiqKpPbvlV3Z9OQav0VEoc2pcZ8uhTN82 3hBn1zxTTHPcvlxtA9eMfhV6ip9m38TK50vhQiqFUKOgGKWiitTIKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkpaACiiikAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQBDRRRQ ahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBKKWigBKKWi gBKKWigBKKWigAooooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUtFACUUtFACUUtFACUUtFACUtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAWii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRSAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtFMAooooAKKKKACiiigAoo ooAgooooNQooooAKKKKACiiigAooooAKKKKACiiigApaSloEFFFNdgilj0FGwDqKZFKsoO3PHrT6 SaauhtW3CiiimIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopa KAEopaKAEopaKAEopaKACiiigAooooAKKKKACiiigAooooAKKKQkAEnoOaAFoqOKdJSQuQRzzUlJ NNXQNNbhRRRTAKKKKACiikY7VLHoBmgBaKjimWXO0EY9akpJpq6BprcKKKKYgooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKbI4jQsc4HpSRSCVdyggZxzSur 2HZ2uPopksgiXcwJGccUsbiRAwzg+tF1ewWdrjqKKKYgooooAKKKKACimSyCJdzAkZxxSxuJEDDO D60rq9h2drjqKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooJCjJIA9TQCCMjkUAFFFFABRRR QIKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooJAGTwKQEMMggj1FAC0 UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFLSUtABRRRQIKKKhFzGZNihmOcZA4pNpbjSb2JqKKKYgooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACikLKpALAE9MnrS0AFFRTXCQsFYMSRnipaSaeg2mtQ opNyhgu4bj2zzS0xBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF LSUtABRRRSAKKKKACiioftMfm+XznOM44zSbS3Gk3sTUUUUxBRRRQAUUUUAFFFFABRRRQAUVDNcJ CwVgxJGeKmpJp6Daa1CiiimIKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRUMdyJJzGqkgf xUm0tykm9iaiiimSLRRRQAUUUUAFFFRtNEmdzrx1GeaG0txpN7ElFMSaN8bXBJ7Z5p9CaewNW3Ci iigQUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAgooooNQooooAKKKKACiiigAo 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 ACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAK KKKAIJ7YSncDhv0NRCO6j4Vsj6/41corN003ctTaVimLeeT/AFj4GehOasxRLEuF/Emn0U4wUdQl NvQKKKKsgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigApaSloAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIQUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBDdrI8W2MZyeeaLWExR4bG4nJqaip5Vzcx XM+XlCmyKWjZR1IIp1FUSVrOJ4t+9cZxjmrNFFKMeVWRUpczuwooopki0UUUAFFFFABRRRQAEAjB GQaqwWzwzFgVKHI98VaopOKbTKUmk0FFFFMkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKYBRRRQAUUUUAFFFFABRRRQBDRRRQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooopCCiiigBaSlooASilooASloooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFAENFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFMllWIDdnn0pNpK7BK+w+ioPtcfo35Ufa4/RvyqfaQ7lckuxPRSKdyhh0IzS1ZIUVE9xGvfcf am/a4/RvyqHUiupXJLsT0UyOZJOh59DT6pNPVEtNbi0UhIAJPQVElzG7BeQT0yKHJLRjSb2JqKKK YgoqJZ1aXywDnJFS0k09htNbhRUMlwkbbSCT7U37XH6N+VS6kVpcfJJ9CxRUQniJwHH48VLVJp7C aa3CiiimIKKjlnSIgNkk88UsciyLuXPpzU8yvYdna4+iio5ZliIDZJPpTbSV2JJvYkoqv9rj9G/K j7XH6N+VT7SHcrkl2LFFV/tcfo35VLHIsi7lz6c01OL0TE4tbj6KiWdWl8sA5yRUtNNPYTTW4UUE 4GT0qFrmNTjJb6UOSW40m9iaiq/2uP0b8qljlSQfKefTvSU4vRMHFrdD6KKa7BFLN0FVsIdRUUdw kjbRkH3FS0k09UDTW4UUVFFOsrbVBzjPNDaWgWbJaKDkggHB9aq20jCQxuST2yc80nKzSfUajdNl qiiiqJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqBbpWk2hTgnANS 5JblKLexYoooqiQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii 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 BYr5Q3DttOavUVHs7fC7F+0v8SuVIDcvMrSAhATx0q3RRVxjyrczlLmexRsY3WYlkYDb3FXqKKIR 5VYc5czuFFFFUSFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAhooooNAooooAKWkpaAC iiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRSAKKWigBKKWigBKKWigBKKWigBKWiimAUUUUAIQGBB6HimpGkedgx nrzT6KLLcLsKKKKACiiigAooooAKKKKACiiigBCAwwQCPQ1C1rEegK/Q1PRScU90NSa2IVtY1OcF vqalAwMDgUtFCilsDbe4UUUUxBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQIKjECCXzBnPXHapKKTSe402tgooopiCiiigAooooAKKKKACiiigAooooAKKKKAClpKWgAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooAS ilooASilooASilooASilooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFACEZGKiito4m3DJPv2qaik0m7sabSsFFFF MRE1ujSiTkMMHipaKKSSWw229wooopiCiiigAooopAFFFFABRRRQAUUUUAFFFFMAooooAKKKKBBR RRQAUUUUgCiiigYUUUUAFFFFABRRRQAUUUUwCiiigAooooEFFFFAwooooAWikopDCiiikAUUUUAF FFFMAooooAKKKKYgpaSloAKimtkmYM2QQMcGpaKlpPRgm1qgoopaYgooooAKKKKYgooooASilooA SilooGJRS0lABRRRQAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiloo ASilooASilooASilooASloooAKKKKBBRRRQAUUUUAFFFFABRRRQAlFLRTGJRS0UAJRS0UAJRS0UA QUUUUGgUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUwCiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AF FFFIAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUALR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii kAUUUUAFFFFABRRRQAUUUUAFFFFMAooopiCiiikAUUUUgCiiigAooooAKKKKBhRRRQAUUUUwCiii gAoopaYhKKKKQwooooAKKKKQwooopDCiiigAooopiCiiloASilpKYgpaSloAKKKKQgpaSloAKKKK BBRRRTAKKKKACiiigAooooAKKKKBiUUUUAFFFFIAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigBaKKKACiiigAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRTGFFFFA BRRRQAUUUUAQUUUUGgUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUCCiiork4gbFJuyuNK7sS0 VVsjw47cVapQlzK45LldgoooqiQooooAKKKiuv8AUN+H86TdlcaV3YloqvZ/6o/71WKUXzK45Kzs FFFFUSFFFFABRRRQAUUUUAFFFFABRRRQAUUVUuZHaTyl4HTjvUTkoq5UY8zsW6KqC0dQCrgNVuiL b3VgkktmLRRRVkhRRRQAUUUUAFFFFABRRRQAUVXvT+5Hu1Fkf3J9mqOf3+Url93mLFFFFWSFFFFA BRSMwVSzHAFIjrIMqwNF1ewW6jqKKq3E8iS7V4A9utTKSirscYuTsi1RSISUUkYJHIpaoQUUUUAF FFFABRRRQAUUUUAFFFFABRVKy/1p/wB2rtRCXMrlTjyuwUVQXJu/lP8AHnj0q/RCfNcJR5QoqlZf 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 KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUC CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooEFFFFABS0lLTAKKKKACiiigAooooAKKKKACiiikAUUUUDCiiigAooooAKKKKBBR RRQAUUUUAFFFFMAooooAKKKKACiiioZQUUUUAFFFFAgooopgFFFFAhaKKKACiiigYUUUUAFJS0Ug CiiigGFFFFMkKKKKACiiigBaKKKYBSUtJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooEMaKNjlkUn1IpyqFGFAA9BS0UrId2FFFFMQUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAENFFFBoFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJRR RQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAWiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABR 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 woooqyBksYljKNnB9KSGJYUKqSQTnmpKKVle47u1gqFrZGm80lt2QfbipqKGk9wTa2CopoI5vvDn 1HWpaKGk9GCbWqKgsI8nLtjtUz28bxiPG1Qc/LUtFSoRXQpzk+o2KMRRhFzgetMngSfbuJGPSpaK rlTVieZp3ERQiBR0AxQ6h0KnoRilop26Cv1IoIEg3bSTn1qWiikkkrIbbbuyFrZGm80lt2Qfbipq KKEktgbb3GSxJMuHGfQ+lVzYJkYdgO+eat0UnCMt0NTlHZldbKEHnc3sTViiimoqOwOTluQtbI03 mktuyD7cVNRRQklsJtvcKjlhjlHzrz696kooaT0YJtbFU2EeRh2x3qSK1iiOQNx9W5xU1FSqcVqk U6kno2FFFFWQFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUARUUUUGgUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK WiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUU UAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKAFooooAKKKKACiiigAooooAKKKKACiiikMKKKKYgooooAKKKKACiiigAoopaAEooNJSGFFF KKQwApwFAFPApDG4ptSEUw00TISiiiqJCiiigBKKKKBhRRRQAUUUUAJSiilpDFFLSClpAIaSlpKA EpwpKKQx4pppN1GaYBRRRSGLQKTNOTrUtlJEqLmp0jpsS5q1GlTcdiMRVFLHgVe2VFLHkUrjsZbj mm4q28PNRmPFO4rEFFPZcUw1VxWCikzRmqRLClpKWqRLDNFJThTEJRS0UhCUUtFACUUtJQAUUUUw CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAiooooNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUU CCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSlo AKKKKACiiigAooooAKKKKACiiigAooooEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIYUUUUxBRRRQAUUUUA LSUtJQAtFApaAGmkpTSUhgKeopAKlRakoAKdinBaXFIZGwqI1M1RNVIiQ2ilpKokKKKKAEooooGF FFFABRRRQMKWikpALRSUUgFooFLikMSkNPxRtoAiNOFO2ZqRI6VyrEYFBFWBHSGOk2NIrgVLGOaU R1NHHzUtlJE0K1bjWo4Uq0i1LZSiN200pmpSKQCp5h8pWeKq8kdaLLxUEiU1IXKZkiVAy1oyRVXa Gr5ieUpYpQKsmGk8qqTIaIMUuKlKYphGKpMloZThTTTlqriaFopcUYoJG0UtFADaKWkoASiiimAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF AEVFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTJnMcTMBkin1Fdf8e7fh/Opk7RbHHV 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 BNAMilqnNVqQ1UlpolkBpQKMU4CrJExQFqQLShaoQItTKtNUVKopDHKtSBaRKkxUMtDQtSAUgpwq GWgprU6mmpKG0tJRSGLRRRQIcKWkFFAwopKKACkopKACikooAKKSimAtJRRQIKKKKACiiigBKKKK ACmmnUhpoljCKawqSmkVoQQsKiIqwwqMrTJIcUYqQrRimSRkUxhUpFMYUxERpKeRQBTQDcUYp+2k IqhDKKU02mIWiiimIKWkooELRRRSYBRRRQgCiiimAUtJRTAWikpaAEoooqQCiiigAooooAKKKKYC UUUUxhRRRSEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFAEVFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFAB RRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigApaSloAKKKKACiiigAooooAKKKKAFFBpKKACiiigAoopKAClFFAoAUUtA ooEIabTjSUrgJSgUoGamSPNK4DUWrEaUqRVOqYpXECoKfsFJnFIXpAKVFJik30A5ouAYpMU+kxSu IbilAoxRRcBwFG0Um6k3UXAGUVEy1LmkxmncCuy1E61cK1C6UwKbCmirDJURXFMq4LT+1MHFOzTA a1MNSGmEUwAUUUCmMKWjFFAgooopAFFFFABRRRQIKKKKAFooooAKSlpKACiiigAooooAKKKKBhRR RQIKKKKACiiigAooooGFFFFAgooooAKKKKBhRRRQAUUUUAFLSUtAgooooAKKKKACiiigAooooGFF FFABRRRQAUUUUCCiiigApaSigAoopaQxKKWigLhRRRQFwooooC4UUUUwuFFFFAXCiiigLhRRRQFw ooooC4UUUUAFFFFIQUUUUwCiiimIKKKWgApRSUooAQ0Cg0CpYDxT6YKdUlXDNOU1GTSqaixomWoz VhTVSM1YQ1LRaZNmmsaTPFMJpWBsRzVaSp2qB6EIjp6im09aoQ8ClApVpwFUKwAU8UAUUrlWJEqU VCpp4NSy0h9LmmZpc1DKSHZppozRUjEoopKQDqKTNGaBXHUZpuaM0DFzRSZpM0DFpKM0lABRRSUw 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 hpaSmAlFLijFO4WCilpKdxWEYVEwqU00incViHbTgtOxSgU7k2ExUbrU1MYU7isVmWmEVYZaYUqk yGiHFJipitMIqkS0R0lONNNUiWhKKKKokSiikpiCiiikMKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAhooooLCiiig ApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigQUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFADhSGgUGqGC049KaKUmkA00Cg0CpYD1HNW4FqvGKtRcVLE TMMCmL1pxORSKOakRMg4p4FIg4p4qQHLThTRThSYDqKSlpABpppaQ0AJQKKKBoWikooGLRRRQAUU lFAhaKSimAUUUGgQxqcgpCKclDEKw4qvKOKsk8VBJzTQFMj5qlUfLSMvNGcCqEV7gVUYVcl5qs60 DRFRS0VcSgopaKoBKcKbSigBaQ0ZpM0AFFJSigBaKTNGaAFopKWgAoopaAEopaKACkpaSgAooopA LS0lFABSUtFACUtJRQA6g03NGaAFpKWimISilooASilooASilooAKKKKBBRRRQAlFFFAxaKSnCgQ lJT8UhFIY2kpaKAClpKKAFpKKKAClpKKAFoxQKcBQAgFLinbaXFJiI8UbalC04JSAg20m2rPl0vl UDKu2l21Z8qjyqAK22jbVjy6PLoEVttG2rHl0hjoGQ4pcVIVppFMQ2lpDSZoAdSUmaM0ALRSUooA KKWiqEJRQaTNAxaWmZpQaQx1FFFIApwpmacKQAabTjSAUgHKKkApiipBQULSGlpKRQlGKWjFBaEp aKKBMM0oNNozTAkBp2aiBp2aQh5NNJppamlqQDs0Zpm6jdQIVjTc0E03NICQGnA1GDTgaBj80Zpt LSKQuaUGm04UFDhTqaKWkMWiiigApaSikAtLSUUhi0UUUgFooopDFpaSloGFLSUtIBRS0gpaBhS0 lLQAUUUtABSUtJQMKSlpKBBS0lLQAUtJS0AFLSU6gBtIadSYoGNNJTiKTFMQ3FFLRTEJRilooJGE U0rUpFNxVolkRWo2FTsKicVaIZXaozUj1EatEsKWminVRmIaQ04000yQooooAKKKKACiiigApaSl oAKKKKAEooooGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFAENFFFBYUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRTXkWMZc4HSlRldQynI NF1ew7dRaKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRR QAUUUUAFFFFABRRRQAUUUUAFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFFLTa cKoYUlKahM8YfZu+bOMYqW0tws3sSUqjmkFSIOaTETRCpxxTIlqQ8VLEOHNPQUxKnQVID1FOqr/a Fotx5BmHmbguACefTNWqm4NNbiilpKKQh2aM03NLmkMWikooAKKWkoAKKKKZQUUUUAFFFFAgoooo AKKKKBCUooooEBphGacaTFNARMtQPxVthxVSXrTuIjIzUEq1YAqOUUwKhHNFKwpuauJSFopM0tUM SiloxQAlJTZJ4o22s+D6Yp+KV0x2aEpaMU4CmIYaKfikxQMQUooxRQIWlpKKAFpKM0lABRRQKAFp KdikNIBKKDSUALS0lLQAUhpaQ0CG0ooxSigYtFFFMQUUUUAFFFFABRRRQIKKKKACkoNFIYUUopcU ANpwpDRmgB9IaAaKBDcUU7FJigBtJT8UmKB3EoopyikAmKApqZUzUqxUXArqlSKtTiKjZii4iLbS hKnCU7ZSbE2QhaeFp+2k6UCuAUU7AqtPewW7hJZNrEZxgmp91K6HqtR2BSFRSbqM0xXEK0m2nZoo C4m2mlakpKAuQstRstWStNKUBcqFaaVq0Y6aY6AuVsUYqYpTCtA7jKUUuKQ0XAWlpmaXNVcANNNO oxQMZSilxSYoGOFFJS0gEp603FOFIBTQBRSgUgHKKeKaBT6ChKKKKRQUuKBS4pFoTFIRTsUjYUEk gAckmmhMYaSoWv7UEjzRx6Ampgyuu5WDA9wc0XT2BprcKXNJRTsTcQmmk0ppppWFcM0uaSlosK4h oFBprusa7nYKPekO5IKcKrLeW7HAlGfcEVYFLR7D1W44UtIKWiw0xacKbSikWPFLTRTqRQtFJS0A FFFFIBaKKWkMKKKWkAUUUopDFooopDCloooAWlpKWgYUtJUCX1s9x9nWTMuSNu09R1oAsUtJS0wC kpaSkMKSlpKBBS0lLQIKWkpaQxaWkpaYwoopKAA0004000wGmilpKCQpaSlpiA0mKdSYq0S0MIqJ xVgioJBVoloqyVCamkqBqpGbAU6minCrMwNNNONMNMQtFAooAKKKKBBRSMyopZjgDqaSKVJQSjZx 1pXWw7O1x1LRRQIKKKKAEooopjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigCGilooLEopaKAEpaKKACiiigAooooAKKKKACiiigAooqOadYRzyT0ApNp K7Gk27Ikoqp9u/6Z/wDj1TwzLMCQCCOoqY1IydkxuElqyO+/1I/3qfaf8e6fj/OmX3+pH+9T7T/j 3T8f51K/iv0Lf8P5ktFRTzrCOeWPQURTb4mkKFQP1q+dXsRyu1yWioILkSttK7T2561PTjJSV0Jp p2YUUyaQRJuIz2Aohk82MPtxmjmV7BZ2uPoqBbkGYxlcYzzn0pr3iA4RS3v0qfaRte5XJLsWaKrx 3is2GXbnvmrFOMlLYlxcdwopGYKpZjgCq7Xqg4VCw9c4olOMdxqLlsWaKrJeqThkKj1BzVkYIyDk URmpbBKLjuFFFFUSFFFFABRVf7WBKUK4AOM5qxSUlLYbi1uFFBIUEnoOTUNvP5xb5MY96HJJ2BJt XJqKR3WNdzHAqsb0Z4jJHucUpTjHdjUHLYt0VVS9UnDIVHqDmrKsGUMpyDRGcZbClFx3Fopkr+XG XxnHamwS+chbbjBx1p8yvYLO1yWiiq/2oef5ew4ztzmhyUdwUW9ixRRVea6WNtoG4jrzRKSirsFF vRFiiqgvhnmPj61ZjcSIGXoaUZxlsOUHHcdRRRVEBRUMtykRK8lvQVF9u/6Z/wDj1Q6kU7NlqnJ6 pFuioYLlJTtxtb0p8z+VGXxnHampJq6E4tOw+iobecTZGNpHbNTU001dCaadmFFRXEwhUHGSe1Pj beitjGRnFHMr2CztcdRUU1wkXB5b0FQ/bv8Apn/49UupFOzZShJ6pFuiooZ0mHHBHUGpGIVSx6AZ qk01dEtNOzFoqp9u/wCmf/j1H27/AKZ/+PVHtYdy/ZS7Fuio4ZRNHuAx2IqStE7q6Ias7MKcKbSP Isa7nOBT2BDLqbyosj7x4FRWsGxd7j5j09hSNfjPyxkj3OKWO8V2wy7c985rDmg5Xua8slG1i0tE 0wt4t5XdzgChetUbq8E8YjCYAbOc1VSXKiIQ5mbNjOtzFvVSuDgg+tTtWHY6h9kiKeVvy2c7sf0r Ws7kXkPmBSuDgjOaiM1JW6hUpuLv0LEY5qPU7v7HabkIErnCf1P+fanPNFbx+ZM4Vc4zVJvECKxC WxZexZ8H8sGlKSWlxQi272JtE077PH586Ymb7oP8I/of8+tatZVrr0MsgSaMw5OA27I/H0rWqY2t oKpzXvISkpaSqICiqd7qNvZMFl3FyM7VHb1/Ss//AISH/p1/8if/AFqlySLjTk1dI3aWsux1mG6k EToYnY/Lk5B/H1rTppp7CcXF2Y6krO1DVhY3KRNCXVlDFg3I5I6fhRfaxb2rNGoMsoOCo4A+ppcy KUJPoaFFYqeIkLjzLZlXuVfJ/LArXilSaNZI2DIwyCKaknsEouO5JRVTUr37DAsvl+ZltuN2Ox/w qE6xbLaxzSbg0gyIxyeuDRdAotq6NGisL/hIv+nX/wAif/WrUsr2G9jLwk8HBU9RQpJ7BKEo6ss0 UlZllrUVwZPNj8kIu7cWyMZx/UUNpCUW9UalFYj+IkDkR2zMvYs+D+WDWzDIJoUlXIV1DDPXmhST 2CUHHcfSVSvtUt7IlGJeXH3F/qe1Z/8Awkf/AE6f+RP/AK1JySGqcmrpG5QKz7LWLe6ZY2BilJwF PIP0NaIqk09iJRcdGDDiqcw5qLU9W+wzrF5HmZXdnfjufb2qzIuaSeonFpJsgApkgouphbQPKQTt 7DvVa0vBeK/yFCuOM5qrq9g5Xbm6CSCoTTbq9EVw0RjyBjnNOODyDkGrhJPRF8rSuwFKKSoYbkSy lAvA75qnJLRgk3qiyKZPIIYmfv2+tOZgilmOAO9VXv1DYRCw9ScUpyUVqyoxbeiEtICzGaUck5XP 86t1UW/UthkKj1BzVrIIyDkGpp8trRHU5r3YtOFMzS5rQgdRVe4ufI2/LuznviiS8jRQeSxGQtS5 xW7KUG9ixSVTGoDIzHx/vVaikWVAynI/lRGcZbMUoSjuLRS1Xmu44iVHzMOw7U3JR1YlFvRE9FU/ t/8A0y/8e/8ArVNDcxzcDhvQ1KqRbsmN05JXaJqBRVdrrbceVszyBnPrVOSW5Ki3sWxSGkzUdxMI Y92M84xQ3ZXYJNuyHmio4JhPHuAxzjFJcTeSgbbuycdcUuZWuPld7EtLVZrtFiVyDlhwtJBd+bIE 2Yz3zmlzxva4+SVr2LVFJmlqyAoqG5uPI2/Lu3Z74pJLuNFB5LEZC/41LnFbspQk9kT0VSGoDPMf H+9VuORZUDIcj+VEZxlswlCUd0OooqvNdxxEqPmYdh2qnJRV2JRctEWKKpf2h/0y/wDHv/rVZhmS ZcoenUHqKmNSMtExyhKOrRJRRVaG8WQtuXYFGc5zVOSWjEot6os0tUjqAB+WMke5xVxGDoGHQjNJ TjLYcoSjuIaQVDPdpGxUAsw9OlRC/GeY+PrUupFO1ylTk1exeWn1DDKsq7kPFOklSNNztgVd1a5n Z3sKabVRtQGfljJHucU6K9R2w67M9DnIrP2kdrl+ymtbFoU4UAVUhvhJIEKbc9DmqcktGSouWqLl JSZpssgjjZz2FNuxNrklJiorafz0LbNuDjrmpJZo4F3SHGeg7mlzK1x8rvYXbUiLVD+1ACcQ5HbL f/WqaDVIWbEqGMeucio9pHuV7KfY0I1qtq8M8luohBZQfnVep9KurgqGUggjII71Be3n2OESbN+W 24zinOzjqKF1JWDSoporMCcncTlQTyowMD2q0RUFrc/aLdZdu3dnjOe+KbfXf2SESbN+W24zikrK INOUrdS2op/FZjatClskpU7nBwg6/wD6s0lnq4ubhYjCU3Zwd2aXOr2JdOdm7GiaYadmkxmqMjB1 v/j7T/rmP5mtnBrH10YvE/65j+Zrd2VnH4mb1PggRYNKBVa71CC1cxkM8g7AdOOMmqn9tj/n2/8A H/8A61U5xREaU5K6RrAUuKqWOoxXbbMFJMZ2k9foau4qk09URKLi7MZS0uKMUxBijFULvVYreQxo pkcHnBwB+PrUA1wZG63IHch8/wBKhzitLmqpTaukaxFMIpsM6TxLKmdretJNPHAm+Vgq9Kq/Uzs7 2BlqNlqi+sruOyAlexLYNLHq8bPiSIovqDmp9pHuaexqb2LRWmMtWY9ksYeMhlboRTLgeXE74ztU nFWQt7FbFFRQ3sckbu48sKQOuc5qFtRXPyxEj1JxS9pFK9zb2c27WLgp1QW9yk4+Xhh1BqKW/RGw g3+pzgU+eKV7kqnJu1i2aQ1Vi1BHba67M9DnIq1TUlLYHFx3EoFQXNx9n2/Ju3Z74okvIo1B5LEA hf8AGk5pFKEnsiyKcKz11EZ+aIgexzVwzxLEJC42HoaSnF7MHCS3RLSis46mMnEWR2+ardrdR3AO 3hh1U0lOL0RThJatFkU6miori7itx85O49FHWm3bcSTexNRWZ/a3/TD/AMf/APrVatL6O5OzBR/Q 9/pUKcWackki2KWgUUwQVma1MQI4VYjPLD19P61euJhbwNKQTt7CsS8uftUofZswuMZzUTlaNi4R u7l6206BrdWfczOoOc4xn0q1DEsEQjUkgetZ8eqeXEieTnaoGd3/ANatImtIcr+EifN1CkqnNqMa HCDzD35wKi/tT/pj/wCPf/WodSK6k+zk+hoGm1FDcxzj5DyOoPWpKpNPYzaa0YtKKqJeBrhomXbg kbs+lNfUlVsJGWHqTip549x+zm3sXTWVdMZ73y93y7go9vWrcl8qQRyCMkvnjPTFZ3m/6R5u3+Pd jPvms6kk7I1owau2aX9nQFAPmB/vZ5NXBVK3v/OmWPytuc87s9vpVi4uI7dQZCcnoAOtWnG10ZtT vaRNS1mnVRk4hyO2W/8ArVJBqcbvtkQx56HOR+NHPF9S1TkuhfrP1WKeQoUDNH/dUZ59a0Kr3l59 k2fu9+7PfGMUp2tqXHfQltFkS3RZiS/ck5ovLoWsPmFS2TgDOKfC/mRI+MblBx6Vj31+LqMRiMqA 2QSetRJ2RoldmvaXK3UXmKpXBwQfWp6wbLUPskRj8rfls53Y/pWtZXQu4fMClcHBGc0RlcTVixRV O61GG2YoQzOOwHT8arf23/07/wDj/wD9ahyQcrNalqlZajFdHZgpJ/dJ6/Q1dpXuK1jEura9fUSV 35J+RwcBV+vatyqEuo+XfC18rOWVd271x2x71fpIphSiqMmoiO/FqYjyQu4H1Hp+NR3GsxRSFYoz LjgtnA/D1pXQWZp0tVrC7F5B5gQoQ20jOaW7voLQDzWO4jIVRkmgCxRWP/b3/Tt/5E/+tVyx1OK8 bZgxyYztJzn6GldDsXaWkpaYBXP2f/IwN/10k/rXQVz9qwXX3ZiABJIST24NJjR0NLWTPrsKNiGM yjuxO0fhS22uQyyBJYzFk4Dbsj8fSndBY1aSimyyJDG0kjBUUZJNMkdSVkza9GrkRQmRR/EW25pq a+pYb7cqvchsn8sUrodmbFLUUE8VxH5kLhlzjNOmk8mCSXGdilseuBQIkorNttYhlt5ZZUMXlkcZ zuz0x78GoP8AhIE34+ztsz1384+mP60rjsbVFMlkSGNpJGCooySayX8QIGIjtmZexZ8H8sGi40bN Jmsu01uOeZYpImjLEBSDuGfetMmgYZpKM1Q1DUxZSrH5Rcldx+bGKAG2erR3Vz5PlMpYnac5z1PP p+taNclZ3H2W5Sbbv254zjPGK27HVxdXKwmAoWBwd2ff0oTE0aVFNmljgiMsrbUXqcZrKk1+MN+7 gZhjqzY/xp3JsbFLWMmvqWG+3Kr3Ktk/lgVrxSJNGskbBkYZBFXFpg0KahkqrfaqbO68l4CVwCGD 9R9PzqzvWSNXU5VhkH2qotMiSK0tV2p1/crbKCRuZugqKKQzRByhTPY1aavYzkna44U4VG7pEu52 wKqtqIB+WIke5xVOcY7kKEpbF40w1Wiv0dtrrsz0OcirJqoyUtiXFx3AUtAoqiQopssixIXc4H86 qHUBk4i4/wB6olOMd2VGEpbImvf+PV/w/nUOmf8ALT8P60TXUc1q4HytxwfqKNM/5afh/Wsm06ia NbNUmmXqKKqy30aHCDefyFbSko7mMYuWxbpKpDURkZi4/wB6rcciyoHQ5B/SlGcZbBKEo7oWiiir JCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCKiiig 0CiiigAooooAKKKKACiiigAooooAKKKKACqD4+2HzBgbv/1VfqGe3EvzA7W/nWdSLktDSEknqTYG MYGOmKRUVM7VAz1xVIie27naPxFWLecTAgjDD9aIzTdmrMJQaV09Bt9/qR/vUkUqxWik9ecD15pb 7/Uj/eqs0R8hJASR0I9OaynJxm2uxcUnFJ9x8ELTt5khO3+dXgABgcCobWYSJtOAy9h6VNWtNJRu jOo23ZmewNvcZA6HI+laAIIyORVW+TIVwOnBp9tKDByfudfpUQ92biXP3oqRDetulVBzj+Zq2ihE VR2FVLcGW5LnoOeefpV2nT1bkKpolEzmQyXDKvUsauxwpGPlHPqetVYv+P4/7zf1q9SpRWrHUk9E VLyFVUOigY4OBUtmxaAZ/hOKW7/493/D+dRWAO1z2zxRa1XTqG9PUbfSZYRjoOTViGFYlHA3dzVO 7/4+H/D+VS+Rc/8APX/x41Kk+du1xte6lexNcxq8TEgbgMg1FYuSrIT05FIbe4IwZcj/AHjT7a3a JyzEdMcVXvOadrC0UGrlmiiitzEKKKKAKN8mJA394VahfzIlbuRzTbpN8J9V5qGwflk/EVgvdqep q/ep+g+9fbFt7sadaR7IQT1bmoLjM10IwenHX86ugADA4FVH3puXYUvdgkUrpjLOIwRgcD61aiiS IfKBnufWqQx9s5zjf2+taNTS1bkx1NEkiG4gWRCQo39jUFi5DlM8EZ/GrtZ1p/x8J+P8qJq04tDh rBplu7/493/D+dMsf9Sf97/Cn3f/AB7v+H86ZY/6k/73+FU/4q9CV/D+ZZrO/wCXz/tp/WtGs7/l 8/7af1qa3T1HS6mg2Qp2jJxxVGyCGU7uuOM1fqrNZ7m3RkDPY1VSLupLWwoNWaZZZVYYYAj3FCqE UKowBVETTwNh8kejf41cikEsYYfiPSnGak/MUoOK8h9FFFaGZF9ni8wuVyTzg9KkwNu3Ax0xVaa4 cyeVCOemcd6TybpvmMmCe27/AArLmSdoq5ryt6yZBMBFcnaOhBA/WtFgGUg9DwazJlZZCrnLDqc1 qVNHeRVXZGfbkxXIU+u04rQqjfJtlD/3qspL/owlPYc54yaKb5W4sVRcyUkVZ8z3ewdvlz/OrrsI 4y2BhR06VVsULO0p57c+tTXf/Hu/4fzoh8Ln3CfxKJWtYxNKzvzjk+5q9gbduBjpis+3jkfd5b7c YzyRU32e5/57f+PGlTk1HSJVRJvcjuB5FwGTj+ICr4IIyDkVSa0mY5Z1J9yauIu1FXOcDFVTTTel kRUaaWo3yo/+eaf98iqVxh5vLiQDHHA6mrN1N5aYB+Zv096ZZw7V8xhyentSmlJ8iHB8q5mWI0Ec aoO1OoordKxjuFUbpjLcCMEYBwPrV6sxwTcsFOCX4P41jXeiRtRWrZoxRpGuFGPfuahvYlMRkwAw PX1pn2e5/wCe3/jxoNrcMMNKCPQsaJNuNuUEknfmJdPcvHgnlTj8KfqcSLaq6ooYvyQOTwaLG3aE tuIJOOlSasP9CT/roP5Gk0/Z6iTXtNBNIhiktWMkSOd5GWUHsK04o0jGI0VBnOFGKz9F/wCPRv8A rof5CtSMZoh8KIqP3mYeqO11qCWyEYUhBzxk9f8AD8K37S1htYwkKAccnu31NcxMjvqkiRttdpyF OcYO6tL+zdV/5/f/ACK3+FZRerdjWcVypXsT6/aRPZtcBVWRCCWA5YdMH9Pyp+gTmax2MwJibaOe cdv6j8KpvpOpyIUku1dT1DSMQf0q7pGnyWCy+a6sXI4XoMZ/xoV+a9iJOKha9zQNJS0laGFypLpt tNdG4kQsxAyCeCR3x/kVZRFjUIiqqjoFGAKzdU1R4Jfs1su6Y8EkZxnoAO5qD7JrE/zyXHlEcY34 /wDQeKi6T0RtytpOTsVNcgjgvgIlChkDbQMAdRx+VdHbSGW2ikbALoGOPcVy2owXEE6pcy+a5XIO 4njJ9a6ax/48bf8A65L/ACFKG7Lq/AjE8R/8fyf9ch/M1oabpEUEQe4jV5WHzBsMF+lZ/iL/AI/k /wCuQ/ma6KiKTkxSk1CKRS1SxiuLWVhGvnAbgwX5iR29/Ss7w3MRLLByQV3jngY46fj+lb1cxoQc 6khTOApL89sf44py0kmEHeDTNPxH/wAeKf8AXUfyNVNF0xJkFzcLlM/IueDjrkVa8R/8eKf9dR/I 1Pov/ILh/wCBf+hGi15j5mqehZe0tpIxG0EZQAgDaOM9celc7Zb7HWVjO44k8s/w7geAf5GunrmN VDtrTiLPmFkC4OOcDFE1azFSd7pnUVx1laveXKwocZ5LYzgetdhXO+HP+P5/+uR/mKJq7SCm7Rk0 bMWnWkUaoLeNsDq6gk/U1LPKlravJhQsa8LnA46D+lSVS1v/AJBc3/Af/QhVPRaGafM0mY+lWg1C 7kluCGVTucdCxOfSujWKNY/KWNRHjG0Dj8qx/Dezy58bt+Vz6Y5x/X9K2qUFpcqtJ81jntdsEtmS eFAsbnDAdA3X/P0rX0m4Nxp8TuwZwNrc5PHr74waq+I/+PBP+uo/kaPDn/Hg/wD11P8AIVK0nYcn zUk2UfEf/H+n/XIfzNdAwzXPeIv+P5P+uQ/ma6THFOPxMVT4ImVrAxYS/h/MVQ0T/lt/wH+taGtD /QJfw/mKoaH/AMtv+A/1ofxoI/wmJrMX3JRj+6f6f1pto++3XPVflrQvIvOgePOCRx9axrB8TFOz D9f85ql7s79yo+9Tt2LN0+yBvU8Co7CPCFz/ABcCm3zFpUiXk/Xuf8/rVqNQiKo7DFWveqX7A/dh buVL+TLLGOg5P1q1BCsKAADdjk1QvP8Aj5f8P5VP9nuv+e3/AI8ahSfO3a5bS5Er2JbqNXiYkDcB kGorFyVZCenIpDbXJGDLkH/aNPtrZonLMQeMcU9XNO1idFBq5YopcUYrcxKeof8ALP8AH+lLa2y7 RJIMk9B2xSah/wAs/wAf6VZh/wBTH/uj+VYKKdR3NnJqmrBJCkiFSoBxgHHSqdixS42EH5gQR6Vo VnLk33y9d5/LNOppJNBTd00y9cSeVCzDr0H1qpY26yZkcAgHAHvUuof6hf8Ae/oaWwx5HGc7jmh+ 9UswWlO6LBVSu0qCvpjis67i8iUFOFPI9jWlmqWo/wDLP8f6U6qXLcmk3zWLUbb41bjkc4qjN/x/ j/eX+lWrP/j2T8f51Vm/5CA/3l/pUzd4p+hUFaTXqX6r3/8AqF/3v6GrFVr/AP1A/wB7+hq6nwsz p/EhdP8A9Q3+9/QUah/qF/3v6Gl07/UN/vf0FGo/6hf97+hqP+XRf/L0gs7cSfvH+6DwPWrgjRTl UUH1AptkP9FT8f51NirpxSiiakm5MbS0YorQzKeo/wDLP8f6U60tV2CSQZJ6A9MU3Uf+Wf4/0q1B /qI/90fyrBRTqO5u5NU1YSSFJEKlQDjAOOlUrFilxsIPzAgj0rRrNUMb/wCXr5h/LPNOorSi0Km7 xkmXriTyoWYdeg+tVLGBXzI4BAOADUuof6hf97+hqvbxTSITHJtGcY3EUpv95tccF+73saLKGGGA I9DWeP8AR73CnC5xz6GpPs11/wA9v/HjTTZTM2XdTnqckmifNK1ohDlje8i/WRDEZpAg49T6Vr1n 6f8A69v93+op1VeUUxUnaMmi4lvEqhfLU47kZNJdSeTbHbwfurUtVtR/491/3v6Grn7sXYiHvSVy GxgVw0jgEA4ANXXRXG1lBHvUNjt+zDb1yc/X/OKnFKnFKKHUk3JkcECwlypOGPT0qpeOZrkRgjAO 0fU1oismQE3bBTglyAfxqKukUkVS1k2zSiiSJdqDHv3NQ30SmEyYAZSOcde1R/Z7r/nt/wCPGkNr csMNKCPQsaJNtW5QikpX5ixp8heDaTkqcfhVS8Uw3ZZeM/MP8/WrdlbtAG3EEtjpSalHuhEmfuH+ dKSbp67oIySqabMmQ71DDoRmqmpPgJH/AMCP+fzqXS23xMh/gP6H/JqNE+2amQMFFOTzkYH+P9ac pc0VbqEY8s3foW7WAxQqpHPU/WqEgN7f+WrADO0HrwK3RFWHpAU36bs5wduPXHf8M0p9Iipv4pdT at7eKBcRoF9fU1W1Wxje3eaNAsi/MSOMjv8A4/hV/pUN43+iTf8AXNv5VckmrGUZNSuUdDmJjkhZ hhcFRnnnr+H+NO1r/j1X/fH8jVXRf+Pt/wDrmf5iretj/RE/66D+RrNO9M3atWQ/S/8Ajxi/H+Zp mtD/AENP+ug/kasaQudPiP1/mai15cWSf9dB/I03/DIX8X5lPSrATfv5RlAflUj7x/wrWS3hRgyQ xqw6EKAabo6Z02E/73/oRq75dEEkiKspOTIgKeBT9lLtq7mNjnfEAxep/wBcx/M10WK57xD/AMfy f9ch/M10VZx+Jm9Re5EpDS7X7Q87R72Y5wxyAe/FWfLTZs2jZjG3HGPSsu+1SZrn7JYrl87S2Oc+ 3+Jpn2HV5v3j3Wxj1XzCMfgOKOZLZB7OTScnYoXyi01R/KAwjhwD07HH0rpsVyl7FLDdPHO++QYy 2Sc8eprrsUqb1ZVdaRGbajlDiJzGAXCnaD3ParG2kK1rc57HNaKsTXLCQAvjKZxj/wDX/wDXraki SQYkRXHXDDNUr3Q/MkL2zKmTyjdB9P8ACqgu7/T5NtwrMpPSTnPToayi+RWaOmcfavmi9TXjjWJA iKFUdAKxtTka5vlgUjCkKOeMnr/n2ratJku7dZUGM8EZzg1hLt/tkh84889PXPH605u6SRNGNpNv dGxa2kVsgCKN2MFscmmX1jHcxOyoPOx8rDqT6f0q3ikzWllaxkpST5r6mPoMxE7wlhtZdwBPcen4 fyrUvR/ok3/XNv5VhaUcahEfr/I1t3bZtJv+ubfyrOm/dNqytUTMPT7UXMp3Z2Jycd/atRraIR+X 5a7fTFVtD/5b/wDAf61pMtVSS5RV5vnsc68TJcmJTg7toyexrRhto4QMDLf3jVa5H/E2A/21/pWi wpU4q7Kqzdl5mZfwrGVdFwDwcdKuWrl7dGbrjFRal/qF/wB7+hp9l/x6p+P86cdKjsEnemmyDU/+ Wf4/0p1pap5YkkXczcgHoBTdT/5Zfj/SrcH+oj/3R/KhJOo7jcmqasQ3sKvEzhfnXnI71VsoPPc7 j8ickeuf/wBVX5/9RJ/un+VVtL/5a/h/WlKK50OEn7Nl3yIvL8vy12+mKzId1vfhVyBv289wTWtW ZP8A8hQf76/0p1FazFSd7pmuWCgknAHUmseBft16zSfdPzEZ7dh/KtK4P+jS/wC4f5VkWscskhEL 7GxnOSOKmpukVS+Fs3FVUAVQFA7AYrL1OFYZY5Ivk3dl4wR3p/2S9/5+P/H2pG0+6kxvmVsdNzE/ 0pSu1aw42Tvc1LeTzYEk4yygnHrUhqC0iMFukZIJHUipia0W2pN1fQRsEEEAg8EGsXVERLhQiqo2 DgDHc1sMax9V5uV/3B/M1NRe6VTfvF2CGE28ZMSElRk7R6UzUJvLtyAeX4/DvUkB/wBHj/3B/Kqe pn/V/j/SrlpDQiOs7MWwtkaPzZAGz0B7VdkRZF2uoYe9Q2ePsybc4x3qenCKUSZybkZMym1uspxg 7l+laoIIBByDWdqX+vX/AHf6mrsH+oj/AN0fyrOGkmiqmsUzMkQyXbovUuR+tacNrDGgUornuWGc 1Rh/5CJ/3m/rWmDRTindhWk1ZIXyoygQopUdBjisjav2/bgbfNxjHGM1sA1kf8xH/tt/WiqthUXu a6wxIQyxopHcKKZNaRTyK8gJIGMZ61NVa9vPswCqAZDzz0ArSSilqRDmb0LKIiDCKFHoBiszVokR 43UAFs5x39/1pwi1CcAtIUx0ydufy/rVe8hni2efJvznHzE4/Ospu8djenG0tzVsHL2cROOmPy4q prX/ACx/4F/SrOm/8eMf4/zNVta/5Y/8C/pRL4Bx+Mv2v/HrD/uL/Kqerxxrbh1RQxfkgcng1ctf +PWH/cX+VVdY/wCPVf8AfH8jSl8Ja3E0iGKS2YyRox3kZZQewrRjjSMYjRVHXCjFUdF/49X/AN8/ yFaFEdhS3KwsLfz2lKbmY5w3IH4VZ2Ls2bRtxjbjjHpWbd6hKZ/s9ouXzgtjnPtTfsmpS/O1xsJ7 byMflxSuuiC3cp3gFrqLGMD5GDAHp2NdHXMXUckVwyTPvcYy2c54rp6mPUqXQw7r/kOr/wBdE/pW 7WFdf8h1f+uif0reoXUT6HOaqC2pyKoJJ2gAd+BWtZabDBFiVElkP3iwyB7Cs+6/5Dy/9dE/pW8K SGxqJFAh2qkaDk4AA+tYNqn9p6mzS/dOXYZ7DgD+Vbd7/wAeU/8A1zb+Vc7p8M88zLby+W4XJO4j jI9KTGjp0RY1CooVR0AGBWHrVultPFLCBHuHRRjBHf8AX9Kl/s7U/wDn8/8AIrf4UyTSL+XHm3CP jpudjj9KGCNi1l8+2jlyCWUE46Z71LUFjbm2tI4WYMVzkj3OanqhBXLyQNc6rJCvBaVhn0GTk11F c/af8jA3/XST+tJjRsWthb2qjy0BYEnewBb86yddtI4Gjlhj2B8hto+UEdP8+1b9ZfiH/jyT/roP 5GhrQEW9OmM9hDI2c7cEk5zjjP6VmeILgtIlupGFG5ue/b9P51f0b/kGQ/8AAv8A0I1j6rt/taTz M7Mru29cYHSh7AtzYsNPitI1JVWmxy/+H51Jd2cN2hEiDfjCvjkf59KsUU7E3Od0iR7bUvJchQxK OCe46fjnj8a3L3/jxuP+ubfyrn/+Y3/28/8As1dBe/8AHjcf9c2/lUopnO6bZG9uNmSqKMswH6fW ujWxtFUKLaLAGOUBrM8N/wDLx/wH+tbdCBsyPEZf7NEAB5e/k+hxx/WrOjLD9gjaEDJGHPGc+/8A T2qzc28d1CYpVyp/MH1FYkukXtoWktpS4xj5CVbH0/8Ar0Ajae2geUStEhkByGxzmnmsaz1mUSiG 8Ufe2l/ulfqP/wBVbJpoYlMkhilx5saPjpuUHFPopiucxpKJJqMSuoZTnIYZHQ10qW1vGwZII1Yd CqAGuc0b/kJw/wDAv/QTXT0ogyG8tY7yHypc4zkFTyDRBawW4/cxKhxjOOfz6029u0s4DK4J5woH c1lRy6rqC7o2EcTHGR8oGPQ9abJLetwxvYtKVG9CMNjnrjH05qLw5ITFNHxhWDD8f/1VVvLO+itn ea53xjGV8xjnn3qfw5/y8f8AAf60L4h9C7q1n9st/lH71OU5xn1FZukXqxo8ErEKMsp644yR/X86 3Sa5bUWia9kaDlSck5yCe+KqWj5kJa6Eo3ajfFiD5a+3Rew/GtEqAMAYA6AVX0h4jAyKAJAct6ke v+f61bYVpTXUyqPoZF6xmuhEpGAdo+pq/FEkK7UGPU9zWXIC14yqcMZCAfTmrH2a7/57/wDj5qYS fM3a45xXKlexJqESmEyAAMCOcde1Fi5eDBOSpx+FRNaXLDDTAj0LGprS3aANuIJbHSrjdzvaxD5V C17lgUUUV0HOZt4zS3Owc4woAPer0UEcaBQqk4wTjrWf/wAv3/bX+talc9JXbbOirokkUr22VUMq YXHUUaZ/y0/D+tT3v/Hq/wCH86g0z/lp+H9aTSVVWHduk7k19L5cBA6tx+Heo7CBfL81gCxPHtTd T/5Z/j/SmQQXDxK0cu1T0G4ilJ/vNr2BL93va5oOiyLtdQw96zrQmG8Me7gkqc96k+zXf/Pf/wAf NEdlKsyu7qcHJ5JJpy5m00hR5YppyL1JRRXQc4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUARUUUUGgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVGJ4yz KW2kHHPFSVDJbRyNuOQe+O9TLm+yVG3Uc80QUkupHoDnNVrEHzGPYDFSLZL/ABOT9OKsIixrtUYF ZqMpSTlpYtuMU0iC+/1I/wB6nWoBtlB5HP8AOnyxLKoViQM54pY0EaBBnA9arlfPzE8y5LFKVGtp gy4x1X/CrsUglQMPxHpRIiyKVYcUyKBYiSpbnsTSjBxlpsOUlKOu4+RBIhU96zldkV05G7g1p1nz gPcsq45OPxqK62aKpPdMsWabYtxHLfyqxQAFAA6DgUVvGPKrGUnd3M5mZLlmXqGNXI7iN1yWCnuC arRf8fx/3m/rUz2aMSVJUn8q56fMruJtPldkyK7mVwEQ5AOSasW0ZjhAPU8mkjto423DJPbPapq0 hB83NLciUlbliVL2M5EgHHQ1LBcI6DcwVh1ycZqYgEYPIqu1nGc4LLQ4yjLmiCkmrSJTNEBkyL+B zSxSLKCVzgHHNQiyTHLMT7VPHGsYwgwOtVFzb1E+VLQHbajNjOBmooLgTMV27SBnrmlupAkJHduB UdlEVUyMME9PpScnzpIaiuRtlqiiitDMKzTm3uOOdp/StKopbdJSC2QRxxWdSDklbcunJR32ILJC zNIee3PrVymRxrEm1elPpwjyxsKcuZ3M+6QxT7xwCcj61ajuI3XJYKe4JqR0VxhgCPeoGsoznazA /nUcsotuJfNGSSkLcXCLGQjAsemO1MsYyMyHvwKkS0iU55b2JqcAAYHApqMnLmkJySjyxI7hS8DK OtVbOZUyrnAPSr1QPaRsSRlT7dKJxlzKUQjJWcZCyXMcYyCGPoDVJCTcKxGCWB/WrkdpGhBOWPv0 pzW6NL5hLZyDUyhOVmyoyhG6RIzBVLHoBmmJPEwzvA9icVIQCMHkVXeyjOdpKn8xWkuZfCZx5eol 3LGYdoYMT0xzilsQRBk9zkUJZRjG4lj+QqwAAMDgVMYycuaRUpJR5UFFFFamRnW5EVwPM4xkZz0N XjNEBnzF/Omy28cpyQQfUVGlkg+8xb6cVhGM4aI2lKE9WVJnEkrOBgGtSoXtY3x1AAwAKmqqcHFt sU5KSViG6TfAfVfmqiJCITH2JzWpUAs4g275uucdqVSm5O8R05pKzHwR+XEqnr1NOkUOjKe4xTqK 1SSVjK7vcz7eQ28pVwQDwfarvmx/89E/76FJLAkv3hz6jrUX2FNw+dseneskpw0WqNW4T1ejJDcR bwobcSccVIxCqSeg5NRJaxI2eSRyMnpUrKGUqehGK0jzW1M3y30KCETzlpWAX3OPwq75sf8Az0T/ AL6FRfYo/wC8/wCYo+xR/wB5/wAxWUVOPQ0k4S6k6srDKkEexpaZFEsSlVJIznmn1sr21Mna+gtU LtGjm8xeAeQcdDV+kZQ6lWGQe1KcOdWHCXK7kcdxG6Algp7gmnG4hUZMi/gc1C9lGc7WYH8xSpYx ZGSx9eetReptYq1Pe5ctnEqB1BwfWk1ZC1iCBwrgn6cj+tSwRLGgVBhR2qyVV42RhlWGCPanJNxs zNSUZXRmaTPFHbujyKrb84Y47CtazljnBMbBgp2kj1rNfSIC2VZ1GemRWjp9tHax+XHnGckk8k1n HmSsyqjg9VuZOtW8lrfC6jGFYhgwHAYf/qzWtbanazwhzKkTd1dgCD/Wrc0STRNHIoZGGCDWVLoN u27y5JEJPGcED/P1qLNO6DmjJJS6F2TUbOJdzXMZGcfKdx/SpLW4S6t1mjDBWzgN164rPj0G1XaX eViMZGQAf0rRghjt4liiXai9BnNUubqRLkS90koopKZBzEhW21tmnX5RMWPPQE5B4+oNdB9ttf8A n5h/7+Cm3lhb3gHmqQwGA6nBFUU0CEM2+aQjPygADH19ahKUdjdyhNK7sZurXaXl3vjB2Ku0E9+T z+tdFY/8eNv/ANcl/lVebSbWWOOMBo1QkgIeucdc59KuRRiKJI1yQihRn2pxi022E5xcUl0MDxF/ x/J/1yH8zV+w1ZHXyrthFMpwS3AP+Bqh4h/4/k/65j+ZrVvNMt7yQSPuV8YJQgZ+tSr8zsW3Hkip EOqalbrayRRSLJJIu3C8gA9eag8O2xAe5bIBGxff1P8AL9amh0K2TaZXeUjqOgP9f1rTUBVCqAAB gAdqpRbd2Q5RUeWJmeIv+PFP+uo/kaqaTqYtUWC5BWIglHx05/UZz/npb8Rf8eKf9dR/I0ljZw3u jwJKDwWIYdR8xpO/PoVFr2fvdy3NqVpDGXM6N6BDuJ/KsTS4nvdT85hgK3msR0znIH5/1q+NAt9z EyyleNoGMj6nvWlbwRW0flwoEXOcUWcnqLmjBNR3ZLXOeHf+P5/+uR/mK6KqVlpkNlKZImkJK7fm I/w9qpq7TIjJKLT6l6oLyEXNrLDxll4ye/b9ampKoi9tTmtMuzp126TAhCdr452kHr/Ot9b60ZQw uYsEZ5cCo7rT7a75kTD/AN9eD/8AX/Gqn9gW+/Pmy7MdOM5+v/1qzSlHRG0pQnq9GUtYvhfTRxW5 Z416YB+Zj7f571u2UH2WzjhzkqOT79TUdpp9tacxpl/77cn/AOt+FWqqMXe7InNNKMdjA8RRP58c 2PkK7c+hBJ/rWnY6pbTWyeZOqyhRvDkLz/n0qee3iuY/LmQOuc4rPPh+33KRNKF53A4JP0Papaad 0NShKKjLoV9X1FJ1e2twX5+Zu2Bzx/jUeh/8t/8AgP8AWtNNOt4IHiRT84KlzjcQfeorayjs9/ls x3YzuPpTUXzJsHOHI4okesK9QwXpYc5O8Z+tbr1TurdLgDfkbehBq5R5loKlLlepnWwM1y0p6A55 5+n+far1NigSBSFycnOTTqqEeValTlzPQpX0RyJAOOhqeC5R4xvYKw65OM1PgEYIyDVd7GI5Kll9 OeKTjJSvEalFx5ZEjTxAZMi/gc0sUiyqWXOAcc1AthHj5nYn24qzHGkS7UGBnNOLm3qKXIloOpKd TTWhmU9R/wCWf4/0otrkBRHL8uAMH2o1H/ln+P8ASpfs6TQRbsghRyPpXPrzvlN7rkXMLLcxohIY M2OAOarWMZaTzOy/zqVbGMH5mY89ParCqEUKowB2quWUpJyFzRjFqPUjuYzLCVAyeoqraXAiyr8K ec+lX6hkto5DkjB9RTlF35o7ijJW5ZbDzPEBnzF/OqM7m5nCpyOi/wCNWBYpk5ZsdqnihSIfIvPr 3qWpT0eiGpQhqtWPRQqBR0AxWfeBo7neO+CD9K0aZLCky4cZx0PpVzjzKyIhPlldjFuInGQ4HsTi ql1cCYbUB2qck1N9gTd95sY6VL9nj8oxgYB6kdTUNTkrMtOEXdDNO/1Df739BRqP+oX/AHv6GpYY lhUqpJBOeaWaJZkCsSADniq5XycpPMvacw2y/wCPVPx/nU1MiQRRhFJwPWn1cVZJGcndtiUUtGKo RR1H/ln+P9KW1ugqiOX5cAYPtSal/wAs/wAf6VKLdJoIt2QQo5H0rntLnfKdF4+zXMOluo0QlXDN jgDmqthGWkMh6L/OplsIwcszHnp04qyqqihVGAOgq1GUpJy6EuUYxaj1GXEfmwso69R9ap2c4iYx ycAnv2NaFRTW0cxywIb1FOcHfmjuKElbllsO86L/AJ6p/wB9CmrcxNII1O4nPTpUP2BNx+dtvYd6 litYomDAEsOhJpp1H0BqCW5NWfp/+vb/AHf6itCoYbZIXLKWJIxzRKLck+woySi13Jqiu4/MgYAZ I5FS0Zq5K6sTF2dzOs7gRZR/unnPoauG4hUZMi/gc0yS1ikbcQVJ64701bCPnLseeMVilUirI1k6 cndkttceeX+XAUjFVb2Nop/NUYBOQcdDV+ONIl2oMCh1V1KsMg9RVODlGz3JU1GV0tCGO5jkQMWC nuCaVriJRkyL+BzUT2MZztZge3cChbGMYyWPr71N6nYdqe9yzBIJUDrnB9amMYkRkPRhg4pkMaoo VRgCrCLWnTUxb10MKOR7SWRRgthkJB6e4rU0O32xNOwHznC/Qf8A1/5VLPpkNxKZHLqx67T1q3DG sESxoMKowKxjTaeptUqqUbLdkoArnJ1fTdS3KBgNuUA9VPb+ldAWqKeKK4XbKgYds9R+NVOPNsZ0 58r12I0vraVNwmVfZjgiqOp3sZiMMLhmbhivQD6/571IdFhONskg55zg5FWINItom3FTIe2/kD8K l87Vil7OLuQaPbmOAyNkGTkD2HSna4MWSf8AXQfyNagjqO7so7yIRyFgA275T/n1oa92yJU/f5mR aKP+JZD/AMC/9CNQ+Ih/oKf9dR/I1ftbdLWBYUJKrnBbr1zTb20jvYhHKWADbvlP+fWhp8tgUl7T mItDH/Erh/4F/wChGtDFV7WBLW3WGMsVXOC3Xrmpt1CVkKTu2xcU00ZpM0xHPeIv+P5P+uQ/ma6G qV7pkN7KJJWkBC7flI/w96uUopptlyknFLscxpbpaamBcAKVJTJP3T0/+t+NdC19aKpY3MWAM8OD UV3pltdtvcMr92Q4JqrDoMC4MsryEHOB8oI9KlKUdEXKUJ6sx7+4F1eSTKpUMRgH2GK7Cs640i1n KffQIu0KhGMZJ9PetDNOMWm7iqTUkkhwpk0iwwvKwJVFLHHXinZpGAZSrAFSMEHoaoyK0OpWc0Yc TovqHO0j86pa3d2r2RjSRJHYjbtIbbg9fb/69On0G2fcYneInoM7gP6/rRBoNsm0yu8pHUfdB/r+ tQ+Z6Gy9mne4aBGy6eWYYDuSPccD+hrN1eB7S/8AOTCq7b0Oc8jr+tdKFCqFUAADAA6Co5oI50KS oHX0IpuN42EqlpuXcowajbTxhjIsbY5VzjH+NQahfxRwssMoaRhgbTnHvmny6DbsGMckiEnjOCB/ n60+LRbWN9x3yY7OeP0o9/YP3adyjo1uQHnOQD8q+/r/AJ+tX7of6JN/1zb+VXBEFUBQABwAO1Rz Qh42Q5wwIOKpKysRKXNLmZk6F/y3/wCA/wBa1DVe1s47Tf5bMd2M7j6VYzTgmlZkVZKU20Yl1/yG R/vp/StRlpj2EUl19oLPvyDgEY4//VVkrmiEWr3KqSUkrdDJ1QYgX/f/AKGnWQ/0VPx/nVu6tVuE COSADnimJCIYxGpJA9aai+e5XMvZ8pQ1P/ln+P8ASrcH+oj/AN0fyptxbpPt3lht9KeihEVR0AxT jFqTYOScEhs/+ok/3T/Kq2l/8tfw/rVxlDoynowxTLe3S33bCx3dc0OLckxqSUGias2b/kJj/fX+ laVV2tY2n84lt2QcZ44oqRckrBTkot3LJwQQRkHqDWTGzWV38wJHQ+4rVzUc0Mcy4cZx0PcUpxvq twhPl0ezHC5hIB81OfVqSS+t4h9/cfReaqnToyRtkYDvnnNSx6dbg5O5vYn/AAqbz7F2h3NAGkJp AaCaslDWNZOp/wDHwv8Au/1NahNVri1SdwzFgQMcUpxco2Q4SUZXYsH+oj/3R/Kob6IyRbgOU5/D vVlUCIFHQDFLircbxszNStK6KFlcqi+XIcc8GrbXEKjJlX8DmmSWUMhzgr/u8UwadHzl2PPGMVku eKsaN05O5V5u7vvgn8hWnSRxJEMIoWnGrhHl33JnPm22M2H/AJCJ/wB5v61pCoFtUWbzQW3ZJ9ua nopxcU7iqSUmrDlrJ/5iP/bb+taoqD7FF53m7n3bt3UYzmipFytYKc1G9y3msm/G2+LOuVODjPUf 5FamaZNDHOu2QZx0PcU6keZWQUpcruxwuYCAfOTn1YVm6lcJNIqpyEz83rU40yPeSZG29h3/ADqc 2EBh8oBlGQSQeSazkpyVmawcIu6Hab/x5R/j/M1W1r/lj/wL+lX4IlgiWNSSB60y5tI7rb5hYbc4 2mk0+WxSa5rj7X/j1h/3F/lVfV1LWgIHCsCf5f1q3GgjjVBnCgAZpWUOpVhkMMEVLWli09bmfpE8 Udu6vIqNvzhjjsK0Ypo5gTGwYA7SR61SbSIC2QzqM8jIq3bW6W0Xlx5xnJJPJpRutBuxi6ey29+B OAMZXJP3T/nito3dsoJM8fHPDA1Hc2EFy25wVfuynBNQRaPCvMkjOc9uBikk1oDaZl3kwuLl5VBA boD9MV09UptMt5iv3kCrtAUjGP8AJq6KEmgbuYd1/wAh1f8Aron9K3qpvp8Ml2Lks+8ENgEY4/D2 q5SSBswrr/kPL/10T+lbwqnJp0Ml2Lks+8MGwCMcfh7VdFJAwKhlKsAQRgg965yJn0rUTvUlRkHj 7y+orpKhurSG7TbMucdCOCKGhpiLe2rKCLiLBGeXAqOfVLSEf60OcZwnP69KqvoMJZdk0gGfmBAO fp6VLHotojZbzJBjozf4Yo1DQ0aKKKYBXP2n/IwN/wBdJP610NU49NhjvDdK0m8sWwSMc59vehoa LlZfiH/jyT/roP5GtSq95aR3kQjkLABt3yn/AD60PYCLRv8AkGQ/8C/9CNZ2v2xWZblQNjgKxz/F /wDq/lWxbQLbQLChJVc4Ldeuae6LIpV1DKeoIyKLaCvqUbHVIJoVE0gjlA+bccA++en4U+71O3gh YpKjyEHaFO7n3xUUuiWrlijSRkjgA5A/Pn9aItEtUKl2kkIHIJwD+XP60tQ0KehQNNdNcuSQmeT/ ABMf8/yrZvf+PG4/65t/KpERY1CooVR0AGBRLGJYnjbIDqVOPeiwNmR4b/5eP+A/1rbqpY2EVlv8 pnO/GdxHb/8AXVuhAyvdX0Nm0YmLASZwwGQMev5077baf8/MP/fwUXdpDdxhZkzjoRwRWa/h+LzA UncJ3BAJP4//AFqNRlHVpI7vUQLbDEgJkcbmz6/kM10pqpZ6ZbWjb0VmfsznJFWzQkDGmkpxphNU I5rT2FtqaecQmxirZ7HBFdAt5btIsaTIztnAU56fSq13p1vcymR96uepU9fzplppsNrIsoZ2cDue M0kmgbTIfEKsUgcD5QSCfc4/wNT6Zd2y2MamRIyowVZu/rz69atSKksbRyKGVhgg1nyaNCzgpI6L nlevHoP8mnZ3uibq1mLrF/C1sYI2EjPjJU5AAP8A9ao/D3/Lx/wH+tWodMtolcAMWZSu4nkAjHFS WdlFZ7/LZzvxncR2/wD10Wd7lJq1iHV7028PlxkiSTuD90etR6TaCO3MkigmUdDz8v8A9f8AwqSb TYJpzNI0jEnJGQB9OlWyaqKu7smT0sjAcPpt9xyOo5+8tawdZEDoQynoRS3drHdIFkyNpyCOtNhg W3j8tWYjOfmPSqgmn5Gc2mvMytQiaG581RgMQQQOhq1HdRSIGLqp7gnpVmVFdSrDIPUVRfT4znaz Ke3cCq5ZRd4kc0ZJKRM1zCoyZF/A5p0UgljDqCAfWq62EQxlmPr71ajRY0CoMAdq0jzt6mcuRL3R aSlpK0JM28VorneOM4YEDvVyK5ikQMXVT3BNSSRpIu1xkVWOnx5GHbHesOWUZNx6m3NGUUpdBl5c iRTFHk88n1xS6Z/y0/D+tWEto0jZFH3gQW70QW6QbtpY7vWhQlzqTBzjyOKG3sRlh+UZZTkcVDY3 KqvlSHGOQT0q9UEtnFK24gqT12nrTlF83NEmM1y8siTz4v8Anqn/AH0KbHcxyybEJPGc44qFdOTJ 3OxHbHFTQ20cJygOcYyTQnNvVCappaMe7BELHoBmq8F4JZQhTbnoc5qyyhlKnkEYNQRWkcTh1LEj pk1Uua6tsEeWzvuT0UtFWZiUUtFACUUtFACUUtFACUUtFACUUtFACUUtFACUUtFACUUtFACUUtFA CUUtFACUUtFACUUtFAENFFFBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FACSEqjFRkgcCqlnCwfe6kY6Z9auUVLhdpvoUpWTQUUUVRJTjjcXhYqcZJzjirlFFTGPKVKXMFLS UtUSFFFFABRRRQBBLb+bIGZ/lH8OKnAAGBwKKKSik7jbb0CiiimIKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS0AFKKSnCmIa adH1pGpY+tJjLcY4qQUyPpT6lkMWrENQqKnj4qWIlPSm0pPFNqEIWiiigLhRRSUgFopKKYwooooA w9dtp5bpHjid12Yyozzk/wCNblFFJRs2y5TukuwtFJRTIuZ+uQyTWSiJC5VwSFGTjBH9al0hHj06 JHUqwzkMMEcmrdFK2ty+f3eUWikopk3FopKKAuFJS0lACilNIKDTEFFJSigBaM0U0mgQNzUEgqxU EtAiu1RuKkPWmOOKtForN1ptPcc02mUKKKBQaACim5pc0DHU00UhoEVb5HcIVUtjOcVZhBEKAjBC j+VKKdUqNpNlOV4qIYoxTgKcFqiLke2l21MEpdlAXINtLtqbZRsoFchxRipdtJtoFciIpMVIVppF BQyilIpKBi0tNpaBDqKSimBU1CN3CFFLYznAqxCCIUBGCFH8qfRUqNpORTleKiJRS0VRIlFLRTAS ilooASilooASmmnGmmhjQop4FIgp5FIBtJmhqZnmgB2M08LQgzVmOPNIRGiVMgxTxHigjFIkcKDT N1KOaQDTQBTwuacEoECCplFNVcU8VLAeBQRSZozSGIaKDSGgAJpM0UUBcKWkpaB3CilooC4lLRRQ FwoopKAuLRRRQFwoopKAuLS03NGaAuOoxSZozQFx2KikFSZpCM0CbKjLzTcVaZKgZcU7kiCnAUyn KaoYjCoJFqyaicU0NFRhTaldajIpjFFLSCimAUlKaSgBaKSilYYtOBplKDSsO5KDQTTQaCaVikxD SUtJVImTEooopk3FFLSClpDENNNONNNACUtJRTAWlzSUUxC5pQabSikxoeKeKjFPFSy4jxThTRTh WbNELRRRUGgopaSigYtLSUtACilpBSipYC0tJTqQwpRSUopDHUUUUAFFFFAwoopaACiiimAUlLSU AFFFFABRRRSEFLSUooAUU6kFLQAGmmnGmmgYUUlGaYCGmMacTUbUxXGk0wmlNNNOxNxc04GmUop2 JuPBozTQaXNIpBmkopKpEyA1G1PNMY1aMpbETVGakaozWhkFLSUtUIQ0UGimMKKKKQwooooEFFFF AhaSiikAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigCGiiig0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKXB9KAEopcH0pdp9KL oBtFO2H2o2H1pcyAbRT9nvRsHrS5kAyin7B707y/9k0c6AjoqTyz/dNKIiei/nRzoCKipvJb+6KB E2fugUucCGirHkt6ijyW9RRziuV6MH0qx5LeopRD6tRzgVsH0owfSrWwEbePrik8n/a/SjmC5Wwf SjB9Ks+T/tfpR5P+1+lLnC5WwfSlwfSrHk/7X6UohHcmjnYXK20+lG01Z8lfU0eSvqaOdhdFbaaN pqz5K+po8lfU0c7C6K200bTVnyV9TR5K+po52F0VsGjB9KsmEdiaTyP9r9KOdhdFfB9KMH0qx5H+ 1+lHkf7X6Uc4XRXwfSjB9KseR/tfpR5H+1+lHOGhXwfSkqz5H+1+lJ5Leop84aFeirHkt6ijyW9R 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 qM02lzU2KTHZozTc0uaLBcdmlzTc0uaLBcdmlzTM0uaVh3HZpc03NGaLBcdmjNNzS5pWHcdmjNNz S5osFxaWm5opWHcdRSUUWC4tFJS0WC4GmmlNIaAuFApKUUBccKdTBTqAFpDRSGkMKKSigB1LTaWg Y4UtNpaQC0UlFAC5ozSUlAx2aXNNpaTGOpRTRSikA6lpBS0CCkNLSGmAhpKWkpiCikooAWikpaBi 0tNpRSC44UopopwosA4UUgpaLAFJRRSDlCkoooHYKWkpaAsLS02lphYdSUUUAFNpaSgApKKKAsLS 0lLQKwUlLSUByiGmmnGmGgErCilpoNOoHcKSlpKYriUUUtMm4lIaU00mnYlsQmmk0jGmE00hNjia aTTc0hNNIm4uaM03NGaoVx2aXNNzRmmAuaM0maSgBwNLmmiimS2BpppTTTQFwNJRRSHcKKKWgLhS 0UtA7hRRRQFxKKKKYriUUUU7iuJSUtFO4riUUUUXFcKKKKACiiigAooooAKKKKACiiigAooooAKK KKACiiigAooooAKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKK KACiiloAKKKKQgoFFFAC0UlFIApM0UlIYtJRRQMKKKWkFxKY1SUxqGNMRakBqMU8VJY7NFJRQA6k NFIaAGmm040goAWiiigAoopKACiiigAoopKBi0UlFAAaSlNJQIKKKKACiikoAWikooAKKKKYBRRR QAUUUlAC0lFFIAooooAKKKKACikooAKKKKACiiigApKKKACiiigAooooAKKKKAClpKKAFooooAKK KKAFopKKAFooooAWikpaACiiigCGiiiug5gooooGFFFFABS0lLSGFFFFABRRRQAtFFFABRRRSGFL SUUDFooopAFLSUtABRRRSAKWiigApppaQ0AJRRRTAUU6m0tAC0lFFABSUUVQgoopaBCUtFFABS0U UAFFLRQAlFLSUAFFFFABS0UUALRRRQAtJS0lAIKKKKQwpaSigBaKSigBaKSikMWiiigBaKSigBaW kooAWlptLSAWikooAWlptFIpDqWm0Uhjs0uabS0AOzS5plLmkMdmjNNzS5oAdmjNNzRmkMdmlzTc 0UAPzRmm5pc0hjqKbS0ALS02loAKSlpKACiiigBwpaQUtAC0lFFIYlFFFAC0UlLSGLS0lFAxaKKK ACkoooAWlFNpRUsY4U4U0U4UhjhS00U6mIKSlpKAEpKdTaYhKKKKACiiigBaUUlKKAFFOFNFOFAC 0tIKWgBKSlpKRoFFFFABRSUtAC0tJRQIWiikNABSUUUAFLSUtABS0lLTASiiigBDUbVIaiagGKDS 5pgpc0iR2aKSimIWlpKKZIhNMY0rGo2NUSxrGmE0rGoyaYmLmjNJSUyRc0UlLTAWlptLTELSUUUA LRSUtBLEpKWigQlJinUUDEopaKQwpaSigBaSiimAUUUUCEooopiEooopiCkpaKAEooopjCiiigAo oooAKKKKACiiigAooooAKKKKACiiigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQMKKKKACloooAKKKKQBRRSUCCiikpAFFFFABRRS0hhS0lLQAU1hT6aRSY0M ApwpcUuKk0EopcUuKAEppp1NNACUCkpRQAtIaWkNACUUUUAFFFJQAUUUUAFFJRQAUUUlAC0lFFAB RRRQAUUUlMAooooAKKKKACiikoAWikopALSUUUAFFFJQAtJRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRS0UAFFFFAwoopaAEooooEFFFFABS0UUAFLRRQAUUUUAQ0UUV0nKFFFFIYUUUUAFLSUtAwoooo C4UUUUBcWiiigLhRRRRYdwooopWC4tFJS0WC4UtJRSsFxaKSlosFxaKKKQ7iUlLSUAJRS0UAFFFF MBaKKKACiiigAoxS0UAGKKWigBKWiigAoooNACUUUUAFFFFAC0UUUCFopKWgAoopKBhS0lFMBaKK KQBRRRQAUUUUAFLSUUALRSUtIAooooAWikooAWiiigApaSilYq4tFJS0WC4tLTaWlYdxaWm0tFgu LRSUUrDuOzRmkoosFxaWm0tKw7jqWm0UWC46lzTaWlYdxaUU2lFFguLRRSUALRSUtACilpBRQAtF FFIYUUlLQMKWkpaQC0UUUDCiiikAUlLSUDCnCminCkwFFOFNFOFFhjhTqaKWkAtFFFACUlLRTAbS U6kpCEopaKAClFJS0AKKcKQUopgKKWkpaQxKKKKBcwlFFJSHcKWkopjTFpaSigYtBopDQAlLSUUA OooooELSUUUCuFFJRQLmA1E1SGmNTFcZS5pKKAuOFLTRThTC4tNJpaaxpkjWNRsacxqM1Qhppppx ptMQlLRilxTEJijFOxRigBKWlxRigQlGKXFLigBtFLiigVhKKWigVhKSlooHYSiiimFgooooAKKK KACiikoEFFFFAWCkpaKYrCUUUUBYSiiiqEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAwoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigYUUUtABRRRQIKKKKQ BRRRQAlGKWlpANxRinUUDExRS0UAJRRRQAUtJTlpMpCYpcUuKUCpKExRinAUuKAIyKY1SsKiagYw 0ZoNNoAfmkpKKAFpKKKQBRSUUAFFFJQAtJRRQAUUUUAFFFFABRSUUwCiiigAooooAKSiigAooooA KKKKQBSUUUAFFFFACUtJS0AFFFFABRRRQAUUUUAFFFLQMKKKKACiiloASilopAJS0UUAFJS0UAFF LRQOwlLS0UCsFFLRigLCYop2KKAsVqKKK6jkCiiloAKSlpKBhS0lLSAKKKKACiiigBaKKKBBRRRT GgooopDClpKWgAooopAFLSUtIBaSiigYUUlKKACilxRigBKSlooAKKKKBhRSUtAxaKSloAWikooA WikooELmkoooAKKKWgAoopcUAJRS0lABRRSUALRSUooAKKWimIKKKKACiiikAUUUUAFFFLQMSloo oAKKKKACiiikAUUUUALRSUtAwooooAWiiikAtFJS0DClpKKQxaKKKQxaKSigB1FJS0ALS02lpDFp RTaUUAOopM0UALRSUUAOopKM0hjqKTNFAC0UlFIYtLSUUDHUtNpaQC0UlFAxaSiigAFOFNFOpDFp wptKKQDhS02lzQMdRSZooGLRSUUhBRRRQAlFLRQIKWkooAdSim0ooGOopKWgApKKKRmFJRSUDFop KKCkLS02loKQtIaKQmgoKUUzNOFMQ6lpopaCRaSjNITQSwzRmm5ozQSxTTTS5pppoENNJTjTaYxR ThTRTqYCmo2pxNMamIY1NNONNpiExSYp2KMUxCYpcUoFLimIbilxTsUYoAbijFOxRigBuKMUtLQA 3FJin02gQlJSmkNACUlFFABRRRTAWiiigQlFBpKBhRRRQIKKKKACiiigApKWg0IQ2iloqxCUUtFA CUUtFACUUtFIBKKWigBKKWigBKKWigBKKWigBKKWigBKKWkpgFFFFABRRRQAUUUUAFFFFABRRRQA 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 ACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFOFJRUjHinCmCnip KQoFLilFLSZaEpaKSpZSHUtIKWpGLSikpRSGPFOpgp1IANJQaSmAopwpgpwoGLRmkpDQDFzSZpKK CRc0maKSgYtLSUUALS0lFADqKQU4UgEopaSgYUUUlAC0tJRQA6lptLSAcKDSCloGNNNNONJQA2lo xRQAUUtFMQ00lOpKAAUtJRRcBaKSlp3AKKKWgQlIaWkouA2msKfSEUwIGWmFanK00rVEEJFNIqUi mEUwGUlONJQIBThSClFMQtLQKKYBSUtJQISkpaSmAUUUUguFFFLRYLhRRRSY0wFLSUtIYtLSUUAL RSUtAC0UlFAGbSikpa3OccKWminUhi0ZpDTc0hokBpc1GDSg0hofmkpM0tIoKKKKRQopwNNpc0DH 5ozTc0ZqWMdmkzSZozQAE0lFJQA6jNNpaAFzSUUlADqSiigAoooFIYtFFFACUopKUUAOFOpBTqQx KKKKBBRSUtACilpBS0DFpKWkoAKKKKAFooooAKKKKBDaKWkpgFFFLQAGmGnmmmmJjaKKKBBRSUtA C0UUUAFFFJQIKKKKYBSUUlMQUlFFMApaSimIWlptLQIWlptLUjFpabS0DHUUlFADqM02ikA7NJmk zRmgYZozSUlMQuaSikpiCkoooEFFFFMQtFJS0wCiiigAooooAKWkpaQBRRRQAUlLSUDCiiigApaS loAKWkpaACiiigApaKSgAopaKBCUUtFAgooooAKWiigAopKKRSFpwptKKCh4pwpgpQaQDqKSigAN JRSUgFozTaKAFopM0UAFFJRQAUUlFMAooooEFFFFMAooopiCiiigAooooASloooAKKKKACiiigAo oooAKKKKQwooooAUUopKUUgHClptLQMWkopKQBRRRQAlLSUUALS0lFA0LSUUUhiinCkFOFIY4U4U 0U4Uhi0006kNMCM0w09qYaZIlJS0lNCYUlLSUyRDSUppKoQUUUUxBRRRQAUUUUAFFFFACUUtFAhK KWigBKKWigBKKWigBKKWigBKKKKACiiigAooooAKKKKACiiimAUUUUAFFFFAgooooAKKKKACiiig BaKKKhlCipFqMU9aRSJBTqaKdUstCGkpTSUmUhRTqaKdUlBSikopASClzTAadmkAE02lJptMBwpw pgpwoGLRSUUAFFFLQISjFLRQAYoxS0UgDFGKWigYUtFFABRRRQAlFLSUgCloooGFFFFACilpKKAF pMUtLQA3FJTqQ0AJRRRQAUYopaAGGkpxpKYgFLQKWgAooooASilooAbRiloFMQ0imkVLimMKskgY VGwqdhUTCgREaSnGmmmIKUGm0tMQ8GlpgNOFMQUUUUAJSUtJTEFFFFABS0UUAFFLSUmNBS0UVIxa KKKACiiigYtFJRQBnUtJS102OW4tLTaWiwXFNMJpxphpWHccDSg00U4UrDTHZpabS0rFXFopKKVi rjs0ZptFKw7jwaXNMFOzSaGmLmkzSUUrDuLRSUUWC4tFJRQAUtJRSGOooFBoASlFJQKQx1FApaAE pRRQKQxwp1NFOoAKSlpDQAlLSUUAKKdTRS0gFooooASiiigBaWm0tMBaKKKAEooooAKWkooEKaYa fTDQA2ilNJTEJS0lLQAtFFFABSUtJTEFFJS0AJSUtIaYhKKKKYhKWkpaYgooopgLRRRUgLS0lLQM WikooAKKKSkAuaSkooAWiiimAlJSmkoEFJRRTEFLSUtMAooooELRRRQAUUUUDClpKKAFooopAFJS 0UAJRS0UAFFFFABS0UUwCiiigAooooAWiiigQUUUUAFFFFABS0lFIAooooGFKKSloHccKUGm0tIL jqKSigLhSGig0guJRmkoosO4tFJRQFwooopiuFFFFABRRSUALRSUUwFopKKAFopKKBC0UlFAC0UU UwCiiigAooopAFFJRQMWikooAWikFOpAFLSUUDFpaSigBaKSikAtJRRQMWiiimISiikpMaFpRTRT hUsaHCniminCkUOFKKQUtIYtNNOprUAMamGnNTDVEsSiiimhMKSnUlUSxppKdSUxCUUUUxBRRRQA UUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKAEoopaAEpaKKACkpaKACiiigAooooEJRRRTAKKKK ACiiigAooooAKKKKAFopKWoZaFFPWmCnipKRIKdTBThSZaCilpKllBS0lFIYtFJRSAeDS5pgNLmg QpNJQaKBiinCmilFAxaKSigBaWm0tIBaWkpaAFpaSloAKWkopALRRRQAtJS0UAJRS0UDEopaKAEo oooAKWkpaQCilpKWgApppaSgBKKKKAClpKWmAhpMUppKAClpKWgBaKSloAKSlpKAEpRSGgUxDqY1 PppqiSJqiapmqNhTEQtTDUrCmEUxMZS0uKSmIKcKbSimIdSUUUxBSUUUxBRRRQAtLSUtABRRRQwQ UtJS1IwooooASiiigYUUUUAZ9LSUtdJyhRRRQAUmKWlpDExS0UtA0FLSUVJQUUUUihaKSikMcKKS ikNC0UlFIY6ikpaACkoopDClFJQKAHikNKKDSGNpRSUooGOFLTRThSAKUUUUhiinCminA0ALSGjN IaBCUUUUDFFLSCloAWkpaSkAlFFJTAWlptLQA6ikooELSUUUAFLSUUALSGlpKAGmkp1NpiCiiigB aWkpaAEpDS0hpiCiiigApDRRTQhKSlpKYgooopiCiiimIWiiikMWlpKWkAUUUUAFJRSUDCgUlAoA dRRRQIQ0lLSUwEopaSgQUUUUxC0UUUALRRRQAUUUUAFFFFAxaKKKQBRRS0AJRS0UAFFFFABRRRTE FFFFABRRRQAUUUUALRRRQAUUUUAFFFFIBaKQUtAxKKKKAFpaSloGLRSUtIApDRQaAGmig0lAC0UU UAFFFFAC0UlFAC0lLSUwCikooAWikpaACiiigQUUUUwClpKKAFopKKACiiikAUUUUDCiikoAUU6m inCgAooopAFFFFAwpaSikAtFFFAC0GikNMBDSUppKTGhRThTBTxSY0PFPFMFPBqSh1FJmjNIY6mN S5ppNADGphpxpppksSlpKUVSJYtFFFUhMSmmnUhpkjaKKKYBRRRQAUUUUAFFFFABRRRQAUUUUCCi iigAooooAKKKKAEpaSloAKKKKACiiigAooooAKKKKBCUUUUAFFFFMAooooAKKKKACiiigApRTacK hlocKcKaKdUlocKcKYKcKTKQ8UUCipZQhpKDSUhi0UlJSEPBpc0wGlzQA6ikzRmgY8UtNBp2aBhR SUUALRSUtIBRThTRSigB1LTRS0gFoopaACiiigYUtJS0AFFFFABRRRQAlFFJQAopaQUtIAozSUUA LmikpaACiiigBKM0GkoAWkooNABSZopKYDs0tNpaAFpCaKQ0ABNANIaQUASUhoFBqyRhphFSGmGm IiIppFSGmkUxMjIpMVIRTcUyRmKWlxSUxBRRRTEJRRRTEFFFLQAUtJS0CFpKWkoY0LRSUtIYUUUU AJSUtJQAUUUUAUaKKK2MLBRS0UBYKKKKBhRRSUhjqKSlpDFooopDEoopKQxRS0gpaYBRRRRYLi0U UUWC4UUUUrDuFAopaQXHCigUtA7iYoxS0Uh3ClpKKLBcWikopWHcdmjNNozRYLj80ZptLSAWikpa Bi0tJS0AFFJRQAUlLRQAlLSUtABS0lFAC0lFFABS0lFAC0lFIaACkoooEFFFFABRmkooAXNJRRTE FGaSkoAXNFJRTEFFFFMQUUUlMQtFJRTELRRRSAWjNJRQA7NJmkooAWiiigYUUUUAGaM0lFAhaSii gAooopiCiiigApaKKACiiigAooooAKWiigYUUUUgClpKWgAooooAKKKKACiiimIKKKKACiiikwCl pKWgYUUtJQAlFFJQAtFJRQA4UtNFLQAUUUUgClpKKAFopKWgAoopKACiiimAUUUUAFFFFABRRRQA UUUUAFFFFABRRRTAKKKKACiiigApaSloAKKKKAEopaKAEopaKAEopaKQCCnUlFAxaSiigAooooAK WkooAWikopALmjNJRTAKKKWhggFOFJS1LKQ4GnA0ylzUjH5ozTM0ZpDFLUhNNJpM0AKTSUUVSEFF FFNEsKKKKpCYUhpaQ0xCUlLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCCiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKSlpKACiiigBaSiloAKSlooASlFJSioZaHCnCminCkUhwpRSClp MpC5ozSUmaQxSaSkopDFzSZpKKQDs0ZptFAh+aXNMzS0DHg07NRg0uaBj80U2lpMBaWm0tIY4Uop opRQA8UtNFKKAHUtNpaAFoopKQC0UlFAC0ZpKKAFzRSUUALSUUUAKKWm0tIYUUUUAFLSUUALRRRQ AlFLSUAJSUppKYBSUtFABRRRQAUUUUAJRS0lAC5pM0maKoQE0w04000xDTRRRTExMUhFPxTSKaJY w00080w0xCUUUUxBSUtFMQlLRRTEFFFFAC0lFFAC0ZpKKAFzRSUUAFFFFIAooooAo0tJRWpkLRRR TAKSiikAUtJS0DCloopDCikopDFooopDAUtFFUhBRRRQAtFFFABRRRSGFFFFIY8UtNFLSAWikooG LRSUUhi0UlFAC0UlFAC0tJS1IxaWkpaAFopKWgAopKKACikooAWikooAWiiigApaSigBaKSigYUh paSgAooooEFJRRQAUUUUAFJS0lMQUlLSUAFFFFMlhRRRTEFJS0lMAooopiClpKWkAUUUUAFFFLQA lLRRQAUUUUAJRRRQAUUUUxBRRS0AJS0UUAFFFFMAooopAFLSUtABRRRQMKKKKQBS0lLQAUUUUAFF FFABRRRTAKKKKBBRRRSYxaKKKQC0UUUDEpKdRigBtJTqSgAFLQKKBBRRRQAUUUUAFFFFABRRRTAK KKKBBRRRQAUUUUDCiiigAooooAKKKKACiiimAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUgC iiigAooooGFFFFABRRRQAUUUUAFFFFMQUtJRSY0OopKWkxoWlptLUlC0UlFIYhooNJQAtFJRTRIt JRRVITCiiiqRLCg0UlMQlFFFIYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigBKKKKACikooAWlpKKAFoopaAG0oooqGWhwpRTRSikUh4pc03NGaR SHUlJmjNIYUUlFIYtJRRSEFLSUUALS02loGOFLTRS5oAdS03NLQxi0tNpakY4UopopQaAHilFMBp wNADhS5puaXNADqSkzRmgBaKTNGaAFopKKQC0UlFMBaKSikA6jNNzRmgB2aM03NLmkAuaKSigB1F JRTGLRSUUAIaKDSUAFFFFABRRSUALRSUUALmkNJRQAUUlFUIDTTSmkNAhKWkpRTExaQ0tIapCYw0 w1IajamSNooopiCiiimIKKKKBBRRRTAKKKKACiiigAooooAKKKKACiiigCjRRRWpkFJmiigApwpo p4oAKKWkpDCiiigAoooosFwpaKKVh3CiiimK4UUUUALRRRSGFFFFAwooopAOFLSUUhi0UlFAXFop KKAuLRSUUDuLRSUCkFx1LSUUihaWkpaAFopKKBBRSUUAFFJRQA6ikooAWikopDFopKKAFopKKBi0 UlFIBaSiigAooooAKKKKACkpaSmIKSlpKYgooooEwooopiCkpaSmIKKKKYBS0lLSAKKKKAClpKWg AooooAKKKKYCUUUUAFFFLQISloooAKKKKACiiigAoopaACiiigYUUUUgCiiloGJS0UUAFFFFABRR RQAUUUUCCiiigBaKBS0mAlFFFIYtKKQUooGGKMU6jFA7DCKSnEUhoEJRRRQIKKKKYgooooAKKKKA CiiimMKKKKBBRRRQIKKKKACiiigYUUUUAFFFFABRRRTAKKKKACiiigApaSloAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKQBRRRQMKKKKACiiimIKKKKAFopKWkxi0UlFIYtFJRSsFwoopKQXFopK KoBaKSimhMKKKKYgooopiEooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooEFFFFAB RRRQAUUUUAFFFFABRRRQAUUUlIYUUUUAJRS0UDCloooAKWiigBDSUppKkYtLmm0uaRQ7NGabmjNA 0PzSZpM0ZpFC5opM0UgFopKKQgpabRQA6lzTaXNADgaXNNzS5oGOzRmm5pc0MY7NGaTNGakY7NOB pmaXNADwaXNMzS5oAfmlzTM0uaAH5ozTc0ZoAdmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5 ozSZopALmikooAdRSUUAOopKKAFooooAKSg0lAC0UlFAwpKWkoAKKSigAooooAKKKKYCGmmlNIaY gpRSUopiFpDS0hpoljTUbU80xqYhtFFFMQUUUUxBRRRQIKKKKACiiigAooopiCiiigAooooAKKKK AKVFFFamYYoxS0UAIBS0UUgCkzRSUDFzS02lFADqKKWgBKKKKACiiigAooooAWiiigYUUUUgCiii kMWiiigAooopDCiiigAooooAKUUlAoAdS0lFSULS0lFAC0UUlABRRSUAFFJS0ALRSUUALRSUtABR RRQMKWkopALRSUUDFopKKQC0UlFAC0UlFABRRRTEFJS0UxCUUtJQJhRRRTEFFFFMQlFFFMBaKKKQ BRRRQAUtJS0AFFFFABRRRTEJRS0UAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFAwpaKKQwooooAKSl ooGJRRRQAUUtFIAooopiCiiigQopaQUtJjEooopDFFOFNFOFAx1FKKKBjTTDUhphoEJSUtJQIKKK KCWFFFFMAooooAKKKKYwooooEFFFFAgooooAKKKKACiiloGFFFFABRRRTAKKKKACiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiikMKKKKACiiimIKKKKACiiikAUUUUhhRRRSGFF FFABRRRTEFFJRTAWkoopiFpKKKYhaKKKQwooooAKKKKACiiigApKWigBKKKKACiiigAooooAKKKK ACiiigQUUUUAFFFFABRRRQAUUUUhhSUtJQAtFFLQMTFLilxRikAmKKXFFACUUUUDENJQaKQBRSUU FC5ozTaKQ0OzRmkopDFpabS0gFopKKQBRRRQIWikooGOpabS0DHUuabRQwHZpc02lpDFzS5ptLQA 7NLmm5pc0AOzS5puaM0APzS5pmaXNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzS03NL mkAtFJmjNADqWm5pc0ALS02loAWiiigBDRQaSgYtFJRQAUUUlABRRRQMKKKKAFpDS0hoENNNNKaa aYCinCminCmIWmmnU00yWMY0w0rU2mIKKKKYgooopiCiiigQUUUUAFFFFABRRRTEFFFFABRRRQAU UUUAUqKKK0IFopKKQwpM0tJigAopcUu2gBtLS7aMUxBS0lFMQtFJS0xBRRRUsaCiiikMWiiigYUU UUgCiiigYtFFFIAooopgFFFFABRRRQIKKKKBi0tJRUlC0tJS0AFFFFMQlJS0lABRRRQAtFJRQAtF JS0hhRRRQMKKKKQBS0lFAxaKSikAtFFFABRRRQAUUUUAFFFFMQUlLSUAFFFFMQUUUUxCUUUUCFoo opgFFFFABS0UUAFFFFABRRRQIKKKKACiiigAooooAKKKWgBKWiigAooooGFFFLSAKKKKBhRRRSGF FLRQMSilxRQAlLS0UgEopaKYhKKWigAFLSUtIBDSUtJQCFFPFMFPFIocKWkFLQMaaaaeaYaBDTSU ppKZLCiiiglhRRRTEFFFFMYUUUUDCiiigQUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigBKKKKQBRRRQ AUUUUgCiiimAUUUUAFFFFABRRRQAUUUUwFooooGFFFFABRRRQIKKKKACiiigBKKKKACiiigAoooo AKKKKACiiigQUUUUAFFFFABRRRSGFFFFAxKKKUUgFFKBSCnCgYuKMUopaQxuKQ04000ANNJSmkoA SkpaSgQUlLSUDEooooKQtFJRSAdRSUtIBaKKSgQUUUUAFLSUUhi0tJS0wFpabS0hi0UlLSGLS02l oAdRmkooEOzRmkooAdmlzTc0uaAHZozTc0ZoAdmjNNzRmgB2aM02igB2aM03NGaAuOzS5puaXNFg HZozTc0ZosFx+aM03NLmiwXHZpc0zNLmiwDs0ZpM0ZoGBNFJmkoAdRSUUDFooooAKWkpaACiiigA pppSaaTRYQ0mm5oJpM07AOFOFMFPFMQ6mNT6Y1AmRtTaVqbTELRRRTJCiiigAooooAKKKKBBRRRT AKKKKACiiigAooooAKKKKAKdFLilxWlybDaMU/bRtqbjsMxShaeFpwWi4WGhacEp4WnhaLhYh2U0 rVgrTGWncViuRTakYUwincmwlOFNpwqrisFFLSVLGgooopDFooooGFFFFIAooooGLRRRSAKKKKYB RRRQIKKKKACiiigApaSlpFC0UlLQAtJS0UAJSUtFAhKKKKBhRRRQAUUUUAFFFFIYUtJRSGLRSUUA LRSUtIYUtJRQAtFFFABRRRQAUUUUxBRRRQAlFFFMQUUUUxBRRRQIKKKKYBRRRQAtFFFABRRRQAUU UUCCiiigAoopaACiiigAooooAKKKKBi0UUUAFFFFIYUUUUDCloopDClFJThQAUUUUhhRRS0CEopa KAEopaKBCUlKaSgAooopAhRThTRThQUOFLSCigYhpDSmkNAhpptONNpksKKKKCWFFFFMQUUUUxhR RRQMWiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiikAUlLRQAlFLRQAlFFFABS0UUAFFFFACUUtJQA UUUUAFFFFAxaKKKYBRRRQAUUUUCCiiigAooooASiiigAooooAKKKKACiiigAooooEFFFFABRRRQA UUUUhhRRRQMKBRQKQDhThTRThQMcKKBRSGIaaacaaaQxpptKaSgApKWkqiQpKWkpDEooooGgpaSl pDClpKUUALRRRSEJRS0lABRRRQAtLSUtAwpaSloGFFFFIBaKKKAFooooAWikpaAFpabS0ALRSUUA LRSUUALRSUUALRSUUALmlzTaWgQuaXNNooAdmlzTaM0AOzS5pmaXNAx2aXNMzS5pALmjNNzS5oGL mlpuaXNADqKbmlzQA6ikzRQMdSGjNITQAhNNJoJppNMQhNNpTTaYh4p4qMU8UCH01qdmmmmJkbU2 nNTaYgooooEFFFFMAooooEFFFFIAooopgFFFFABRRRQAUUUUAFFFFAEAFOC0oFPAqbmlhgWnbKeB TgKlyHykWylC1LikxRzD5RFWnhaBTxRcVhhWo3WpjTGFO5Nis4qIirDComFVcmxHigUpFFVcVgpK KKdyQooooAWiiigAooopDCiiigBaKKKACiiigAooopiCiiigAooopiClpKKkoWlpKWmAtFFFABSU tJQAlFLSUCCiiigYUUUUgCiiigYUUUUhhRS0lIaCiiigYtFFFIApaSloAKKKKYBRRRQIKKKKAEoo opiCiiigQUUUUwCiiimIKKKWgAooooAKKKKACiiigQtFFFABRRRQMKKKKACiiigAoopaACiiigAo oopDClpKWkMKKKKBhThTaWkMWiiigYUtJRSELRSUUwFopKKQgNJSmm0xMWlpKWgEKKUUlLSKFopK KChaSiimSNNNpxptBLCiiimQwooopgFFFFMAooooGLRRRUgFFFFABRRRQAUUUUAFFFFMAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRSGFFF FABRRRQIKKKKACiiigQUUtFACUUtJQMKKKKBhRRRSGFFFFABRRRVCCiiigAooooEFFFFABRRRQAl FFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigYUUUUgCiiikMKWkFLQMUUopKWkMdmjNNzRmkMUmm k0E00mgYGm0ppKQC0UUVZDEpKWigYlFFFIaCloooGFKKSlFIQtFLSUCEopaSgBKWiigApaKKQxaK KWgYUUUUAFFFFAC0UUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUALRSUtAgooooAWikooAWlpKK Bi0ZpKKAFopKKBjs0ZpKKAHZpc02jNIB2aXNMzS5oGOzSE0maQmgBpNJQaKokQ0lLSUCFFPBqMU4 GmIkzSE0maQmgBDTaU0lMQUUUUCCiiigAooooAKKKKBBRRRQMKKKKQwooooAKKKKYBRRRQAgFOAo FKKzNBRThSClFSykLTadTTQAopc02loQCk000tIaokjYVGwqU1G1USREU009qYaokSiiimiWFFFF AC0UUUAFFFFABRRS0gCiilpgJRS0UAJRS0UxCUUUUCCiiimAUUUUihaWkpaAFooooAKKKKYhKKWk NIBKKKKBhRS0UAJS0lFIYtFJS0gEopaSgpBRRRSGFLSUtABS0lLQAUUUUAFFFFAgooooASiiimIK KKKBBRRRQAUUUUxBS0UUwCiiigAooooAKKWigQUUUUAFFFFAwooooAKKKKAClpKWgAooooAKKKKQ xaKKKQwooooGFFFFIYtFJRQFxaKSikAtFJRQAtFJRQIWkoopiYopRSClFAIdRSUZoKFopKKQ7i0U lFMQhptONNoJYUUtFMhiUUUUwCiilpgJRS0UDCiiipGFFFFAgooooAKKKKACiiimAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooopDCiiigBa KKKBBRRRQAUUUUCCiiigAooooGFJS0UDEooopDCiiigAoooqhBRRRQAUUUUCCiiigAooooASiiig AooooAKKKKACiiigAooooEFFFFABRRRQMKKKKQBRRRSGKKWkFLQMKKSikMXNJmikpDDNJRRQMSkp aKQXClooqyGJRS0UAJRS0UFCUtFFIApRSUooAWiiikISkpaKAEpaKKAClpKWgYUtJS0AFFFFIYUt JS0AFFFFAgooooAKKKKAFopKKAFopKKYC0UlFAC0UlFACilpBS0gCiiigApaSigBaKKKACiiigYU UlFAC0UlFAC0tNpaBi5ozSUUALmgmkpDQAlLSUopkhSGlpDTASlzSUUCHZozTaKYgNFFFAgooopg FFFFAgooopAFFFFABRRRQMKKWikMSilooASiiimAUUtFACClBpKUVibDgaXNNFLSGOpKKKACiiim gYUhpaQ1RIw0xqeaYaogjNNNONNNUISlxQKXFBI2inYpMUAJRRiigdgopcUYpDsFFLilxQOwlFLR QKwlFLRTExKKKKZLEooooJCiigUwQtFLRQWFFFFABS0lLQAUUUUCCkNLSGkAlLRS0AFJS0GgBppK U0lAC0UlKKAFooopDQUUUUDCkpaSgYUtJRSGLS0lLQAUUUUCCiiigQUUUUCCiiigAooooGFFFLVC EopaKACiiigQUUUUwCiiigAooooAKKKKACloooAKKKKACiiigAooooAKKKKAFopKWgAooooC4UlL SUh3CiiiiwXClpKKLBcKWkpaQXCiiigYUUUtABRRRQAuaM0lFAC5opKKAuLmjNJRQK4UUUUAFFFF ABRRRQAUUUUAFFFFAwooooJCiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRSUtA BRRRQAlFFFABRRRQAUUUUDCiiigQUUUUAFFFFABRRRQAUlLSUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUwCiiikAUUUUAFFFFABS0lFAwooopAFFFFAXCkpaKLDuJijFLRRYLhRRRQIKKKKACiiigAoo ooC4UUUUBcWiiigAooooAKKKKACiiigLhS0lLRYdwoooosFwoooosFxaKSlosFwooooC4UUUUguF FFFABRRRQAUUUUAFFFFACilpBS0AFFFFABRRRQMKKKKACiiigAooooC4UUUUBcKKKKAuFFJRQFxa KSigLhRSUUCFopKKYBRRRQAUUUUAFFFLQAlFLRQISilooASilooASilooASloopDCiiigAooooAK KKKACiiigBKUUlOFZG4CnUgpaQwpaKWkAlFLRTQmJTTTjSGqJIzTDUhqM1ZIw0w08001RICnYpFp 2KBDcUYp2KTFIBuKMU7FGKBjcUuKXFGKBhijFLilxQMbSUppKBBRRRTJYlFFFBLEopaSmIKBRRQJ C0tJRTLFopKKQC0UUUAFFFFAC0hoooEJS0lLQAtJRRQAhpKWigBKWiigAozRSUhiinU0U4UDCkp1 IaBjaSlNJSGLSikpRQAtFFFAmFFFFAgooooEFFFFABRRRQMKWiiqEFFFFABRRRQIKKKKACiiimAU UUUAFLRRQAUUUUAFFFFABRRRQAUUtFACUUtFABRRRQAUUUUAFJS0UAJRS0UAFFFFIYUUUtACUUtF IBKWiimMKKKKACiiigAooooEFFFFABRRRSAKKKKACiiigAooooGFFFFABRRRTJCiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKWkpaACiiigBKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACkpaSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBhRRRQ AUUUUAFFLRQAlFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABS0lLSAKKKKACiii gBaKKKACiiigAooooAKKKKACiiigAooopAFFFFACilpBS0DCiiigAooooAKKKKACiiigAooooAKK KKACiiigBKKKKACiiigBKKKKYBRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFIAo oooAKKKKACiiigAooooAQU4UgpRWJuOFLSCnUhgKWiloGJRS0lNCYhpppxpDTJIzTDUhphqySM0w 1IaaRTJBafTVp9MBtFLSUAJRS0UDEpaKKQBS0UUANNJSmkpgJRS0lBLCkpaKYmJRRRTJEopaKACi kpaYBRRRQAUUUUALRRRQAUUUUgCkpaSgYUUlFAC0UUUgCilpKAEopaTFACilFJS0hi0GkooGJRRR QMKWkpaYC0UlLQSwooooEFFFFAgooooAKKKKYC0UUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUw CiiigAooooAKKKKAFopKKQC0UlFAC0UlFABRRRQAUUUUALRSUtABRRRSGLRRRQAUUtFACUUUUDCi iimAUUUUAFFFFAgooooAKKKKQgooooGFFFFABRRRQAUUUUDCiiimSFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS 0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFIAooooGLRR RQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigApaSloAKKKKQBRRRQMKKKKAFooooAKK KKACiiigAooooAKKKKQBS0lLQAUUUUAApaQUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA lFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAF FFFABRRRQAgpwpopwrE6BwpRSClFIYtLSUUALSUUU0JiGkNLSGmSNNMNPNNNUIjNNIqQ00iqJEFO pBS0AJSUtJQAUlLSUAFLSUUDFpaSigQhpKU0lABRRRTJEopaSmJhSUtFMQlFFFAhKKKKYBS0UUAF FFFABRRRSAKUUlKKAA0hpxppoGNopaKQCiloApcUAJRS0hoASlxRThSGNpKcaQ0DEooxS0DCiilo ASilopgJS0UUEsKKKKBMKKKKBBRRRTAKWiigAooooAKKKKACiiigAooooAWiiigAooooAKKKKYBR RRQAUUUUAFFFFIAooooAKKKKACiikoAWikooAWikpaACiiikAtFFFAxaKSloAKKKKACiiigYUUUU wCiiigAooooEFFFFABRRRSEFFFFAwooooAKKKKACiiigAooooEFFFFMAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAWiiigAooooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAS iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKWkpaQBRRRQMKKKKAC iiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUtFFABRRRQAUUUUgCiiigYUtJS0AFFFFABRRRQA tJS0UAJRRS0AFFFFIAooooAKKKKAAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFABRRR QAUUUUANFOFNFOFYnQOFOFNFOFIYtJRSGgBc0UmaM0CCkNFJVCA0006mmmIQ03FOopkjaKWkpjsJ SUtJQMSilpKBBRRRQAUtJS0xCUUUUCCkpaSmIKKKKYCUUtJQIKSlpKYhKKWimSFFFFABRRRSAKWi igYUUUUAFJS0UhiYpQKUCnAUAIBS4pQKXFIY3FNNPIppoAbThTacKQBRilpcUhjMUYqTbSYpjG4o pSKSgBKKWkpiCiiimSwooopksKWkpaBBRRRTAKKKKACiiikMKKKKACiiigApaKKACiiigAooooAK KKKACiiigAooooAKKKKAEooopAFFFFAwopaKAEopaKAEpaKKQBRS0UAJS0UUAFFFFAC0UlFAC0Ul LTGFFFFABRRRQIKKKKACiiigAooooEFFFFABRRRQAUUUUDCiiigAooooAKKKKBBRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUDCiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAJRRRQAUUUUAFFFFAgooooAKKKKACiiigAoooo AKKKKAEooooAKKKKACiiigAooooAKWkooAWikooELRSUUAFFFFAwooooAKKKKAFooopAFFFFABRR RQAUUUUAFLSUtAwooooAKKKKACiiigApKWigBKWkpaACiiigAooooAKKKKACiiigBaKKKBhRRRQA UtJS0AFFFFABRRRQAUUUUgCiiigAooooAKKKWgAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKAEooooAKKKKACilooASilooASilooASilooASloooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiigAooooAYKcKaKcKyNx4pRTRThSGKaaaU000hhRmkopiFopKSmIWkoopiEooopiEop aKY0NpKdSUANopaSgQlLRRQAUUUUCCkpaKYhKKKKYgpKWkpgFJS0UCEooopgxKKWimQJS0UUAFFF FIAoopaBiUUtJSGFKKQU8CgAAp4FAFOApDExRinYoNAEZFNNSGmEUhjKBSkUChgOWngU1RUqikMT bSFalxSEUAQkUw1KwqMimA2iiimIKSlopksSlpKWmSwooooEFFFFMAooooAKKKKQwooooAKWkpaA CiiigAooooAKKKKACiiigAooooAKKKKACg0UUAJRS0UhhRS0YoASlpcUYpAJijFLilxQA3FGKdij FAxtFOxSYoASilxRQAlFLRQAlFLRQAlLSUtMAooooAKKKKBBRRRQAUUUUAFFFFAgooooAKKKKACi iigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEooo oAKKKKACiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAgoooo AKKKKBhRRRQAUUUUAFFFFIAooooAKKKKACiiigBaKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFLQAUUUUDCiiigBaKKKACiiigAooooAKKKKQBRRS0AFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEYpwpgpwrM2HinCmCnCkMWmmlpDQAUlFFA BSUUlMQtJRRQIKKSimAtLSCloGhKSlpKBiUlLSUxMKKKKCQooooEFFFFMQUlLRTASiiigBKKKKYB SUtFAMSiiimQFLRRSAKKKKBhRRS0gEopaMUDACnAUAU4CkMUCnikFLSGFIaWkoGIaaRTqMUAMIpM U/FGKTAFFSqKYoqRaQxwpCKUUGgCJhUbCp2FRsKYEJFJTyKYaZIUUlLVEsKKKKZLCiiimSFFFFAB RRRTAKKKKQwooooAWiiigAooooAKKKKACiiigAooooAKKKKQBRRRQAtFFFA0FGKWipKClxRS4oAT FLilxS4oAbilxS4pcUDG4oxTsUmKAG4oxTsUYoAbikp1FADaKWkoEJRS0UAJRRRTEFFFFMAooooA KKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFABRRRQIKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQIKKKKACiiigYUUUUgCiiigAooooAKKKKACiiigBaKKKACiiigYUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFAwooooAWiiigAooooAKWkpaQBRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFAC0UU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEQpwp gpwqDUeKcKYDS5pDuOpDSZpM0WC4tJRmkzQFxaSikoAKKSimIKKSimIcKdTRS0ikFJS0lAxKSlpK ZLCkoooELRSUUyRaKTNGaBC0UmaM0wCiikoGFFFFMAooooBhRRRQQFFFLQAlLRRSGFFFFAwpRSU4 UhiinimCnA0DHUtNzRmkMWikzRSAWlxSClFAwxRilopMAApwpKUUgFFLSClpjENMYVIaaRTEQsKi NTsKjYUxEdLS4pKZDCiiimSwooopiCiilpiEopaKYxKKKKQBRRRQAtFFFABRRRQAUUUUAFFFFIAo oooAKKKKAClpKWgYUopKUUMELRS0VJQUtFLQMKWiloAKKKWkAUhpaSgYlFLRQIbRS0lMBKSlooAS kpaKAENJSmkpiYUUUUCCiiigAooopgFFFJQIWiiigAooooAKKWigBKKWkoAKKKKACiiigAooooAK KKKACiiloASilooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASiiigAooooAKKKKBBRRRTAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKBBRRRQMKKKKQBRRRQAUUUUAFFF FABRRRQAUtFFABRRRQAUUUUDCiiigAooooAKKKKACilpKACiiigAopaKAEopaKAEopaKACiiigAo oooGFLRRQAUUUUAFFFFIApaSloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAoopKACiiigAopaMUAFFFFABRRRQAUUUUAFFFFABRRRQAUUtFACUUtFACUUtFACUUtF ACUUtFACUUtFACUUtFACUUtFACUUtFAEFKKbS0ih2aXNMpaBjs0maSikAuaM0lFABRSUUALSUUUA FFFJTAcKWmilpFIKKKSkAUUUlMTCkpaSgkKKKSmIWikooELmikopgLRSUUALRSUtAwooooGLRRRQ SFFFFAwooopDFpKWikAUUUUDFzS5ptFIY7NLmm0tIY6ikpaBi0tJRQA7NKKaKcKTAUU4U0U4Uhii lpBS0ABpppxpppgMIppFPNNNUSRkU2pGqM0yGJRS0lNEsKSlopiEpaSlpiCiilpjEooooEFFFFAB RRRSAKKKKACiiigAooooGFFFFABRRS0AFFFFACU4UlKKTGh1LSUtSWLS0lLQMKWkpaACiikpDFop KcKACkpaSgBKKWkpiEpKWkoASilpKBCUUtJTEwoxS0UCDFJS0UAJSUtJTEJRRRQAUtJS0ALRRRQI WiiigBKKWkoAKKKSgBaKKKYBRRRQAUUUUgCiiigAooooAKKKKACiiigAooooAKKKKACiiimAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiloASilooAKKKKACiiigAooooAKKKKBhRRRSAKKKKACiiigApaSlpgFFFFIAooooAKKKKY BRRRQAUUUtACUUtFACUtFFABRRRQMKKWigBKKWigBKKWikAlLRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAlJSmkoAKUUlKKAFFLigUpoAbRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRSAKKKKACiiigAooooAKKKKAK1LTaWmMWlpu aXNIYtFJmigLi0UlFA7i0UlFAri0lFFABRRRQAopaQUtJlJhSUtJQFwpKWkoE2FJS0lBIUlLSUxB RRRTEFFFFABRRRQMKWiigYUUUUALRRRQAUUUUgCiiigYUUUUhi0UUUDCiiikAtLSUtIYtLSUtAxa KKKQCinCminCkxiilpKWgBwopKM0ALTTS0hpgIaaaU0lMka1RmntTDVEMKSlpKaJYUUUUxCUtJS0 wClpKWgBKKKKYgooooAKKKKQBRRRQAUUUUDCiiloAKKKKACiiloASilopAJThSU4UMpC0UtFSWFL SUtABS0lLSGFFFFABS0lLQAUlLSUAFJS0lACUUUUxCUUtJQAlFLSUyWFLRRQIKSlooASkp1JQA2k p1JTASlpKWgQUtJS0ALRSUUCCiikoAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAlFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAoopaAEpaKKACiiigAooooAKKKKACiiigAooooGFFFFABRS0UgEopaKAEpaKKACii igYUUUUCCiiigAooooAKKKKBi0UUUAFFFFAgooooGFFFFAC0UUUwCiiigAooopAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFACGkpaSgApRSUooAcKWk FFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUgCiiigAooooAKKKKACii igCpS0lFWIWjNJRSGLmlptLQAtFJRQAtFJRQAtFFFIBaKSimAop1NFLUspBRRRQAlFFFAhKKKKBB SUtJTEFFFFAgooooGFFFFAC0UUUDCiiigBaKKKRQUUUUAFFFFABRRRSGLRRRQMKKKKQC0tJS0hi0 UlLQAtLSUUDFFOFNFOFJgOopKKQx1FNozTAdmkNJmigQhoopKZI1qYae1MNMlhSUtJVEsKKKKYhK WkpaACiilpjEooooEFFFFABRRRQAUUUUAFFFFAC0UUUhhRRS0AFFFLQAUUUtACU4UlOFJjQUUtFS aCUtFFABS0lLSGFLRRQAUUtJQAUlFFABSUtFMBKSlopiEooooEJRS0lAmFFFLQIKKKKAEpKdSUAN opaSmAlFFFABS0UUCCilpKYgpKWkoAKSlpKAHUUUUCCiiigAooooAKKKKACilpKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASiiigAooooAKK KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUtIBKKWigAooooAKKKKACiiigYUU UUAFFFFABRS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALRRRTAKKKKQBRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFACUUtJQAUCiloAWiiigBK KKKQwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAp0 UUVZIUUUUALRSUUgFopKWgApaSigBaKKKBi0UlFADhS00UtSxhRRRQAUlLSUCCiiimISiiigAooo piCiiigYtFFFIAooooGFFFFAC0UUUigooooAKKKKACiiikMKWkooAWiiikMWiiigBaWkpaBi0UlL SC4opwpgpwpMdxaKKSkAtGaSkzTAdmkzSZopgLRSUUyRGphp5plMlhSUtJTJYUUUUxCUtJS0AFLS UUxhRRRQIKKKKACiiigAooooAWiiigYUUUUgFooooAWiiloAKWkpaAClFJSikxoWilpKk0CiiigA paSlpDFpaSloAKQ0tIaAEooooAKKKKYCUUUUCCkpaKYhKKKKBBRRS0AFFFFACUUtJQAlJS0UANop aKYhKWiloASilooENopaSgQlFLSUALRRRTEFFFFABRRRQAUUUUALSUtJQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKWigBKKWigBKKWikAUUUUAFFFFABRRRQAUUUUDCiiloASloooAKKK KACiiigAooooAKKKKACiiigAoopaACiiigAooooAKKKKYBRRRSAKKKKACiiigAooooAKKKKACiii gAooooAKKKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBaKKKAEooopDCiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpSUtFWQJRR RQAUUUUAFFFFABS0lLQAUtJRQMWikopAOFLTRS0gFpKKKACiiimAUUUUAJRRRQAUUUUAFLRRQAUU UUAFFFFIAooooAWiiigoKKKKBhRRRQAUUUUAFFFFIApaSloAKWkpaBi0UUUgFooooAUU4UynCkwF pKKSgYtJRSUDFopKKBC0UlFMkDTaU0lMlhSUtJTEFJS0lAgpaSlpjCiiigYUUUUCCiiigAooooAK KKWgYlLRRSAKWkpaBhS0lLQAUtJS0gFopKWgApRSUooGhaKKKkoKKKKBhS0lLSGLS0lLSAKQ0tIa AEooopgFFFJQIKKKKYgopKKYgooopMApaKKBhRS0UAJSUtFACUlLRQAlFLRTEJS0UtACUlOpKBCU lLRTENopaSgAooopiCilooASloooAKKKKACkpaSgAooooAKKKKACiiigAooooAKKKKBBRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBKKWig BKKWigAooopAFFFFAwooooAKKKKACiiigAoopaACiiigAooooAKKKKACiiigAoopaAEopaKAEopa KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACilooASilooASilooASilooAKK KKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0UUAFFLSUAFJS0lABRRRQMKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKlFFFWQFFFFABSUtFACUUtFA CUUtFABRRRSAKKKKBiilpBRQIWikooAWikooAKKKKBhRRRTAKWkpaACiiikAUUUUAFFFFIAooooA KWkpaZQUUUUgCiiigAooooAKKKKAClpKWgYUtJS0gClpKKAuLRRRQFxaWm0tJjFpKKKQBSUUUxhR SUUCFopKKYhaSiiglhSUtJTJCkpaSgApaSlpgFFFFAwooooAKKKKACiiigYtJS0UAFFFFIBaKKKB hS0lLQAUtJRSAWlpKKBi0tNpaAQtFJS1JQUUUUgFpaSigYtLSUUhi0lFFABRRRQIKSiimAUlFFMQ UUlFMQtFJS0mAUtJS0hhS0lFMAooooASiiigApaQUtMAopaKBCUUtJQISkpaSgBKSlopiEopaKYg ooooAKKKKACiiigAooooASiiigAooooAKKKKACiiigAooooAKKKKBBRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RTAKKKKACiiigAooooAKKKKACilooASilooASilooASilooAKKKKACiiigAooooGFFFFIAooooAK KKKACiiigBaKKKACiiigAooooAKKKKACloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKWgBK KWkoAKKKKACiiigAooooAKKKKAClpKWgAooooAKKKKACiiigAooooAKKKKQBRRRQAUUUUAFFFFAB RRRQAUUUUAFLSUtABS0lLQAUlLRQA2ig0UALRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKAKdFFFWQFFFFABRRRQAUUUUAFFFFABRRRSAKKKKBgKW iigQUUUUAFFFFMAooooGFFFFABS0UUDCiiigAooopAFFFFAgooopAFLRRTGFFFFMAooopDCiiigQ UUUUAFFFFAC0UUUALRRRQAtFFFABRRRSY0FFFFIYUlFFABRRRTAKKKKCQooooJYUlFFMQUlFFABS 0UUxhRRRQMKKKKQwooooAWiiigAooooAKKKKQxaKKKACiiikAtFFFAwpaKKACiiikAtFFFIYtFFF IYtFFFIBaKKKBhRRRQAUUUUAJRRRTEJSUUUyQooopgFFFFJjQtFFFIoWiiigAooooASiiimAopaK KACiiimIKSiigQlJRRQISiiigQUUUVQgooooAKKKKACiiigAooooASiiigAooooAKKKKACiiigAo oooAKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiiigAooooAKWiigAooooAKKKKACiiigAooo oAKKKKYBRRRQAUUUUgCiiigBaKKKACiiigAooooAKKKKACiiigYUUUUAFLRRQIKKKKACiiigAooo oAKKKKACiiigAooooAKKKKACloooAKSiigAooooAKKKKACiiigAooooAKWiigAooooAKKKKACiii gAooooAKKKKQBRRRQAUUUUAFFFFABRRRQAtJRRQAUtFFACiloooAKQ0UUANNFFFAC0UUUDCiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9k= ------=_Part_281251_426159847.1403480453441-- From dgc@oss.sgi.com Sun Jun 22 21:56:06 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 736157F47; Sun, 22 Jun 2014 21:56:06 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. xfs-for-linus-3.16-rc1-13101-ga497c3b X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d6d211db37e75de2ddc3a4f979038c40df7cc79c X-Git-Newrev: a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee Message-Id: <20140623025606.736157F47@oss.sgi.com> Date: Sun, 22 Jun 2014 21:56:04 -0500 (CDT) 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 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus 8d02076 ->splice_write() via ->write_iter() 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid 7691283 Merge branch 'xfs-misc-fixes-3-for-3.16' into for-next 8612c7e Merge branch 'xfs-da-geom' into for-next 35f46c5 xfs: fix xfs_da_args sparse warning in xfs_readdir 3026511 xfs: Fix rounding in xfs_alloc_fix_len() 448011e xfs: tone down writepage/releasepage WARN_ONs 72208ee xfs: small cleanup in xfs_lowbit64() 36de955 xfs: kill xfs_buf_geterror() 556b888 xfs: xfs_readsb needs to check for magic numbers 1f6d648 xfs: block allocation work needs to be kswapd aware b2a21e7 xfs: remove redundant geometry information from xfs_da_state c2c4c47 xfs: replace attr LBSIZE with xfs_da_geometry c59f0ad xfs: pass xfs_da_args to xfs_attr_leaf_newentsize 33a6039 xfs: use xfs_da_geometry for block size in attr code bc85178 xfs: remove mp->m_dir_geo from directory logging 53f82db xfs: reduce direct usage of mp->m_dir_geo 7ab610f xfs: move node entry counts to xfs_da_geometry ed358c0 xfs: convert dir/attr btree threshold to xfs_da_geometry 8f66193 xfs: convert m_dirblksize to xfs_da_geometry d6cf130 xfs: convert m_dirblkfsbs to xfs_da_geometry 7dda6e8 xfs: convert directory segment limits to xfs_da_geometry 3002803 xfs: convert directory db conversion to xfs_da_geometry 2998ab1 xfs: convert directory dablk conversion to xfs_da_geometry 9b3b552 xfs: convert dir byte/off conversion to xfs_da_geometry 8c44a28 xfs: kill XFS_DIR2...FIRSTDB macros 892e3f3 xfs: move directory block translatiosn to xfs_dir2_priv.h 0650b55 xfs: introduce directory geometry structure b70f14e Merge branch 'xfs-feature-bit-cleanup' into for-next 0d907a3 Merge branch 'xfs-misc-fixes-2-for-3.16' into for-next 376c2f3 xfs: fix compile error when libxfs header used in C++ code 8695d27 xfs: fix infinite loop at xfs_vm_writepage on 32bit system 7c16635 xfs: remove redundant checks from xfs_da_read_buf 110dc24 xfs: log vector rounding leaks log space ce576f1 xfs: remove XFS_TRANS_RESERVE in collapse range ab3e57b xfs: remove shared supberlock feature checking 5d074a4 xfs: don't need dirv2 checks anymore 263997a xfs: turn NLINK feature on by default 32bf1de xfs: keep sb_bad_features2 the same a sb_features2 f68a373 xfs: make superblock version checks reflect reality 2d6dcc6 Merge branch 'xfs-attr-cleanup' into for-next ff14ee4 Merge branch 'xfs-misc-fixes-1-for-3.16' into for-next b767692 Merge branch 'xfs-free-inode-btree' into for-next 232c2f5 Merge branch 'xfs-filestreams-lookup' into for-next fdd3a2a Merge branch 'xfs-unused-args-cleanup' into for-next ee4eec4 xfs: list_lru_init returns a negative error bc14782 xfs: negate xfs_icsb_init_counters error value 4568764 xfs: negate mount workqueue init error value 6670232 xfs: fix wrong err sign on xfs_set_acl() a5a14de xfs: fix wrong errno from xfs_initxattrs 65149e3 xfs: correct error sign on COLLAPSE_RANGE errors b38a134 xfs: xfs_commit_metadata returns wrong errno 8ff1e67 xfs: fix incorrect error sign in xfs_file_aio_read 43ec146 xfs: xfs_dir_fsync() returns positive errno 6c888af xfs: pass struct da_args to xfs_attr_calc_size 67fd718 xfs: simplify attr name setup 1bc426a xfs: fold xfs_attr_remove_int into xfs_attr_remove b87d022 xfs: fold xfs_attr_get_int into xfs_attr_get c5b4ac3 xfs: fold xfs_attr_set_int into xfs_attr_set 8cfcc3e xfs: fix directory readahead offset off-by-one ac98351 xfs: don't sleep in xlog_cil_force_lsn on shutdown 49abc3a xfs: truncate_setsize should be outside transactions bf97f3b xfs: switch to ->write_iter() b4f5d2c xfs: switch to ->read_iter() b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() 0c94933 iov_iter_truncate() 71d8e53 start adding the tag to iov_iter 31b1403 switch {__,}blockdev_direct_IO() to iov_iter a6cbcd4 get rid of pointless iov_length() in ->direct_IO() d8d3d94 pass iov_iter to ->direct_IO() cb66a7a kill generic_segment_checks() f8579f8 generic_file_direct_write(): switch to iov_iter b28fd7b xfs: Fix wrong error codes being returned 3c35337 xfs: remove dquot hints f58522c xfs: bulletfproof xfs_qm_scall_trunc_qfiles() 9da93f9 xfs: fix Q_XQUOTARM ioctl 53801fd xfs: enable the finobt feature on v5 superblocks 0c153c1 xfs: report finobt status in fs geometry a3fa516 xfs: add finobt support to growfs 3efa4ff xfs: update the finobt on inode free 2b64ee5 xfs: refactor xfs_difree() inobt bits into xfs_difree_inobt() helper 6dd8638 xfs: use and update the finobt on inode allocation 0aa0a75 xfs: insert newly allocated inode chunks into the finobt 9d43b18 xfs: update inode allocation/free transaction reservations for finobt aafc3c2 xfs: support the XFS_BTNUM_FINOBT free inode btree type 8e2c84d xfs: reserve v5 superblock read-only compat. feature bit for finobt 57bd3db xfs: refactor xfs_ialloc_btree.c to support multiple inobt numbers b94acd4 xfs: add filestream allocator tracepoints 3b8d907 xfs: remove xfs_filestream_associate 1919add xfs: don't create a slab cache for filestream items 2cd2ef6 xfs: rewrite the filestream allocator using the dentry cache f37211c xfs: remove XFS_IFILESTREAM 22328d7 xfs: embedd mru_elem into parent structure ce695c6 xfs: handle duplicate entries in xfs_mru_cache_insert c977eb1 xfs: split xfs_bmap_btalloc_nullfb 8b90a33 xfs: don't try to use the filestream allocator for metadata allocations 5e06d14 xfs: remove unused calculation in xfs_dir2_sf_addname() e5e98bc xfs: remove pointless pointer increment in xfs_dir2_block_compact() bbe4c66 xfs: remove unused trans pointer arg from xlog_recover_unmount_trans() e4a1e29 xfs: remove unused ail pointer arg from xfs_trans_ail_cursor_done() bda65ef xfs: remove unused xfs_mount arg from xfs_symlink_hdr_ok() fd9fdba xfs: remove unused bp arg from xfs_iflush_fork() e009400 xfs: remove unused pag ptr arg from iterator execute functions 6f8950c xfs: remove unused length arg from alloc_block ops 6ea94bb xfs: remove unused mp arg from xfs_calc_dquots_per_chunk() 2599405 xfs: remove unused mp arg from xfs_dir2 dataptr/byte functions 9df2dd0 xfs: remove unused tp arg from xfs_da_reada_buf & callers 72b0636 xfs: remove unused bip arg from xfs_buf_item_log_segment() 87937bf xfs: remove unused flags arg from _xfs_buf_get_pages() 34dcefd xfs: remove unused args from xfs_alloc_buftarg() a96c415 xfs: remove unused blocksize arg from xfs_setsize_buftarg() 0d7409b xfs: remove unused level arg from xfs_btree_read_buf_block() 6a9edd3 xfs: remove unused mp arg from xfs_bmap_forkoff_reset() 152d93b xfs: remove unused mp arg from xfs_bmdr_maxrecs() 6d0081a xfs: remove unused mp arg from xfs_attr3_rmt_hdr_ok() 7fb2cd4 xfs: remove unused tp arg from xfs_bmap_last_offset() and callers from d6d211db37e75de2ddc3a4f979038c40df7cc79c (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 16b9057804c02e2d351e9c8f606e909b43cbd9e7 Merge: 5c02c39 c2338f2 Author: Linus Torvalds Date: Thu Jun 12 10:30:18 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "This the bunch that sat in -next + lock_parent() fix. This is the minimal set; there's more pending stuff. In particular, I really hope to get acct.c fixes merged this cycle - we need that to deal sanely with delayed-mntput stuff. In the next pile, hopefully - that series is fairly short and localized (kernel/acct.c, fs/super.c and fs/namespace.c). In this pile: more iov_iter work. Most of prereqs for ->splice_write with sane locking order are there and Kent's dio rewrite would also fit nicely on top of this pile" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (70 commits) lock_parent: don't step on stale ->d_parent of all-but-freed one kill generic_file_splice_write() ceph: switch to iter_file_splice_write() shmem: switch to iter_file_splice_write() nfs: switch to iter_splice_write_file() fs/splice.c: remove unneeded exports ocfs2: switch to iter_file_splice_write() ->splice_write() via ->write_iter() bio_vec-backed iov_iter optimize copy_page_{to,from}_iter() bury generic_file_aio_{read,write} lustre: get rid of messing with iovecs ceph: switch to ->write_iter() ceph_sync_direct_write: stop poking into iov_iter guts ceph_sync_read: stop poking into iov_iter guts new helper: copy_page_from_iter() fuse: switch to ->write_iter() btrfs: switch to ->write_iter() ocfs2: switch to ->write_iter() xfs: switch to ->write_iter() ... commit 9c1d5284c79fea050f115eadeec1dd1758e5c630 Merge: 5f07385 9f12600 Author: Al Viro Date: Thu Jun 12 00:27:11 2014 -0400 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus Backmerge of dcache.c changes from mainline. It's that, or complete rebase... Conflicts: fs/splice.c Signed-off-by: Al Viro commit 8d0207652cbe27d1f962050737848e5ad4671958 Author: Al Viro Date: Sat Apr 5 04:27:08 2014 -0400 ->splice_write() via ->write_iter() iter_file_splice_write() - a ->splice_write() instance that gathers the pipe buffers, builds a bio_vec-based iov_iter covering those and feeds it to ->write_iter(). A bunch of simple cases coverted to that... [AV: fixed the braino spotted by Cyrill] Signed-off-by: Al Viro commit 412dd3a6daf0cadce1b2d6a34fa3713f40255579 Merge: 23d4ed5 7691283 Author: Linus Torvalds Date: Wed Jun 11 09:03:47 2014 -0700 Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs Pull xfs updates from Dave Chinner: "This update contains: - cleanup removing unused function args - rework of the filestreams allocator to use dentry cache parent lookups - new on-disk free inode btree and optimised inode allocator - various bug fixes - rework of internal attribute API - cleanup of superblock feature bit support to remove historic cruft - more fixes and minor cleanups - added a new directory/attribute geometry abstraction - yet more fixes and minor cleanups" * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits) xfs: fix xfs_da_args sparse warning in xfs_readdir xfs: Fix rounding in xfs_alloc_fix_len() xfs: tone down writepage/releasepage WARN_ONs xfs: small cleanup in xfs_lowbit64() xfs: kill xfs_buf_geterror() xfs: xfs_readsb needs to check for magic numbers xfs: block allocation work needs to be kswapd aware xfs: remove redundant geometry information from xfs_da_state xfs: replace attr LBSIZE with xfs_da_geometry xfs: pass xfs_da_args to xfs_attr_leaf_newentsize xfs: use xfs_da_geometry for block size in attr code xfs: remove mp->m_dir_geo from directory logging xfs: reduce direct usage of mp->m_dir_geo xfs: move node entry counts to xfs_da_geometry xfs: convert dir/attr btree threshold to xfs_da_geometry xfs: convert m_dirblksize to xfs_da_geometry xfs: convert m_dirblkfsbs to xfs_da_geometry xfs: convert directory segment limits to xfs_da_geometry xfs: convert directory db conversion to xfs_da_geometry xfs: convert directory dablk conversion to xfs_da_geometry ... commit 23adbe12ef7d3d4195e80800ab36b37bee28cd03 Author: Andy Lutomirski Date: Tue Jun 10 12:45:42 2014 -0700 fs,userns: Change inode_capable to capable_wrt_inode_uidgid The kernel has no concept of capabilities with respect to inodes; inodes exist independently of namespaces. For example, inode_capable(inode, CAP_LINUX_IMMUTABLE) would be nonsense. This patch changes inode_capable to check for uid and gid mappings and renames it to capable_wrt_inode_uidgid, which should make it more obvious what it does. Fixes CVE-2014-4014. Cc: Theodore Ts'o Cc: Serge Hallyn Cc: "Eric W. Biederman" Cc: Dave Chinner Cc: stable@vger.kernel.org Signed-off-by: Andy Lutomirski Signed-off-by: Linus Torvalds commit bf97f3bc0c32140c43fe5ca53d23514ea46a54ca Author: Al Viro Date: Thu Apr 3 14:20:23 2014 -0400 xfs: switch to ->write_iter() Signed-off-by: Al Viro commit b4f5d2c6d1f88c79e48f1296076b3a6a22f58c0f Author: Al Viro Date: Wed Apr 2 14:37:59 2014 -0400 xfs: switch to ->read_iter() Signed-off-by: Al Viro commit b318891929c2750055a4002bee3e7636ca3684de Author: Al Viro Date: Wed Apr 2 07:06:30 2014 -0400 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() pos is redundant (it's iocb->ki_pos), and iov/nr_segs/count are taken care of by lifting iov_iter into the caller. Signed-off-by: Al Viro commit 0c949334a9e2581646c6ff0d1470a805b1e5be99 Author: Al Viro Date: Sat Mar 22 06:51:37 2014 -0400 iov_iter_truncate() Now It Can Be Done(tm) - we don't need to do iov_shorten() in generic_file_direct_write() anymore, now that all ->direct_IO() instances are converted to proper iov_iter methods and honour iter->count and iter->iov_offset properly. Get rid of count/ocount arguments of generic_file_direct_write(), while we are at it. Signed-off-by: Al Viro commit 71d8e532b1549a478e6a6a8a44f309d050294d00 Author: Al Viro Date: Wed Mar 5 19:28:09 2014 -0500 start adding the tag to iov_iter For now, just use the same thing we pass to ->direct_IO() - it's all iovec-based at the moment. Pass it explicitly to iov_iter_init() and account for kvec vs. iovec in there, by the same kludge NFS ->direct_IO() uses. Signed-off-by: Al Viro commit 31b140398ce56ab41646eda7f02bcb78d6a4c916 Author: Al Viro Date: Wed Mar 5 01:33:16 2014 -0500 switch {__,}blockdev_direct_IO() to iov_iter Signed-off-by: Al Viro commit a6cbcd4a4a85e2fdb0b3344b88df2e8b3d526b9e Author: Al Viro Date: Tue Mar 4 22:38:00 2014 -0500 get rid of pointless iov_length() in ->direct_IO() all callers have iov_length(iter->iov, iter->nr_segs) == iov_iter_count(iter) Signed-off-by: Al Viro commit d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418 Author: Al Viro Date: Tue Mar 4 21:27:34 2014 -0500 pass iov_iter to ->direct_IO() unmodified, for now Signed-off-by: Al Viro commit cb66a7a1f149ff705fa37cad6d1252b046e0ad4f Author: Al Viro Date: Tue Mar 4 15:24:06 2014 -0500 kill generic_segment_checks() all callers of ->aio_read() and ->aio_write() have iov/nr_segs already checked - generic_segment_checks() done after that is just an odd way to spell iov_length(). Signed-off-by: Al Viro commit f8579f8673b7ecdb7a81d5d5bb1d981093d9aa94 Author: Al Viro Date: Mon Mar 3 22:03:20 2014 -0500 generic_file_direct_write(): switch to iov_iter Signed-off-by: Al Viro ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_ag.h | 36 ++- fs/xfs/xfs_alloc.c | 19 +- fs/xfs/xfs_alloc_btree.c | 1 - fs/xfs/xfs_aops.c | 72 +++-- fs/xfs/xfs_attr.c | 343 ++++++++------------- fs/xfs/xfs_attr_leaf.c | 184 ++++++------ fs/xfs/xfs_attr_leaf.h | 3 +- fs/xfs/xfs_attr_list.c | 1 + fs/xfs/xfs_attr_remote.c | 58 ++-- fs/xfs/xfs_bit.h | 7 +- fs/xfs/xfs_bmap.c | 211 +++++++------ fs/xfs/xfs_bmap.h | 4 +- fs/xfs/xfs_bmap_btree.c | 9 +- fs/xfs/xfs_bmap_btree.h | 2 +- fs/xfs/xfs_bmap_util.c | 18 +- fs/xfs/xfs_bmap_util.h | 13 +- fs/xfs/xfs_btree.c | 56 ++-- fs/xfs/xfs_btree.h | 5 +- fs/xfs/xfs_buf.c | 17 +- fs/xfs/xfs_buf.h | 9 +- fs/xfs/xfs_buf_item.c | 5 +- fs/xfs/xfs_da_btree.c | 114 ++----- fs/xfs/xfs_da_btree.h | 26 +- fs/xfs/xfs_da_format.c | 36 ++- fs/xfs/xfs_da_format.h | 154 ---------- fs/xfs/xfs_dir2.c | 136 +++++---- fs/xfs/xfs_dir2.h | 30 +- fs/xfs/xfs_dir2_block.c | 97 +++--- fs/xfs/xfs_dir2_data.c | 83 +++--- fs/xfs/xfs_dir2_leaf.c | 202 +++++++------ fs/xfs/xfs_dir2_node.c | 190 ++++++------ fs/xfs/xfs_dir2_priv.h | 142 ++++++++- fs/xfs/xfs_dir2_readdir.c | 155 +++++----- fs/xfs/xfs_dir2_sf.c | 39 ++- fs/xfs/xfs_dquot.c | 59 +--- fs/xfs/xfs_dquot.h | 2 - fs/xfs/xfs_dquot_buf.c | 5 +- fs/xfs/xfs_export.c | 2 +- fs/xfs/xfs_file.c | 129 ++------ fs/xfs/xfs_filestream.c | 684 +++++++++--------------------------------- fs/xfs/xfs_filestream.h | 34 +-- fs/xfs/xfs_format.h | 14 +- fs/xfs/xfs_fs.h | 1 + fs/xfs/xfs_fsops.c | 49 ++- fs/xfs/xfs_ialloc.c | 704 +++++++++++++++++++++++++++++++++++++------- fs/xfs/xfs_ialloc.h | 2 +- fs/xfs/xfs_ialloc_btree.c | 69 ++++- fs/xfs/xfs_ialloc_btree.h | 3 +- fs/xfs/xfs_icache.c | 12 +- fs/xfs/xfs_icache.h | 6 +- fs/xfs/xfs_inode.c | 178 +++-------- fs/xfs/xfs_inode.h | 5 +- fs/xfs/xfs_inode_buf.c | 17 +- fs/xfs/xfs_inode_fork.c | 3 +- fs/xfs/xfs_inode_fork.h | 3 +- fs/xfs/xfs_inode_item.c | 32 +- fs/xfs/xfs_ioctl.c | 16 +- fs/xfs/xfs_ioctl32.c | 5 +- fs/xfs/xfs_iomap.c | 2 +- fs/xfs/xfs_iops.c | 32 +- fs/xfs/xfs_itable.c | 6 +- fs/xfs/xfs_log.c | 11 +- fs/xfs/xfs_log.h | 19 +- fs/xfs/xfs_log_cil.c | 57 +++- fs/xfs/xfs_log_recover.c | 11 +- fs/xfs/xfs_log_rlimit.c | 2 +- fs/xfs/xfs_mount.c | 45 ++- fs/xfs/xfs_mount.h | 12 +- fs/xfs/xfs_mru_cache.c | 151 ++++------ fs/xfs/xfs_mru_cache.h | 31 +- fs/xfs/xfs_qm.c | 243 +++------------ fs/xfs/xfs_qm_syscalls.c | 6 +- fs/xfs/xfs_quota_defs.h | 2 +- fs/xfs/xfs_quotaops.c | 29 +- fs/xfs/xfs_rtbitmap.c | 1 - fs/xfs/xfs_sb.c | 12 +- fs/xfs/xfs_sb.h | 235 +++++---------- fs/xfs/xfs_shared.h | 2 +- fs/xfs/xfs_stats.c | 1 + fs/xfs/xfs_stats.h | 18 +- fs/xfs/xfs_super.c | 26 +- fs/xfs/xfs_symlink.c | 3 +- fs/xfs/xfs_symlink_remote.c | 1 - fs/xfs/xfs_trace.c | 1 + fs/xfs/xfs_trace.h | 59 +++- fs/xfs/xfs_trans.c | 2 +- fs/xfs/xfs_trans_ail.c | 5 +- fs/xfs/xfs_trans_priv.h | 3 +- fs/xfs/xfs_trans_resv.c | 56 +++- fs/xfs/xfs_trans_space.h | 12 +- fs/xfs/xfs_types.h | 2 +- 91 files changed, 2696 insertions(+), 2913 deletions(-) hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Sun Jun 22 22:00:53 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 85E227F51; Sun, 22 Jun 2014 22:00:53 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. xfs-for-linus-3.16-rc1-13101-ga497c3b X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: 7691283d0561a350b7517be94818669fb5e3d910 X-Git-Newrev: a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee Message-Id: <20140623030053.85E227F51@oss.sgi.com> Date: Sun, 22 Jun 2014 22:00:52 -0500 (CDT) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus 8d02076 ->splice_write() via ->write_iter() 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid bf97f3b xfs: switch to ->write_iter() b4f5d2c xfs: switch to ->read_iter() b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() 0c94933 iov_iter_truncate() 71d8e53 start adding the tag to iov_iter 31b1403 switch {__,}blockdev_direct_IO() to iov_iter a6cbcd4 get rid of pointless iov_length() in ->direct_IO() d8d3d94 pass iov_iter to ->direct_IO() cb66a7a kill generic_segment_checks() f8579f8 generic_file_direct_write(): switch to iov_iter from 7691283d0561a350b7517be94818669fb5e3d910 (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 16b9057804c02e2d351e9c8f606e909b43cbd9e7 Merge: 5c02c39 c2338f2 Author: Linus Torvalds Date: Thu Jun 12 10:30:18 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "This the bunch that sat in -next + lock_parent() fix. This is the minimal set; there's more pending stuff. In particular, I really hope to get acct.c fixes merged this cycle - we need that to deal sanely with delayed-mntput stuff. In the next pile, hopefully - that series is fairly short and localized (kernel/acct.c, fs/super.c and fs/namespace.c). In this pile: more iov_iter work. Most of prereqs for ->splice_write with sane locking order are there and Kent's dio rewrite would also fit nicely on top of this pile" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (70 commits) lock_parent: don't step on stale ->d_parent of all-but-freed one kill generic_file_splice_write() ceph: switch to iter_file_splice_write() shmem: switch to iter_file_splice_write() nfs: switch to iter_splice_write_file() fs/splice.c: remove unneeded exports ocfs2: switch to iter_file_splice_write() ->splice_write() via ->write_iter() bio_vec-backed iov_iter optimize copy_page_{to,from}_iter() bury generic_file_aio_{read,write} lustre: get rid of messing with iovecs ceph: switch to ->write_iter() ceph_sync_direct_write: stop poking into iov_iter guts ceph_sync_read: stop poking into iov_iter guts new helper: copy_page_from_iter() fuse: switch to ->write_iter() btrfs: switch to ->write_iter() ocfs2: switch to ->write_iter() xfs: switch to ->write_iter() ... commit 9c1d5284c79fea050f115eadeec1dd1758e5c630 Merge: 5f07385 9f12600 Author: Al Viro Date: Thu Jun 12 00:27:11 2014 -0400 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus Backmerge of dcache.c changes from mainline. It's that, or complete rebase... Conflicts: fs/splice.c Signed-off-by: Al Viro commit 8d0207652cbe27d1f962050737848e5ad4671958 Author: Al Viro Date: Sat Apr 5 04:27:08 2014 -0400 ->splice_write() via ->write_iter() iter_file_splice_write() - a ->splice_write() instance that gathers the pipe buffers, builds a bio_vec-based iov_iter covering those and feeds it to ->write_iter(). A bunch of simple cases coverted to that... [AV: fixed the braino spotted by Cyrill] Signed-off-by: Al Viro commit 412dd3a6daf0cadce1b2d6a34fa3713f40255579 Merge: 23d4ed5 7691283 Author: Linus Torvalds Date: Wed Jun 11 09:03:47 2014 -0700 Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs Pull xfs updates from Dave Chinner: "This update contains: - cleanup removing unused function args - rework of the filestreams allocator to use dentry cache parent lookups - new on-disk free inode btree and optimised inode allocator - various bug fixes - rework of internal attribute API - cleanup of superblock feature bit support to remove historic cruft - more fixes and minor cleanups - added a new directory/attribute geometry abstraction - yet more fixes and minor cleanups" * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits) xfs: fix xfs_da_args sparse warning in xfs_readdir xfs: Fix rounding in xfs_alloc_fix_len() xfs: tone down writepage/releasepage WARN_ONs xfs: small cleanup in xfs_lowbit64() xfs: kill xfs_buf_geterror() xfs: xfs_readsb needs to check for magic numbers xfs: block allocation work needs to be kswapd aware xfs: remove redundant geometry information from xfs_da_state xfs: replace attr LBSIZE with xfs_da_geometry xfs: pass xfs_da_args to xfs_attr_leaf_newentsize xfs: use xfs_da_geometry for block size in attr code xfs: remove mp->m_dir_geo from directory logging xfs: reduce direct usage of mp->m_dir_geo xfs: move node entry counts to xfs_da_geometry xfs: convert dir/attr btree threshold to xfs_da_geometry xfs: convert m_dirblksize to xfs_da_geometry xfs: convert m_dirblkfsbs to xfs_da_geometry xfs: convert directory segment limits to xfs_da_geometry xfs: convert directory db conversion to xfs_da_geometry xfs: convert directory dablk conversion to xfs_da_geometry ... commit 23adbe12ef7d3d4195e80800ab36b37bee28cd03 Author: Andy Lutomirski Date: Tue Jun 10 12:45:42 2014 -0700 fs,userns: Change inode_capable to capable_wrt_inode_uidgid The kernel has no concept of capabilities with respect to inodes; inodes exist independently of namespaces. For example, inode_capable(inode, CAP_LINUX_IMMUTABLE) would be nonsense. This patch changes inode_capable to check for uid and gid mappings and renames it to capable_wrt_inode_uidgid, which should make it more obvious what it does. Fixes CVE-2014-4014. Cc: Theodore Ts'o Cc: Serge Hallyn Cc: "Eric W. Biederman" Cc: Dave Chinner Cc: stable@vger.kernel.org Signed-off-by: Andy Lutomirski Signed-off-by: Linus Torvalds commit bf97f3bc0c32140c43fe5ca53d23514ea46a54ca Author: Al Viro Date: Thu Apr 3 14:20:23 2014 -0400 xfs: switch to ->write_iter() Signed-off-by: Al Viro commit b4f5d2c6d1f88c79e48f1296076b3a6a22f58c0f Author: Al Viro Date: Wed Apr 2 14:37:59 2014 -0400 xfs: switch to ->read_iter() Signed-off-by: Al Viro commit b318891929c2750055a4002bee3e7636ca3684de Author: Al Viro Date: Wed Apr 2 07:06:30 2014 -0400 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() pos is redundant (it's iocb->ki_pos), and iov/nr_segs/count are taken care of by lifting iov_iter into the caller. Signed-off-by: Al Viro commit 0c949334a9e2581646c6ff0d1470a805b1e5be99 Author: Al Viro Date: Sat Mar 22 06:51:37 2014 -0400 iov_iter_truncate() Now It Can Be Done(tm) - we don't need to do iov_shorten() in generic_file_direct_write() anymore, now that all ->direct_IO() instances are converted to proper iov_iter methods and honour iter->count and iter->iov_offset properly. Get rid of count/ocount arguments of generic_file_direct_write(), while we are at it. Signed-off-by: Al Viro commit 71d8e532b1549a478e6a6a8a44f309d050294d00 Author: Al Viro Date: Wed Mar 5 19:28:09 2014 -0500 start adding the tag to iov_iter For now, just use the same thing we pass to ->direct_IO() - it's all iovec-based at the moment. Pass it explicitly to iov_iter_init() and account for kvec vs. iovec in there, by the same kludge NFS ->direct_IO() uses. Signed-off-by: Al Viro commit 31b140398ce56ab41646eda7f02bcb78d6a4c916 Author: Al Viro Date: Wed Mar 5 01:33:16 2014 -0500 switch {__,}blockdev_direct_IO() to iov_iter Signed-off-by: Al Viro commit a6cbcd4a4a85e2fdb0b3344b88df2e8b3d526b9e Author: Al Viro Date: Tue Mar 4 22:38:00 2014 -0500 get rid of pointless iov_length() in ->direct_IO() all callers have iov_length(iter->iov, iter->nr_segs) == iov_iter_count(iter) Signed-off-by: Al Viro commit d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418 Author: Al Viro Date: Tue Mar 4 21:27:34 2014 -0500 pass iov_iter to ->direct_IO() unmodified, for now Signed-off-by: Al Viro commit cb66a7a1f149ff705fa37cad6d1252b046e0ad4f Author: Al Viro Date: Tue Mar 4 15:24:06 2014 -0500 kill generic_segment_checks() all callers of ->aio_read() and ->aio_write() have iov/nr_segs already checked - generic_segment_checks() done after that is just an odd way to spell iov_length(). Signed-off-by: Al Viro commit f8579f8673b7ecdb7a81d5d5bb1d981093d9aa94 Author: Al Viro Date: Mon Mar 3 22:03:20 2014 -0500 generic_file_direct_write(): switch to iov_iter Signed-off-by: Al Viro ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 17 ++++---- fs/xfs/xfs_file.c | 119 ++++++++++++----------------------------------------- fs/xfs/xfs_ioctl.c | 2 +- fs/xfs/xfs_trace.h | 1 - 4 files changed, 35 insertions(+), 104 deletions(-) hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Mon Jun 23 02:23:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id C16CF7F47; Mon, 23 Jun 2014 02:23:59 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac X-Git-Refname: refs/heads/xfs-libxfs-restructure X-Git-Reftype: branch X-Git-Oldrev: fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 X-Git-Newrev: c59a5aca071806ce2ed7279bbaf78336da49ce85 Message-Id: <20140623072359.C16CF7F47@oss.sgi.com> Date: Mon, 23 Jun 2014 02:23:59 -0500 (CDT) 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, xfs-libxfs-restructure has been updated discards fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (commit) discards e3584e38615389850684fcffd699d97e2e06f2d6 (commit) discards f212d6fcf5c1cc3a3980dd320804c1dfb9f49b75 (commit) discards e10404cf914273de8016d5992c7049bdb9a9a089 (commit) discards f3a19b3ad85dcc4a073270e1fb594eff37709788 (commit) discards d5a6cda3cf2c0860543db26bb5df7ed4404f74cd (commit) c59a5ac xfs: global error sign conversion 63d512e libxfs: move source files 547a71f libxfs: move header files 62c9454 xfs: create libxfs infrastructure b474c7a xfs: Nuke XFS_ERROR macro d99831f xfs: return is not a function 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus 8d02076 ->splice_write() via ->write_iter() 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid bf97f3b xfs: switch to ->write_iter() b4f5d2c xfs: switch to ->read_iter() b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() 0c94933 iov_iter_truncate() 71d8e53 start adding the tag to iov_iter 31b1403 switch {__,}blockdev_direct_IO() to iov_iter a6cbcd4 get rid of pointless iov_length() in ->direct_IO() d8d3d94 pass iov_iter to ->direct_IO() cb66a7a kill generic_segment_checks() f8579f8 generic_file_direct_write(): switch to iov_iter from fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (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 c59a5aca071806ce2ed7279bbaf78336da49ce85 Author: Dave Chinner Date: Mon Jun 23 16:50:54 2014 +1000 xfs: global error sign conversion Convert all the errors the core XFs code to negative error signs like the rest of the kernel and remove all the sign conversion we do in the interface layers. Errors for conversion (and comparison) found via searches like: $ git grep " E" fs/xfs $ git grep "return E" fs/xfs $ git grep " E[A-Z].*;$" fs/xfs Negation points found via searches like: $ git grep "= -[a-z,A-Z]" fs/xfs $ git grep "return -[a-z,A-D,F-Z]" fs/xfs $ git grep " -[a-z].*;" fs/xfs [ with some bits I missed from Brian Foster ] Signed-off-by: Dave Chinner commit 63d512e1df8acffc3aa0068c6efab100c623968f Author: Dave Chinner Date: Sun Jun 22 15:07:54 2014 +1000 libxfs: move source files Move all the source files that are shared with userspace into libxfs/. This is done as one big chunk simpy to get it done quickly Signed-off-by: Dave Chinner commit 547a71f18113e33ff2420ad8b1712c6ab497a1dc Author: Dave Chinner Date: Sun Jun 22 15:06:54 2014 +1000 libxfs: move header files Move all the header files that are shared with userspace into libxfs. This is done as one big chunk simpy to get it done quickly. Signed-off-by: Dave Chinner commit 62c94547670f715923950a326daf8b129ca05ee5 Author: Dave Chinner Date: Sun Jun 22 15:05:54 2014 +1000 xfs: create libxfs infrastructure To minimise the differences between kernel and userspace code, split the kernel code into the same structure as the userspace code. That is, the gneric core functionality of XFS is moved to a libxfs/ directory and treat it as a layering barrier in the XFS code. This patch introduces the libxfs directory, the build infrastructure and an initial source and header file to build. The libxfs directory will contain the header files that are needed to build libxfs - most of userspace does not care about the location of these header files as they are accessed indirectly. Hence keeping them inside libxfs makes it easy to track the changes and script the sync process as the directory structure will be identical. To allow this changeover to occur in the kernel code, there are some temporary infrastructure in the makefiles to grab the header filesystem from both locations. Once all the files are moved, modifications will be made in the source code that will make the need for these include directives go away. Signed-off-by: Dave Chinner commit b474c7ae4395ba684e85fde8f55c8cf44a39afaf Author: Eric Sandeen Date: Sun Jun 22 15:04:54 2014 +1000 xfs: Nuke XFS_ERROR macro XFS_ERROR was designed long ago to trap return values, but it's not runtime configurable, it's not consistently used, and we can do similar error trapping with ftrace scripts and triggers from userspace. Just nuke XFS_ERROR and associated bits. Signed-off-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit d99831ff393ff2e28d6110b41f24d9fecf986222 Author: Eric Sandeen Date: Sun Jun 22 15:03:54 2014 +1000 xfs: return is not a function return is not a function. "return(EIO);" is silly; "return (EIO);" moreso. return is not a function. Nuke the pointless parens. [dchinner: catch a couple of extra cases in xfs_attr_list.c, xfs_acl.c and xfs_linux.h.] Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 17 +++---- fs/xfs/xfs_attr_list.c | 2 +- fs/xfs/xfs_file.c | 119 +++++++++++-------------------------------------- fs/xfs/xfs_ioctl.c | 2 +- fs/xfs/xfs_ioctl32.c | 4 +- fs/xfs/xfs_trace.h | 1 - 6 files changed, 38 insertions(+), 107 deletions(-) hooks/post-receive -- XFS development tree From david@fromorbit.com Mon Jun 23 03:06:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 1B9417F3F for ; Mon, 23 Jun 2014 03:06:28 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id AFACEAC001 for ; Mon, 23 Jun 2014 01:06:27 -0700 (PDT) X-ASG-Debug-ID: 1403510781-04bdf05666502f10001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id cd7pPMUqsdIcaWqc for ; Mon, 23 Jun 2014 01:06:22 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvJFAHXfp1N5LC2vPGdsb2JhbABZgw1SgnaFCKMUAQEBAQEBBpk1AYEJFwQBAQEBODWEAwEBBScTHDMIAxgJGgsPBSUDBy2IQcY7FxaFTYg3EQFXFoQtBJpLlWSBVCuBOg Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail04.adl6.internode.on.net with ESMTP; 23 Jun 2014 17:36:20 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WyzGc-0005TY-IQ for xfs@oss.sgi.com; Mon, 23 Jun 2014 18:06:18 +1000 Date: Mon, 23 Jun 2014 18:06:18 +1000 From: Dave Chinner To: xfs@oss.sgi.com Subject: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac Message-ID: <20140623080618.GY9508@dastard> X-ASG-Orig-Subj: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac References: <20140623072359.C16CF7F47@oss.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140623072359.C16CF7F47@oss.sgi.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403510781 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6876 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 23, 2014 at 02:23:59AM -0500, xfs@oss.sgi.com wrote: > 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, xfs-libxfs-restructure has been updated > discards fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (commit) > discards e3584e38615389850684fcffd699d97e2e06f2d6 (commit) > discards f212d6fcf5c1cc3a3980dd320804c1dfb9f49b75 (commit) > discards e10404cf914273de8016d5992c7049bdb9a9a089 (commit) > discards f3a19b3ad85dcc4a073270e1fb594eff37709788 (commit) > discards d5a6cda3cf2c0860543db26bb5df7ed4404f74cd (commit) > c59a5ac xfs: global error sign conversion > 63d512e libxfs: move source files > 547a71f libxfs: move header files > 62c9454 xfs: create libxfs infrastructure > b474c7a xfs: Nuke XFS_ERROR macro > d99831f xfs: return is not a function > 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs > 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus > 8d02076 ->splice_write() via ->write_iter() > 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs > 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid > bf97f3b xfs: switch to ->write_iter() > b4f5d2c xfs: switch to ->read_iter() > b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() > 0c94933 iov_iter_truncate() > 71d8e53 start adding the tag to iov_iter > 31b1403 switch {__,}blockdev_direct_IO() to iov_iter > a6cbcd4 get rid of pointless iov_length() in ->direct_IO() > d8d3d94 pass iov_iter to ->direct_IO() > cb66a7a kill generic_segment_checks() > f8579f8 generic_file_direct_write(): switch to iov_iter > from fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (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. This looks like a lot of non-libxfs changes, but it's mostly just noise from the rebase from 3.15.0 to the current master branch at 3.16-rc2. I've added all the negation fixes that Brian noted, and tested all the different config options (m,y,n) for the libxfs restructure. I haven't come across any problems over the weekend, so I'd like to push this out so that we can get this dev cycle properly underway. If people can ack this, I'll add all the appropriate sign-offs and push it. Once that is done, I'll start pulling in all the outstanding patchsets and work through getting them through reviews and into for-next.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From sitsofe@gmail.com Mon Jun 23 04:54:18 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id BB0A07F3F for ; Mon, 23 Jun 2014 04:54:18 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 630FD8F8033 for ; Mon, 23 Jun 2014 02:54:15 -0700 (PDT) X-ASG-Debug-ID: 1403517252-04bdf0566950b5a0001-NocioJ Received: from mail-wi0-f173.google.com (mail-wi0-f173.google.com [209.85.212.173]) by cuda.sgi.com with ESMTP id E9SQfbZajZBeVGve (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 23 Jun 2014 02:54:13 -0700 (PDT) X-Barracuda-Envelope-From: sitsofe@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.212.173 X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.173] Received: by mail-wi0-f173.google.com with SMTP id cc10so3843075wib.0 for ; Mon, 23 Jun 2014 02:54:12 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.173] X-Barracuda-IPDD: Level1 [gmail.com/209.85.212.173] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=RxsvtP7f8OcUIr61m8LvS4BvS1L+CDZ8g9+yognkF1g=; b=YtJrURIh+wSV3PUlFMnTWA7+SskvYB4xiM/wpcKbBs8PsVF4eZT+zhd9vrtwacqFrJ x06Jfk8IEOythzqSRdpCMHc55mMmlPyCnKTnXvZDdK5jBoyIYOoTudGgsu5qbdar67CB jeZyWreNWi/HZpzSWu3XLkxN6RySG31WWBuXUA2lirpGP0jT1Jjaw8jEayKEGSUMwtNZ 5YUYtxYVbJxS/GA4VjfIoHDfCsZF3t+loIGhEyEpypIaFGUgrMnWvYW46VgpXph+5f+s bweyJZTUWUuRVfCDTY82P54bWcvLQ02ICenZ7e13L3h2rXAvZIQjCchKxTY4TaaUuCo8 t8+Q== X-Received: by 10.180.211.36 with SMTP id mz4mr24636791wic.20.1403517252083; Mon, 23 Jun 2014 02:54:12 -0700 (PDT) Received: from sucs.org (silver.sucs.swan.ac.uk. [137.44.10.1]) by mx.google.com with ESMTPSA id i3sm31848376wiz.13.2014.06.23.02.54.10 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 23 Jun 2014 02:54:11 -0700 (PDT) Date: Mon, 23 Jun 2014 10:54:04 +0100 From: Sitsofe Wheeler To: xfs@oss.sgi.com Subject: [PATCH] xfstests: install src/itrash.c Message-ID: <20140623095404.GA31644@sucs.org> X-ASG-Orig-Subj: [PATCH] xfstests: install src/itrash.c MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: mail-wi0-f173.google.com[209.85.212.173] X-Barracuda-Start-Time: 1403517253 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6878 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature tests/xfs/111 uses itrash.c so ensure it's installed. Signed-off-by: Sitsofe Wheeler --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 7a7984a..129aafd 100644 --- a/src/Makefile +++ b/src/Makefile @@ -85,7 +85,7 @@ install: default $(addsuffix -install,$(SUBDIRS)) $(INSTALL) -m 755 -d $(PKG_LIB_DIR)/src $(LTINSTALL) -m 755 $(TARGETS) $(PKG_LIB_DIR)/src $(LTINSTALL) -m 755 fill2attr fill2fs fill2fs_check scaleread.sh $(PKG_LIB_DIR)/src - $(LTINSTALL) -m 644 dumpfile $(PKG_LIB_DIR)/src + $(LTINSTALL) -m 644 dumpfile itrash.c $(PKG_LIB_DIR)/src %-install: $(MAKE) -C $* install -- 1.9.3 From austin@peloton-tech.com Mon Jun 23 15:06:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 449E77F3F for ; Mon, 23 Jun 2014 15:06:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id F36BC304059 for ; Mon, 23 Jun 2014 13:06:20 -0700 (PDT) X-ASG-Debug-ID: 1403553974-04bdf0566654b1c0001-NocioJ Received: from mail-ig0-f175.google.com (mail-ig0-f175.google.com [209.85.213.175]) by cuda.sgi.com with ESMTP id wUawa5mjsztKLThE (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 23 Jun 2014 13:06:15 -0700 (PDT) X-Barracuda-Envelope-From: austin@peloton-tech.com X-Barracuda-Apparent-Source-IP: 209.85.213.175 Received: by mail-ig0-f175.google.com with SMTP id h3so3484181igd.14 for ; Mon, 23 Jun 2014 13:06:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=UTmmquYnk4iKSvtiXacttPBEXAnk2U6y3wmZyw/g8dI=; b=mytHlMzlxabGxrgn8BSVZ7DOQk4T6DeRoNAENwR8a3wKwhVtzIa5UiqcLaqs8O4Hj8 6F/YJZU6la8VFLK/1/t8KKex2eWVD6ZL/Z2vvqIlVOo7WviJN+LRSkzypcE0GHJrPNyg Kieh87kfTJA6TsCZjaZcx41TC/nATLFHSlBC1w8jSQAsylrJBQ8JZisxGwDlrGWWPXPk GNuoUt/iCxbsMOu1N2Kd5Hvall6JqwEI8JfZHuZGM1ZnjBZrKblflm+I+FQjq/MvBNl5 aZ2KFChtY+7nKKmRlhFH5lqo2W6ScP/4djJvLf67kdPFm4W1EMp2GT5s266JPp2SreIb 3SvQ== X-Gm-Message-State: ALoCoQm0+QuHgmbZfvT7YxFe4h3wnO1PG1z6aA4oKgXqgMTOSF0HJZcOBWb8K/+VvO0jt6cYJDOz X-Received: by 10.50.152.98 with SMTP id ux2mr29937147igb.27.1403553974532; Mon, 23 Jun 2014 13:06:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.93.5 with HTTP; Mon, 23 Jun 2014 13:05:54 -0700 (PDT) In-Reply-To: References: <20140305233551.GK6851@dastard> <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> From: Austin Schuh Date: Mon, 23 Jun 2014 13:05:54 -0700 Message-ID: Subject: Re: XFS crash? To: Dave Chinner X-ASG-Orig-Subj: Re: XFS crash? Cc: xfs Content-Type: multipart/alternative; boundary=089e0149baaa134ec604fc8660a6 X-Barracuda-Connect: mail-ig0-f175.google.com[209.85.213.175] X-Barracuda-Start-Time: 1403553975 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6890 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message --089e0149baaa134ec604fc8660a6 Content-Type: text/plain; charset=UTF-8 Hi Dave, On Tue, May 13, 2014 at 10:11 AM, Austin Schuh wrote: > On Tue, May 13, 2014 at 2:03 AM, Dave Chinner wrote: > > On Tue, May 13, 2014 at 12:02:18AM -0700, Austin Schuh wrote: > >> On Mon, May 12, 2014 at 11:39 PM, Dave Chinner > wrote: > >> > On Mon, May 12, 2014 at 09:03:48PM -0700, Austin Schuh wrote: > >> >> On Mon, May 12, 2014 at 8:46 PM, Dave Chinner > wrote: > >> >> > On Mon, May 12, 2014 at 06:29:28PM -0700, Austin Schuh wrote: > >> >> >> On Wed, Mar 5, 2014 at 4:53 PM, Austin Schuh < > austin@peloton-tech.com> wrote: > >> >> >> > Hi Dave, > >> >> >> > > >> >> >> > On Wed, Mar 5, 2014 at 3:35 PM, Dave Chinner < > david@fromorbit.com> wrote: > >> >> >> >> On Wed, Mar 05, 2014 at 03:08:16PM -0800, Austin Schuh wrote: > >> >> >> >>> Howdy, > >> >> >> >>> > >> >> >> >>> I'm running a config_preempt_rt patched version of the > 3.10.11 kernel, > >> >> >> >>> and I'm seeing a couple lockups and crashes which I think are > related > >> >> >> >>> to XFS. > >> >> >> >> > >> >> >> >> I think they ar emore likely related to RT issues.... > >> >> >> >> > >> >> >> > > >> >> >> > That very well may be true. > >> >> >> > > >> >> >> >> Cheers, > >> >> >> >> > >> >> >> >> Dave. > >> >> >> >> -- > >> >> >> >> Dave Chinner > >> >> >> > >> >> >> I had the issue reproduce itself today with just the main SSD > >> >> >> installed. This was on a new machine that was built this morning. > >> >> >> There is a lot less going on in this trace than the previous one. > >> >> > > >> >> > The three blocked threads: > >> >> > > >> >> > 1. kworker running IO completion waiting on an inode lock, > >> >> > holding locked pages. > >> >> > 2. kworker running writeback flusher work waiting for a > page lock > >> >> > 3. direct flush work waiting for allocation, holding page > >> >> > locks and the inode lock. > >> >> > > >> >> > What's the kworker thread running the allocation work doing? > >> >> > > >> >> > You might need to run `echo w > proc-sysrq-trigger` to get this > >> >> > information... > >> >> > >> >> I was able to reproduce the lockup. I ran `echo w > > >> >> /proc/sysrq-trigger` per your suggestion. I don't know how to figure > >> >> out what the kworker thread is doing, but I'll happily do it if you > >> >> can give me some guidance. > >> > > >> > There isn't a worker thread blocked doing an allocation in that > >> > dump, so it doesn't shed any light on the problem at all. try > >> > `echo l > /proc/sysrq-trigger`, followed by `echo t > > >> > /proc/sysrq-trigger` so we can see all the processes running on CPUs > >> > and all the processes in the system... > >> > > >> > Cheers, > >> > > >> > Dave. > >> > >> Attached is the output of the two commands you asked for. > > > > Nothing there. There's lots of processes waiting for allocation to > > run, and no kworkers running allocation work. This looks more > > like a rt-kernel workqueue issue, not an XFS problem. > > > > FWIW, it woul dbe really helpful if you compiled your kernels with > > frame pointers enabled - the stack traces are much more precise and > > readable (i.e. gets rid of all the false/stale entrys) and that > > helps understanding where things are stuck immensely. > > > > Cheers, > > > > Dave. > > Thanks Dave. > > I'll go check with the rt-kernel guys and take it from there. Thanks > for the frame pointers suggestion. I'll make that change the next > time I build a kernel. > > Austin > I found 1 bug in XFS which I fixed, and I've uncovered something else that I'm not completely sure how to fix. In xfs_bmapi_allocate, you create a completion, and use that to wait until the work has finished. Occasionally, I'm seeing a case where I get a context switch after the completion has been completed, but before the workqueue has finished doing it's internal book-keeping. This results in the work being deleted before the workqueue is done using it, corrupting the internal data structures. I fixed it by waiting using flush_work and removing the completion entirely. --- a/fs/xfs/xfs_bmap_util.c 2014-06-23 12:59:10.008678410 -0700 +++ b/fs/xfs/xfs_bmap_util.c 2014-06-23 12:59:14.116678239 -0700 @@ -263,7 +263,6 @@ current_set_flags_nested(&pflags, PF_FSTRANS); args->result = __xfs_bmapi_allocate(args); - complete(args->done); current_restore_flags_nested(&pflags, PF_FSTRANS); } @@ -277,16 +276,13 @@ xfs_bmapi_allocate( struct xfs_bmalloca *args) { - DECLARE_COMPLETION_ONSTACK(done); - if (!args->stack_switch) return __xfs_bmapi_allocate(args); - args->done = &done; INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); queue_work(xfs_alloc_wq, &args->work); - wait_for_completion(&done); + flush_work(&args->work); destroy_work_on_stack(&args->work); return args->result; } --- a/fs/xfs/xfs_bmap_util.h 2014-06-23 12:59:10.008678410 -0700 +++ b/fs/xfs/xfs_bmap_util.h 2014-06-23 12:59:11.708678340 -0700 @@ -57,7 +57,6 @@ char conv; /* overwriting unwritten extents */ char stack_switch; int flags; - struct completion *done; struct work_struct work; int result; }; I enabled event tracing (and added a new event which lists the number of workers running in a queue whenever that is changed). To me, it looks like work is scheduled from irq/44-ahci-273 that will acquire an inode lock. scp-3986 then acquires the lock, and then goes and schedules work. That work is then scheduled behind the work from irq/44-ahci-273 in the same pool. The first work blocks waiting on the lock, and scp-3986 won't finish and release that lock until the second work gets run. Any ideas on how to deal with this? I think we need to create a new pool to make sure that xfs_bmapi_allocate_worker gets run in a separate thread to avoid this. irq/44-ahci-273 [000] ....1.5 76.340300: workqueue_queue_work: work struct=ffff880406a6b998 function=xfs_end_io workqueue=ffff88040af82000 pool=ffff88042da63fc0 req_cpu=512 cpu=0 irq/44-ahci-273 [000] ....1.5 76.340301: workqueue_activate_work: work struct ffff880406a6b998 scp-3986 [000] ....1.. 76.342711: xfs_ilock_nowait: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_SHARED caller xfs_map_blocks scp-3986 [000] ....1.. 76.342714: xfs_iunlock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_SHARED caller xfs_map_blocks scp-3986 [000] ....1.. 76.342722: xfs_ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL caller xfs_iomap_write_allocate scp-3986 [000] ....1.3 76.342729: workqueue_queue_work: work struct=ffff8800a5b8d900 function=xfs_bmapi_allocate_worker workqueue=ffff88040bb36000 pool=ffff88042da63fc0 req_cpu=512 cpu=0 scp-3986 [000] ....1.3 76.342730: workqueue_activate_work: work struct ffff8800a5b8d900 scp-3986 [000] ....1.4 76.342754: workqueue_queue_work: work struct=ffff88040a6a01c8 function=blk_delay_work workqueue=ffff88040c9f4a00 pool=ffff88042da644c0 req_cpu=512 cpu=0 scp-3986 [000] ....1.4 76.342755: workqueue_activate_work: work struct ffff88040a6a01c8 kworker/0:2-757 [000] ....1.1 76.342868: workqueue_nr_running: pool=ffff88042da63fc0 nr_running=1 kworker/0:2-757 [000] ....1.. 76.342869: workqueue_execute_start: work struct ffff880406a6b998: function xfs_end_io kworker/0:2-757 [000] ....1.. 76.342870: xfs_ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL caller xfs_setfilesize irq/44-ahci-273 [003] ....1.5 76.419037: workqueue_queue_work: work struct=ffff8800aebc3588 function=xfs_end_io workqueue=ffff88040af82000 pool=ffff88042dbe3fc0 req_cpu=512 cpu=3 irq/44-ahci-273 [003] ....1.5 76.419038: workqueue_activate_work: work struct ffff8800aebc3588 kworker/3:1-119 [003] ....1.1 76.419105: workqueue_nr_running: pool=ffff88042dbe3fc0 nr_running=1 kworker/3:1-119 [003] ....1.. 76.419106: workqueue_execute_start: work struct ffff8800aebc3588: function xfs_end_io kworker/3:1-119 [003] ....1.. 76.419107: xfs_ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL caller xfs_setfilesize irq/44-ahci-273 [002] ....1.5 76.426120: workqueue_queue_work: work struct=ffff880406a6b930 function=xfs_end_io workqueue=ffff88040af82000 pool=ffff88042db63fc0 req_cpu=512 cpu=2 irq/44-ahci-273 [002] .N..1.5 76.426127: workqueue_activate_work: work struct ffff880406a6b930 kworker/2:1-72 [002] ....1.1 76.426242: workqueue_nr_running: pool=ffff88042db63fc0 nr_running=1 kworker/2:1-72 [002] ....1.. 76.426243: workqueue_execute_start: work struct ffff880406a6b930: function xfs_end_io kworker/2:1-72 [002] ....1.. 76.426244: xfs_ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL caller xfs_setfilesize Thanks, Austin --089e0149baaa134ec604fc8660a6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi D= ave,

O= n Tue, May 13, 2014 at 10:11 AM, Austin Schuh <austin@peloton-tech.c= om> wrote:
On Tue, May 13, 2014 at = 2:03 AM, Dave Chinner <david@from= orbit.com> wrote:
> On Tue, May 13, 2014 at 12:02:18AM -0700, Austin Schuh wrote:
>> On Mon, May 12, 2014 at 11:39 PM, Dave Chinner <david@fromorbit.com> wrote:
>> > On Mon, May 12, 2014 at 09:03:48PM -0700, Austin Schuh wrote:=
>> >> On Mon, May 12, 2014 at 8:46 PM, Dave Chinner <david@fromorbit.com> wrote:
>> >> > On Mon, May 12, 2014 at 06:29:28PM -0700, Austin Sch= uh wrote:
>> >> >> On Wed, Mar 5, 2014 at 4:53 PM, Austin Schuh <= ;austin@peloton-tech.com>= wrote:
>> >> >> > Hi Dave,
>> >> >> >
>> >> >> > On Wed, Mar 5, 2014 at 3:35 PM, Dave Chinne= r <david@fromorbit.com> wr= ote:
>> >> >> >> On Wed, Mar 05, 2014 at 03:08:16PM -080= 0, Austin Schuh wrote:
>> >> >> >>> Howdy,
>> >> >> >>>
>> >> >> >>> I'm running a config_preempt_rt= patched version of the 3.10.11 kernel,
>> >> >> >>> and I'm seeing a couple lockups= and crashes which I think are related
>> >> >> >>> to XFS.
>> >> >> >>
>> >> >> >> I think they ar emore likely related to= RT issues....
>> >> >> >>
>> >> >> >
>> >> >> > That very well may be true.
>> >> >> >
>> >> >> >> Cheers,
>> >> >> >>
>> >> >> >> Dave.
>> >> >> >> --
>> >> >> >> Dave Chinner
>> >> >>
>> >> >> I had the issue reproduce itself today with just= the main SSD
>> >> >> installed. =C2=A0This was on a new machine that = was built this morning.
>> >> >> There is a lot less going on in this trace than = the previous one.
>> >> >
>> >> > The three blocked threads:
>> >> >
>> >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 1. kworker running IO co= mpletion waiting on an inode lock,
>> >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0holding loc= ked pages.
>> >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 2. kworker running write= back flusher work waiting for a page lock
>> >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 3. direct flush work wai= ting for allocation, holding page
>> >> > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0locks and t= he inode lock.
>> >> >
>> >> > What's the kworker thread running the allocation= work doing?
>> >> >
>> >> > You might need to run `echo w > proc-sysrq-trigge= r` to get this
>> >> > information...
>> >>
>> >> I was able to reproduce the lockup. =C2=A0I ran `echo w &= gt;
>> >> /proc/sysrq-trigger` per your suggestion. =C2=A0I don'= ;t know how to figure
>> >> out what the kworker thread is doing, but I'll happil= y do it if you
>> >> can give me some guidance.
>> >
>> > There isn't a worker thread blocked doing an allocation i= n that
>> > dump, so it doesn't shed any light on the problem at all.= try
>> > `echo l > /proc/sysrq-trigger`, followed by `echo t > >> > /proc/sysrq-trigger` so we can see all the processes running = on CPUs
>> > and all the processes in the system...
>> >
>> > Cheers,
>> >
>> > Dave.
>>
>> Attached is the output of the two commands you asked for.
>
> Nothing there. There's lots of processes waiting for allocation to=
> run, and no kworkers running allocation work. This looks more
> like a rt-kernel workqueue issue, not an XFS problem.
>
> FWIW, it woul dbe really helpful if you compiled your kernels with
> frame pointers enabled - the stack traces are much more precise and > readable (i.e. gets rid of all the false/stale entrys) and that
> helps understanding where things are stuck immensely.
>
> Cheers,
>
> Dave.

Thanks Dave.

I'll go check with the rt-kernel guys and take it from there. =C2=A0Tha= nks
for the frame pointers suggestion. =C2=A0I'll make that change the next=
time I build a kernel.

Austin

I fou= nd 1 bug in XFS which I fixed, and I've uncovered something else that I= 'm not completely sure how to fix.

In=C2=A0xfs_bmapi_allocate, you create a c= ompletion, and use that to wait until the work has finished. =C2=A0Occasion= ally, I'm seeing a case where I get a context switch after the completi= on has been completed, but before the workqueue has finished doing it's= internal book-keeping. =C2=A0This results in the work being deleted before= the workqueue is done using it, corrupting the internal data structures. = =C2=A0I fixed it by waiting using=C2=A0flush_work and removing the completi= on entirely.

--- a/fs/xfs/xfs_bmap_util.c = =C2=A0 =C2=A0 =C2=A0 =C2=A02014-06-23 12:59:10.008678410 -0700
+++ b/fs/xfs/xfs_bmap_util.c =C2=A0 =C2=A0 =C2=A02014-0= 6-23 12:59:14.116678239 -0700
@@ -263,7 +263,6 @@
=C2=A0 =C2=A0 =C2=A0 =C2=A0 current_set_flags_nested(&pflags, PF_FS= TRANS);
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 args->result =3D __xfs_bmapi_allocate(ar= gs);
- =C2=A0 =C2=A0 =C2=A0 complete(args->done);<= /div>
=C2=A0
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 current_restore_flags_nested(&pflags, PF_FSTRA= NS);
=C2=A0}
@@ -277,16 +276,13 @@
=C2=A0xfs_bmapi_allocate(
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 struct xfs_bmalloca =C2=A0 =C2=A0 *args)
=C2=A0{
- =C2=A0 =C2=A0 =C2=A0 DECLARE_COMPLETION_ONSTACK(done);
-
=C2=A0 =C2=A0 =C2=A0 =C2=A0= if (!args->stack_switch)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return __xfs_bmapi_allocate(args)= ;
=C2=A0
=C2=A0
- =C2=A0 =C2=A0 =C2=A0 args->done =3D &= ;done;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 INIT_WOR= K_ONSTACK(&args->work, xfs_bmapi_allocate_worker);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 queue_work(xfs_alloc= _wq, &args->work);
- =C2=A0 =C2=A0 = =C2=A0 wait_for_completion(&done);
+ = =C2=A0 =C2=A0 =C2=A0 flush_work(&args->work);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 destroy_work_on_stac= k(&args->work);
=C2=A0 =C2=A0 =C2=A0= =C2=A0 return args->result;
=C2=A0}
--- a/fs/xfs/xfs_bmap_util.h =C2=A0 =C2=A0 =C2=A0 =C2=A02014-06= -23 12:59:10.008678410 -0700
+++ b/fs/xfs/xfs_bmap_util.h =C2=A0 =C2=A0 =C2=A02014-06-23 12:59:11.7= 08678340 -0700
@@ -57,7 +57,6 @@
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 char =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0conv; =C2=A0 /* overwriting unwritten extents */
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 char =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0stack_switch;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 int =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 flags;
- =C2=A0 =C2=A0 =C2=A0 str= uct completion =C2=A0 =C2=A0 =C2=A0 *done;
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 struct work_struct =C2=A0 =C2=A0 =C2=A0work;
=C2=A0 =C2=A0= =C2=A0 =C2=A0 int =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 result;
=C2=A0};

I ena= bled event tracing (and added a new event which lists the number of workers= running in a queue whenever that is changed).

To me, it looks like work is scheduled= from irq/44-ahci-273 that will acquire an inode lock. =C2=A0scp-3986 then = acquires the lock, and then goes and schedules work. =C2=A0That work is the= n scheduled behind the work from irq/44-ahci-273 in the same pool. =C2=A0Th= e first work blocks waiting on the lock, and scp-3986 won't finish and = release that lock until the second work gets run.

Any ideas o= n how to deal with this? =C2=A0I think we need to create a new pool to make= sure that xfs_bmapi_allocate_worker gets run in a separate thread to avoid= this.

=C2=A0 =C2=A0 =C2=A0irq/44-ahci-273 =C2=A0 [000] ....1.5 = =C2=A0 =C2=A076.340300: workqueue_queue_work: work struct=3Dffff880406a6b99= 8 function=3Dxfs_end_io workqueue=3Dffff88040af82000 pool=3Dffff88042da63fc= 0 req_cpu=3D512 cpu=3D0
=C2=A0 =C2=A0 =C2=A0irq/44-ahci-273 =C2=A0 [000]= ....1.5 =C2=A0 =C2=A076.340301: workqueue_activate_work: work struct ffff8= 80406a6b998

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-3986 =C2=A0[000] = ....1.. =C2=A0 =C2=A076.342711: xfs_ilock_nowait: dev 8:5 ino 0x9794 lock_a= ddr ffff880409fe0090 flags ILOCK_SHARED caller xfs_map_blocks
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= scp-3986 =C2=A0[000] ....1.. =C2=A0 =C2=A076.342714: xfs_iunlock: dev 8:5 i= no 0x9794 lock_addr ffff880409fe0090 flags ILOCK_SHARED caller xfs_map_bloc= ks
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0scp-3986 =C2=A0[000] ....1.. =C2=A0 =C2=A076.342722: xfs_ilock: d= ev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL caller xfs_io= map_write_allocate
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= scp-3986 =C2=A0[000] ....1.3 =C2=A0 =C2=A076.342729: workqueue_queue_work: = work struct=3Dffff8800a5b8d900 function=3Dxfs_bmapi_allocate_worker workque= ue=3Dffff88040bb36000 pool=3Dffff88042da63fc0 req_cpu=3D512 cpu=3D0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= scp-3986 =C2=A0[000] ....1.3 =C2=A0 =C2=A076.342730: workqueue_activate_wor= k: work struct ffff8800a5b8d900
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-3986 =C2=A0[000] ....1.4 =C2=A0 = =C2=A076.342754: workqueue_queue_work: work struct=3Dffff88040a6a01c8 funct= ion=3Dblk_delay_work workqueue=3Dffff88040c9f4a00 pool=3Dffff88042da644c0 r= eq_cpu=3D512 cpu=3D0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= scp-3986 =C2=A0[000] ....1.4 =C2=A0 =C2=A076.342755: workqueue_activate_wor= k: work struct ffff88040a6a01c8

<= div class=3D"gmail_extra">=C2=A0 =C2=A0 =C2=A0kworker/0:2-757 =C2=A0 [000] = ....1.1 =C2=A0 =C2=A076.342868: workqueue_nr_running: pool=3Dffff88042da63f= c0 nr_running=3D1
=C2=A0 =C2=A0 =C2=A0kworker/0:2-757 =C2=A0 [000]= ....1.. =C2=A0 =C2=A076.342869: workqueue_execute_start: work struct ffff8= 80406a6b998: function xfs_end_io
=C2=A0 =C2= =A0 =C2=A0kworker/0:2-757 =C2=A0 [000] ....1.. =C2=A0 =C2=A076.342870: xfs_= ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL calle= r xfs_setfilesize

=C2=A0 =C2= =A0 =C2=A0irq/44-ahci-273 =C2=A0 [003] ....1.5 =C2=A0 =C2=A076.419037: work= queue_queue_work: work struct=3Dffff8800aebc3588 function=3Dxfs_end_io work= queue=3Dffff88040af82000 pool=3Dffff88042dbe3fc0 req_cpu=3D512 cpu=3D3
=C2=A0 =C2=A0 =C2=A0irq/44-ahci-273 =C2=A0 [003]= ....1.5 =C2=A0 =C2=A076.419038: workqueue_activate_work: work struct ffff8= 800aebc3588

=C2=A0 =C2=A0 =C2=A0kworker/3:1-119 =C2=A0 [003] ....1.1 =C2=A0 =C2= =A076.419105: workqueue_nr_running: pool=3Dffff88042dbe3fc0 nr_running=3D1<= /div>
=C2=A0 =C2=A0 =C2=A0kworker/3:1-119 =C2=A0 [003]= ....1.. =C2=A0 =C2=A076.419106: workqueue_execute_start: work struct ffff8= 800aebc3588: function xfs_end_io
=C2=A0 =C2= =A0 =C2=A0kworker/3:1-119 =C2=A0 [003] ....1.. =C2=A0 =C2=A076.419107: xfs_= ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOCK_EXCL calle= r xfs_setfilesize

=C2=A0 =C2= =A0 =C2=A0irq/44-ahci-273 =C2=A0 [002] ....1.5 =C2=A0 =C2=A076.426120: work= queue_queue_work: work struct=3Dffff880406a6b930 function=3Dxfs_end_io work= queue=3Dffff88040af82000 pool=3Dffff88042db63fc0 req_cpu=3D512 cpu=3D2
=C2=A0 =C2=A0 =C2=A0irq/44-ahci-273 =C2=A0 [002]= .N..1.5 =C2=A0 =C2=A076.426127: workqueue_activate_work: work struct ffff8= 80406a6b930
=C2=A0 =C2=A0 =C2=A0kworker/2:1= -72 =C2=A0 =C2=A0[002] ....1.1 =C2=A0 =C2=A076.426242: workqueue_nr_running= : pool=3Dffff88042db63fc0 nr_running=3D1
=C2=A0 =C2=A0 =C2=A0kworker/2:1-72 =C2=A0 =C2=A0= [002] ....1.. =C2=A0 =C2=A076.426243: workqueue_execute_start: work struct = ffff880406a6b930: function xfs_end_io
=C2= =A0 =C2=A0 =C2=A0kworker/2:1-72 =C2=A0 =C2=A0[002] ....1.. =C2=A0 =C2=A076.= 426244: xfs_ilock: dev 8:5 ino 0x9794 lock_addr ffff880409fe0090 flags ILOC= K_EXCL caller xfs_setfilesize

Thanks,
=C2=A0 Austin
--089e0149baaa134ec604fc8660a6-- From davej@redhat.com Mon Jun 23 15:27:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 5E0CD7F3F for ; Mon, 23 Jun 2014 15:27:34 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id CE2BDAC004 for ; Mon, 23 Jun 2014 13:27:30 -0700 (PDT) X-ASG-Debug-ID: 1403555245-04cbb065370d560001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id D2zzIZEVoXrXjq7l (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 23 Jun 2014 13:27:26 -0700 (PDT) X-Barracuda-Envelope-From: davej@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5NKRMBE004444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 23 Jun 2014 16:27:22 -0400 Received: from gelk.kernelslacker.org (ovpn-113-199.phx2.redhat.com [10.3.113.199]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5NKRGPL014261 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 23 Jun 2014 16:27:22 -0400 Received: from gelk.kernelslacker.org (localhost [127.0.0.1]) by gelk.kernelslacker.org (8.14.8/8.14.7) with ESMTP id s5NKRGBg006166; Mon, 23 Jun 2014 16:27:16 -0400 Received: (from davej@localhost) by gelk.kernelslacker.org (8.14.8/8.14.8/Submit) id s5NKREdi006165; Mon, 23 Jun 2014 16:27:14 -0400 X-Authentication-Warning: gelk.kernelslacker.org: davej set sender to davej@redhat.com using -f Date: Mon, 23 Jun 2014 16:27:14 -0400 From: Dave Jones To: Dave Chinner Cc: xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org Subject: Re: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140623202714.GA2714@redhat.com> X-ASG-Orig-Subj: Re: XFS WARN_ON in xfs_vm_writepage Mail-Followup-To: Dave Jones , Dave Chinner , xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org References: <20140613051631.GA9394@redhat.com> <20140613062645.GZ9508@dastard> <20140613141925.GA24199@redhat.com> <20140619020340.GI4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140619020340.GI4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403555246 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 19, 2014 at 12:03:40PM +1000, Dave Chinner wrote: > On Fri, Jun 13, 2014 at 10:19:25AM -0400, Dave Jones wrote: > > On Fri, Jun 13, 2014 at 04:26:45PM +1000, Dave Chinner wrote: > > > > > > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > > > > 971 PF_MEMALLOC)) > > > > > > What were you running at the time? The XFS warning is there to > > > indicate that memory reclaim is doing something it shouldn't (i.e. > > > dirty page writeback from direct reclaim), so this is one for the mm > > > folk to work out... > > > > Trinity had driven the machine deeply into swap, and the oom killer was > > kicking in pretty often. Then this happened. > > Yup, sounds like a problem somewhere in mm/vmscan.c.... I'm now hitting this fairly often, and no-one seems to have offered up any suggestions yet, so I'm going to flail and guess randomly until someone has a better idea what could be wrong. That WARN commentary for the benefit of linux-mm readers.. 960 /* 961 * Refuse to write the page out if we are called from reclaim context. 962 * 963 * This avoids stack overflows when called from deeply used stacks in 964 * random callers for direct reclaim or memcg reclaim. We explicitly 965 * allow reclaim from kswapd as the stack usage there is relatively low. 966 * 967 * This should never happen except in the case of a VM regression so 968 * warn about it. 969 */ 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == 971 PF_MEMALLOC)) 972 goto redirty; Looking at this trace.. xfs_vm_writepage+0x5ce/0x630 [xfs] ? preempt_count_sub+0xab/0x100 ? __percpu_counter_add+0x85/0xc0 shrink_page_list+0x8f9/0xb90 shrink_inactive_list+0x253/0x510 shrink_lruvec+0x563/0x6c0 shrink_zone+0x3b/0x100 shrink_zones+0x1f1/0x3c0 try_to_free_pages+0x164/0x380 __alloc_pages_nodemask+0x822/0xc90 alloc_pages_vma+0xaf/0x1c0 read_swap_cache_async+0x123/0x220 ? final_putname+0x22/0x50 swapin_readahead+0x149/0x1d0 ? find_get_entry+0xd5/0x130 ? pagecache_get_page+0x30/0x210 ? debug_smp_processor_id+0x17/0x20 handle_mm_fault+0x9d5/0xc50 __do_page_fault+0x1d2/0x640 ? __acct_update_integrals+0x8b/0x120 ? preempt_count_sub+0xab/0x100 do_page_fault+0x1e/0x70 page_fault+0x22/0x30 The reclaim here looks to be triggered from the readahead code. Should something in that path be setting PF_KSWAPD in the gfp mask ? Dave From mlsemon35@gmail.com Mon Jun 23 16:48:46 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id D3C777F3F for ; Mon, 23 Jun 2014 16:48:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 67EBDAC002 for ; Mon, 23 Jun 2014 14:48:42 -0700 (PDT) X-ASG-Debug-ID: 1403560120-04bdf0566654ebb0001-NocioJ Received: from mail-qc0-f170.google.com (mail-qc0-f170.google.com [209.85.216.170]) by cuda.sgi.com with ESMTP id WZEDFUj2xygirrqj (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 23 Jun 2014 14:48:40 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.170 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.170] Received: by mail-qc0-f170.google.com with SMTP id l6so6855360qcy.1 for ; Mon, 23 Jun 2014 14:48:39 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.170] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.170] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :content-type:content-transfer-encoding; bh=apzDm9MMNg+Nxv5EGMD01bmRbGAMHYaQ5o7DsZRrat4=; b=pDZtPp3b97tw+9LvFTvfXUqPmW0vqPX+LVjCuu7kFpL7EtXtg6STRmL1Q8J7uhQiTj YI858+Z1fOQVj7Kx9pv6SjW8ISJxDprpNp3qGSnV8Ob5LBxUv79xYTsVc5J/pqwSushF p9pokz1gOhRq5BGM8fkt7PKKEWEBhxH968kWUwIYw2C51/0Prv1HIUyRbZPPKyzH0GtR JBU88RkVn/pfBMI1pRmi6dMMhbXISAoZ7xMTYQAte8NA81PuDeXg5B6Qbe8oA6VJkS78 wxkpZzabNVJR7PfRlbAYcV8Wf+VsFynQfloJ7L2LgRB4w+qZ0Fx4DmJCcrU67gqQfEC3 fq5A== X-Received: by 10.140.96.38 with SMTP id j35mr35384058qge.5.1403560119811; Mon, 23 Jun 2014 14:48:39 -0700 (PDT) Received: from [192.168.0.129] (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id y10sm32086873qal.32.2014.06.23.14.48.39 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 23 Jun 2014 14:48:39 -0700 (PDT) Message-ID: <53A8A0AF.9070009@gmail.com> Date: Mon, 23 Jun 2014 17:48:31 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: xfs-oss CC: Dave Chinner Subject: Null pointer dereference while at ACL limit on v5 XFS Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: Null pointer dereference while at ACL limit on v5 XFS Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qc0-f170.google.com[209.85.216.170] X-Barracuda-Start-Time: 1403560120 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6892 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature At the ACL limit of v5-superblock XFS--with a directory filled with both default and access ACL entries--I'm getting a null pointer dereference on x86 after creating the directory successfully. Disclaimer: There's some current issues on 32-bit x86 that, for instance, can make badblocks see phantom bad blocks on a read test. My apologies in advance if this turns out to be a false alarm bug report. My first encounter with this issue involved fsstress. Here's part of a `crash` session from the fsstress run. root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux System.map vmcore crash 7.0.4 # setup was snipped. DEBUG KERNEL: vmlinux DUMPFILE: vmcore CPUS: 1 DATE: Fri Jun 20 13:04:23 2014 UPTIME: 00:29:49 LOAD AVERAGE: 1.06, 1.56, 0.75 TASKS: 78 NODENAME: oldsvrhw RELEASE: 3.16.0-rc1+ VERSION: #1 SMP Thu Jun 19 20:10:57 EDT 2014 MACHINE: i686 (730 Mhz) MEMORY: 510.4 MB PANIC: "Oops: 0000 [#1] SMP DEBUG_PAGEALLOC" (check log for details) PID: 41 COMMAND: "kworker/0:1H" TASK: de8f2ac0 [THREAD_INFO: de92e000] CPU: 0 STATE: TASK_RUNNING (PANIC) crash> dmesg # ### excerpt: # ### mounted $SCRATCH_DEV, applied ACLs to $SCRATCH_MNT/test_dir [ 1499.886170] XFS (hdc5): Mounting V5 Filesystem [ 1500.057759] XFS (hdc5): Ending clean mount # ### ran `fsstress -d $SCRATCH_MNT/test-dir/a -n 10000 -p 16` # ### BTW, does fsstress trash the existing directory before a run? [ 1654.043846] fsstress (610) used greatest stack depth: 4956 bytes left [ 1654.063619] fsstress (615) used greatest stack depth: 4920 bytes left [ 1654.082220] fsstress (623) used greatest stack depth: 4820 bytes left [ 1654.087344] fsstress (611) used greatest stack depth: 4800 bytes left [ 1654.094295] fsstress (614) used greatest stack depth: 4784 bytes left [ 1654.191650] fsstress (608) used greatest stack depth: 4768 bytes left [ 1663.452036] perf interrupt took too long (2537 > 2500), lowering kernel.perf_event_max_sample_rate to 50000 # ### This was OK, so I hit Ctrl-c, then ran this (not in child directory): # ### ran `fsstress -d $SCRATCH_MNT/test-dir -n 10000 -p 16` [ 1789.338622] BUG: unable to handle kernel NULL pointer dereference at 0000000c [ 1789.338842] IP: [] xfs_ail_check+0x58/0xc0 [ 1789.338994] *pde = 00000000 [ 1789.339042] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 1789.339042] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #1 [ 1789.339042] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 [ 1789.339042] Workqueue: xfslogd xfs_buf_iodone_work [ 1789.339042] task: de8f2ac0 ti: de92e000 task.ti: de92e000 [ 1789.339042] EIP: 0060:[] EFLAGS: 00010286 CPU: 0 [ 1789.339042] EIP is at xfs_ail_check+0x58/0xc0 [ 1789.339042] EAX: 00000000 EBX: dde37370 ECX: 0000330a EDX: 0000330a [ 1789.339042] ESI: 00000001 EDI: 00000001 EBP: de92fc9c ESP: de92fc90 [ 1789.339042] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 1789.339042] CR0: 8005003b CR2: 0000000c CR3: 1c8ef000 CR4: 000007d0 [ 1789.339042] Stack: [ 1789.339042] dde37370 ddc4ea80 00000001 de92fcac c12630c3 dde37370 00000012 de92fd04 [ 1789.339042] c1263d1d 00000000 00000001 00000000 00000000 ddc4ea88 de92fd38 dc8bba28 [ 1789.339042] ddc4ea80 00000000 0000330a de92fd44 0000001f 00000001 00000012 00003362 [ 1789.339042] Call Trace: [ 1789.339042] [] xfs_ail_delete+0x13/0x60 [ 1789.339042] [] xfs_trans_ail_update_bulk+0xad/0x3c0 [ 1789.339042] [] xfs_trans_committed_bulk+0x255/0x300 [ 1789.339042] [] xlog_cil_committed+0x3c/0x160 [ 1789.339042] [] xlog_state_do_callback+0x17c/0x380 [ 1789.339042] [] xlog_state_done_syncing+0xc3/0xe0 [ 1789.339042] [] xlog_iodone+0x6e/0x100 [ 1789.339042] [] xfs_buf_iodone_work+0x5b/0xe0 [ 1789.339042] [] process_one_work+0x1b5/0x570 [ 1789.339042] [] ? process_one_work+0x138/0x570 [ 1789.339042] [] ? worker_thread+0x165/0x470 [ 1789.339042] [] worker_thread+0xf7/0x470 [ 1789.339042] [] ? process_one_work+0x570/0x570 [ 1789.339042] [] kthread+0xa1/0xc0 [ 1789.339042] [] ? trace_hardirqs_on+0xb/0x10 [ 1789.339042] [] ret_from_kernel_thread+0x21/0x30 [ 1789.339042] [] ? insert_kthread_work+0x80/0x80 [ 1789.339042] Code: c1 b8 d8 9e 62 c1 e8 a8 00 f9 ff 8b 43 04 39 c6 74 10 8b 7b 0c 39 78 0c 8b 53 08 8b 48 08 74 43 73 45 8b 03 39 c6 74 24 8b 73 0c <39> 70 0c 8b 53 08 8b 48 08 74 4d 73 14 b9 38 00 00 00 ba e3 a3 [ 1789.339042] EIP: [] xfs_ail_check+0x58/0xc0 SS:ESP 0068:de92fc90 [ 1789.339042] CR2: 000000000000000c Since then, I've been trying out different ways of reproducing this message. # ------ shortest way found so far ------ For a seed file, use this URL... https://docs.google.com/file/d/0B41268QKoNjtMEU5UUZvMXF6ZzQ Hopefully, the order will go like this (from memory): # get the seed file, and xz -d max_acl_file.xz mkfs.xfs -f -m crc=1 $SCRATCH_DEV mount $SCRATCH_DEV $SCRATCH_MNT mkdir $SCRATCH_MNT/acl-dir setfacl --set-file=max_acl_file $SCRATCH_MNT/acl-dir cd $SCRATCH_MNT/acl-dir # or `touch a b c; mkdir d e f` mkdir a b c sync rm -rv ./* sync # ---------------------------------------- That's as short as I can get it...if it works. If not, keep trying different things. The tests need not be heavy: A few seconds worth of fs_mark should populate the directory sufficiently. The `rm -rv ./*` is key. sync is not required, the oops will happen on its own. This seems to happen only at a point where one or both ACL limits have been hit. I'm only guessing that when a default entry is made, space is allocated for the access entry, and vice versa. Thanks! Michael From tinguely@sgi.com Mon Jun 23 17:09:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8794B7F3F for ; Mon, 23 Jun 2014 17:09:01 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5C11C8F8040 for ; Mon, 23 Jun 2014 15:08:58 -0700 (PDT) Message-ID: <53A8A578.4070005@sgi.com> Date: Mon, 23 Jun 2014 17:08:56 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> In-Reply-To: <53A8A0AF.9070009@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/23/14 16:48, Michael L. Semon wrote: > At the ACL limit of v5-superblock XFS--with a directory filled with both default > and access ACL entries--I'm getting a null pointer dereference on x86 after > creating the directory successfully. > > Disclaimer: There's some current issues on 32-bit x86 that, for instance, can > make badblocks see phantom bad blocks on a read test. My apologies in advance > if this turns out to be a false alarm bug report. > > My first encounter with this issue involved fsstress. Here's part of a `crash` > session from the fsstress run. > > root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux System.map vmcore > crash 7.0.4 > # setup was snipped. > DEBUG KERNEL: vmlinux > DUMPFILE: vmcore > CPUS: 1 > DATE: Fri Jun 20 13:04:23 2014 > UPTIME: 00:29:49 > LOAD AVERAGE: 1.06, 1.56, 0.75 > TASKS: 78 > NODENAME: oldsvrhw > RELEASE: 3.16.0-rc1+ > VERSION: #1 SMP Thu Jun 19 20:10:57 EDT 2014 > MACHINE: i686 (730 Mhz) > MEMORY: 510.4 MB > PANIC: "Oops: 0000 [#1] SMP DEBUG_PAGEALLOC" (check log for details) > PID: 41 > COMMAND: "kworker/0:1H" > TASK: de8f2ac0 [THREAD_INFO: de92e000] > CPU: 0 > STATE: TASK_RUNNING (PANIC) > > crash> dmesg > # ### excerpt: > > # ### mounted $SCRATCH_DEV, applied ACLs to $SCRATCH_MNT/test_dir > [ 1499.886170] XFS (hdc5): Mounting V5 Filesystem > [ 1500.057759] XFS (hdc5): Ending clean mount > > # ### ran `fsstress -d $SCRATCH_MNT/test-dir/a -n 10000 -p 16` > # ### BTW, does fsstress trash the existing directory before a run? > [ 1654.043846] fsstress (610) used greatest stack depth: 4956 bytes left > [ 1654.063619] fsstress (615) used greatest stack depth: 4920 bytes left > [ 1654.082220] fsstress (623) used greatest stack depth: 4820 bytes left > [ 1654.087344] fsstress (611) used greatest stack depth: 4800 bytes left > [ 1654.094295] fsstress (614) used greatest stack depth: 4784 bytes left > [ 1654.191650] fsstress (608) used greatest stack depth: 4768 bytes left > [ 1663.452036] perf interrupt took too long (2537> 2500), lowering kernel.perf_event_max_sample_rate to 50000 > > # ### This was OK, so I hit Ctrl-c, then ran this (not in child directory): > # ### ran `fsstress -d $SCRATCH_MNT/test-dir -n 10000 -p 16` > [ 1789.338622] BUG: unable to handle kernel NULL pointer dereference at 0000000c > [ 1789.338842] IP: [] xfs_ail_check+0x58/0xc0 > [ 1789.338994] *pde = 00000000 > [ 1789.339042] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC > [ 1789.339042] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #1 > [ 1789.339042] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 > [ 1789.339042] Workqueue: xfslogd xfs_buf_iodone_work > [ 1789.339042] task: de8f2ac0 ti: de92e000 task.ti: de92e000 > [ 1789.339042] EIP: 0060:[] EFLAGS: 00010286 CPU: 0 > [ 1789.339042] EIP is at xfs_ail_check+0x58/0xc0 > [ 1789.339042] EAX: 00000000 EBX: dde37370 ECX: 0000330a EDX: 0000330a > [ 1789.339042] ESI: 00000001 EDI: 00000001 EBP: de92fc9c ESP: de92fc90 > [ 1789.339042] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 > [ 1789.339042] CR0: 8005003b CR2: 0000000c CR3: 1c8ef000 CR4: 000007d0 > [ 1789.339042] Stack: > [ 1789.339042] dde37370 ddc4ea80 00000001 de92fcac c12630c3 dde37370 00000012 de92fd04 > [ 1789.339042] c1263d1d 00000000 00000001 00000000 00000000 ddc4ea88 de92fd38 dc8bba28 > [ 1789.339042] ddc4ea80 00000000 0000330a de92fd44 0000001f 00000001 00000012 00003362 > [ 1789.339042] Call Trace: > [ 1789.339042] [] xfs_ail_delete+0x13/0x60 > [ 1789.339042] [] xfs_trans_ail_update_bulk+0xad/0x3c0 > [ 1789.339042] [] xfs_trans_committed_bulk+0x255/0x300 > [ 1789.339042] [] xlog_cil_committed+0x3c/0x160 > [ 1789.339042] [] xlog_state_do_callback+0x17c/0x380 > [ 1789.339042] [] xlog_state_done_syncing+0xc3/0xe0 > [ 1789.339042] [] xlog_iodone+0x6e/0x100 > [ 1789.339042] [] xfs_buf_iodone_work+0x5b/0xe0 > [ 1789.339042] [] process_one_work+0x1b5/0x570 > [ 1789.339042] [] ? process_one_work+0x138/0x570 > [ 1789.339042] [] ? worker_thread+0x165/0x470 > [ 1789.339042] [] worker_thread+0xf7/0x470 > [ 1789.339042] [] ? process_one_work+0x570/0x570 > [ 1789.339042] [] kthread+0xa1/0xc0 > [ 1789.339042] [] ? trace_hardirqs_on+0xb/0x10 > [ 1789.339042] [] ret_from_kernel_thread+0x21/0x30 > [ 1789.339042] [] ? insert_kthread_work+0x80/0x80 > [ 1789.339042] Code: c1 b8 d8 9e 62 c1 e8 a8 00 f9 ff 8b 43 04 39 c6 74 10 8b 7b 0c 39 78 0c 8b 53 08 8b 48 08 74 43 73 45 8b 03 39 c6 74 24 8b 73 0c<39> 70 0c 8b 53 08 8b 48 08 74 4d 73 14 b9 38 00 00 00 ba e3 a3 > [ 1789.339042] EIP: [] xfs_ail_check+0x58/0xc0 SS:ESP 0068:de92fc90 > [ 1789.339042] CR2: 000000000000000c > > Since then, I've been trying out different ways of reproducing this > message. > > # ------ shortest way found so far ------ > > For a seed file, use this URL... > > https://docs.google.com/file/d/0B41268QKoNjtMEU5UUZvMXF6ZzQ > > Hopefully, the order will go like this (from memory): > > # get the seed file, and > xz -d max_acl_file.xz > > mkfs.xfs -f -m crc=1 $SCRATCH_DEV > mount $SCRATCH_DEV $SCRATCH_MNT > > mkdir $SCRATCH_MNT/acl-dir > > setfacl --set-file=max_acl_file $SCRATCH_MNT/acl-dir > > cd $SCRATCH_MNT/acl-dir > > # or `touch a b c; mkdir d e f` > mkdir a b c > sync > > rm -rv ./* > sync > > # ---------------------------------------- > > That's as short as I can get it...if it works. If not, keep trying > different things. The tests need not be heavy: A few seconds worth > of fs_mark should populate the directory sufficiently. The `rm -rv ./*` > is key. sync is not required, the oops will happen on its own. > > This seems to happen only at a point where one or both ACL limits > have been hit. I'm only guessing that when a default entry is made, space > is allocated for the access entry, and vice versa. > > Thanks! > > Michael > Michael, do you have the vmcore dump for this or was this just from the messages. Thanks. --Mark. From tinguely@sgi.com Mon Jun 23 17:13:13 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 237A27F3F for ; Mon, 23 Jun 2014 17:13:13 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay1.corp.sgi.com (Postfix) with ESMTP id E767E8F8040; Mon, 23 Jun 2014 15:13:12 -0700 (PDT) Message-ID: <53A8A676.80305@sgi.com> Date: Mon, 23 Jun 2014 17:13:10 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: "Michael L. Semon" CC: xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> In-Reply-To: <53A8A578.4070005@sgi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/23/14 17:08, Mark Tinguely wrote: > On 06/23/14 16:48, Michael L. Semon wrote: >> At the ACL limit of v5-superblock XFS--with a directory filled with >> both default >> and access ACL entries--I'm getting a null pointer dereference on x86 >> after >> creating the directory successfully. >> >> Disclaimer: There's some current issues on 32-bit x86 that, for >> instance, can >> make badblocks see phantom bad blocks on a read test. My apologies in >> advance >> if this turns out to be a false alarm bug report. >> >> My first encounter with this issue involved fsstress. Here's part of a >> `crash` >> session from the fsstress run. >> >> root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux >> System.map vmcore >> crash 7.0.4 ... >> Thanks! >> >> Michael >> > > Michael, do you have the vmcore dump for this or was this just from the > messages. > > Thanks. > > --Mark. ummm, duh me. you were running crash ... Can I look at the core? --Mark. From david@fromorbit.com Mon Jun 23 20:07:11 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 0EA1C7F3F for ; Mon, 23 Jun 2014 20:07:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id CFB0130405F for ; Mon, 23 Jun 2014 18:07:10 -0700 (PDT) X-ASG-Debug-ID: 1403572024-04bdf05668554bc0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id yAtG9srvWVor2gXV for ; Mon, 23 Jun 2014 18:07:05 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsBSAIvOqFN5LC2vPGdsb2JhbABagw2DSKguBpk1AYEKFwQBAQEBODWEAwEBBAEnExwoCwgDGAklDwUlAwcaARKIOgfDeBcWhU2JIIRDBJpLizaMAis Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Jun 2014 10:32:37 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzF85-0008B7-P2; Tue, 24 Jun 2014 11:02:33 +1000 Date: Tue, 24 Jun 2014 11:02:33 +1000 From: Dave Chinner To: Dave Jones , xfs@oss.sgi.com, Linux Kernel , linux-mm@kvack.org Subject: Re: XFS WARN_ON in xfs_vm_writepage Message-ID: <20140624010233.GZ9508@dastard> X-ASG-Orig-Subj: Re: XFS WARN_ON in xfs_vm_writepage References: <20140613051631.GA9394@redhat.com> <20140613062645.GZ9508@dastard> <20140613141925.GA24199@redhat.com> <20140619020340.GI4453@dastard> <20140623202714.GA2714@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140623202714.GA2714@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1403572024 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6901 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 23, 2014 at 04:27:14PM -0400, Dave Jones wrote: > On Thu, Jun 19, 2014 at 12:03:40PM +1000, Dave Chinner wrote: > > On Fri, Jun 13, 2014 at 10:19:25AM -0400, Dave Jones wrote: > > > On Fri, Jun 13, 2014 at 04:26:45PM +1000, Dave Chinner wrote: > > > > > > > > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > > > > > 971 PF_MEMALLOC)) > > > > > > > > What were you running at the time? The XFS warning is there to > > > > indicate that memory reclaim is doing something it shouldn't (i.e. > > > > dirty page writeback from direct reclaim), so this is one for the mm > > > > folk to work out... > > > > > > Trinity had driven the machine deeply into swap, and the oom killer was > > > kicking in pretty often. Then this happened. > > > > Yup, sounds like a problem somewhere in mm/vmscan.c.... > > I'm now hitting this fairly often, and no-one seems to have offered up > any suggestions yet, so I'm going to flail and guess randomly until someone > has a better idea what could be wrong. You are not alone - I haven't been able to get anyone from the MM side of things to comment on any of the bad behaviours we've had reported recently. > That WARN commentary for the benefit of linux-mm readers.. > > 960 /* > 961 * Refuse to write the page out if we are called from reclaim context. > 962 * > 963 * This avoids stack overflows when called from deeply used stacks in > 964 * random callers for direct reclaim or memcg reclaim. We explicitly > 965 * allow reclaim from kswapd as the stack usage there is relatively low. > 966 * > 967 * This should never happen except in the case of a VM regression so > 968 * warn about it. > 969 */ > 970 if (WARN_ON_ONCE((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == > 971 PF_MEMALLOC)) > 972 goto redirty; > > > Looking at this trace.. > > xfs_vm_writepage+0x5ce/0x630 [xfs] > ? preempt_count_sub+0xab/0x100 > ? __percpu_counter_add+0x85/0xc0 > shrink_page_list+0x8f9/0xb90 > shrink_inactive_list+0x253/0x510 > shrink_lruvec+0x563/0x6c0 > shrink_zone+0x3b/0x100 > shrink_zones+0x1f1/0x3c0 > try_to_free_pages+0x164/0x380 > __alloc_pages_nodemask+0x822/0xc90 > alloc_pages_vma+0xaf/0x1c0 > read_swap_cache_async+0x123/0x220 > ? final_putname+0x22/0x50 > swapin_readahead+0x149/0x1d0 > ? find_get_entry+0xd5/0x130 > ? pagecache_get_page+0x30/0x210 > ? debug_smp_processor_id+0x17/0x20 > handle_mm_fault+0x9d5/0xc50 > __do_page_fault+0x1d2/0x640 > ? __acct_update_integrals+0x8b/0x120 > ? preempt_count_sub+0xab/0x100 > do_page_fault+0x1e/0x70 > page_fault+0x22/0x30 > > The reclaim here looks to be triggered from the readahead code. > Should something in that path be setting PF_KSWAPD in the gfp mask ? Definitely not. It's not kswapd that is doing the memory allocation and we most certainly do not want direct reclaim to get a free pass through reclaim congestion and backoff algorithms. This could be another symptom of the other problems we've been seeing which involve direct reclaim thottling way too hard (via the too_many_isolated() loops) and getting stuck. This is a case of direct reclaim finding dirty pages on the LRU, which should have been handled by writeback threads or kswapd before direct reclaim can find them. IOWs, direct reclaim is doing work when it probably should have been throttled. As the comment in the XFS code says: "This should never happen except in the case of a VM regression..." Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Mon Jun 23 21:18:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 536547F4E for ; Mon, 23 Jun 2014 21:18:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3DBAF304032 for ; Mon, 23 Jun 2014 19:18:40 -0700 (PDT) X-ASG-Debug-ID: 1403576317-04cb6c76d21f58b0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id XWZ2opCi55QQBaZP for ; Mon, 23 Jun 2014 19:18:38 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArxSAPveqFN5LC2vPGdsb2JhbABagw2DSKgvBpk1AYEKFwQBAQEBODWEAwEBBTocIxAIAxgJJQ8FJQMHGhOIQcQMFxaFTYhCVweDLYEWBJpLlzgrgTI Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Jun 2014 11:48:37 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzGJf-0008JO-ML; Tue, 24 Jun 2014 12:18:35 +1000 Date: Tue, 24 Jun 2014 12:18:35 +1000 From: Dave Chinner To: "Michael L. Semon" Cc: xfs-oss Subject: Re: Null pointer dereference while at ACL limit on v5 XFS Message-ID: <20140624021835.GA9508@dastard> X-ASG-Orig-Subj: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A8A0AF.9070009@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1403576317 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6902 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Mon, Jun 23, 2014 at 05:48:31PM -0400, Michael L. Semon wrote: > At the ACL limit of v5-superblock XFS--with a directory filled with both default > and access ACL entries--I'm getting a null pointer dereference on x86 after > creating the directory successfully. > > Disclaimer: There's some current issues on 32-bit x86 that, for instance, can > make badblocks see phantom bad blocks on a read test. My apologies in advance > if this turns out to be a false alarm bug report. > > My first encounter with this issue involved fsstress. Here's part of a `crash` > session from the fsstress run. Ok, I haven't been able to reproduce this on x86-64.... > # ### ran `fsstress -d $SCRATCH_MNT/test-dir -n 10000 -p 16` > [ 1789.338622] BUG: unable to handle kernel NULL pointer dereference at 0000000c > [ 1789.338842] IP: [] xfs_ail_check+0x58/0xc0 Hmmm - xfs_ail_check()is checking the LSN ordering of the items on the AIL, and it's crashed trying to dereference one of the list pointers on the current log item. > [ 1789.339042] [] xfs_ail_delete+0x13/0x60 > [ 1789.339042] [] xfs_trans_ail_update_bulk+0xad/0x3c0 > [ 1789.339042] [] xfs_trans_committed_bulk+0x255/0x300 > [ 1789.339042] [] xlog_cil_committed+0x3c/0x160 And given that it is doing an update, I suspect a problem with the XFS_LI_IN_AIL flag - that the item is not of the AIL, but has that flag set. Can you enable the xfs_ail* tracepoints, set /proc/sys/kernel/ftrace_dump_on_oops and rerun the test? That should dump the trace buffer into the kernel dmesg output showing AIL operations just before the crash occurs. That might tell us what has happened here... Cheers, Dave. -- Dave Chinner david@fromorbit.com From bounce@client5.aanyainfotech.com Mon Jun 23 21:44:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.4 required=5.0 tests=DATE_IN_PAST_12_24, HTML_MESSAGE,MPART_ALT_DIFF,NORMAL_HTTP_TO_IP autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id AB57C7F51 for ; Mon, 23 Jun 2014 21:44:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6CA0D8F8037 for ; Mon, 23 Jun 2014 19:44:41 -0700 (PDT) X-ASG-Debug-ID: 1403577873-04bdf056685580d0001-NocioJ Received: from server5.aanyainfotech.com (server5.aanyainfotech.com [65.181.118.124]) by cuda.sgi.com with ESMTP id 66t5F3Z5IqS52hJy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 23 Jun 2014 19:44:34 -0700 (PDT) X-Barracuda-Envelope-From: bounce@client5.aanyainfotech.com X-Barracuda-Apparent-Source-IP: 65.181.118.124 Received: from client5a by server5.aanyainfotech.com with local (Exim 4.82) (envelope-from ) id 1WzGin-0000mP-97 for xfs@oss.sgi.com; Mon, 23 Jun 2014 22:44:33 -0400 To: xfs@oss.sgi.com Subject: Apni Holiday banayieen Yaadgaar hamare sath!!!! Message-ID: <290de242109e0123da229d8888f3d045@65.181.118.124> X-ASG-Orig-Subj: Apni Holiday banayieen Yaadgaar hamare sath!!!! Date: Mon, 23 Jun 2014 08:03:54 +0000 From: "Sushmita Sen" Reply-To: noreply@client5.aanyainfotech.com MIME-Version: 1.0 X-Mailer-LID: 3,6,9,4,7,1 List-Unsubscribe: X-Mailer-SID: 15 X-Mailer-Sent-By: 1 Content-Type: multipart/alternative; charset="UTF-8"; boundary="b1_f9f10c1f3279dc4adfcf504354ca5a69" Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server5.aanyainfotech.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [501 501] / [47 12] X-AntiAbuse: Sender Address Domain - client5.aanyainfotech.com X-Get-Message-Sender-Via: server5.aanyainfotech.com: authenticated_id: client5a/from_h X-Source: /usr/bin/php X-Source-Args: /usr/bin/php -f /home/client5a/public_html/admin/cron/cron.php X-Source-Dir: client5.aanyainfotech.com:/public_html/admin/cron X-Barracuda-Connect: server5.aanyainfotech.com[65.181.118.124] X-Barracuda-Start-Time: 1403577874 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.42 X-Barracuda-Spam-Status: No, SCORE=1.42 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DATE_IN_PAST_12_24, DATE_IN_PAST_12_24_2, HTML_MESSAGE, MPART_ALT_DIFF, NORMAL_HTTP_TO_IP, PLING_PLING X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6902 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 DATE_IN_PAST_12_24 Date: is 12 to 24 hours before Received: date 0.00 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL 0.00 HTML_MESSAGE BODY: HTML included in message 0.14 MPART_ALT_DIFF BODY: HTML and text parts are different 0.46 PLING_PLING Subject has lots of exclamation marks 0.80 DATE_IN_PAST_12_24_2 DATE_IN_PAST_12_24_2 --b1_f9f10c1f3279dc4adfcf504354ca5a69 Content-Type: text/plain; format=flowed; charset="UTF-8" Content-Transfer-Encoding: 8bit Your email client cannot read this email. To view it online, please go here: http://65.181.118.124/~client5a/display.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&S=15&L=9&N=2 To stop receiving these emails:http://65.181.118.124/~client5a/unsubscribe.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&L=9&N=15 --b1_f9f10c1f3279dc4adfcf504354ca5a69 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit
Helping travelers connect specialists...
Summer Holidays destinations
Apni holiday banaaye yaadgaar, chahe kisi ki ho sarkar!
Plan and get multiple quotes for your trip
 

Kashmir
Summer is the best time to visit Kashmir, when the sky glows in shades of orange and blue. You may stay in a houseboat, or simply take time to become one with the natural beauty.

 

Kashmir

 

Darjeeling/Sikkim

Darjeeling & Sikkim
These are very popular hilly destinations for intrepid travelers, nature lovers and honeymooners in summer. So, if you are one of them, don't wait..

 

 

Shimla/Manali
Shimla/Manali offers a wide variety of options from sightseeing to adventure activities. From temples to towns steeped in folklore, from tribal villages to beautiful lakes, Himachal has it all.

 

Shimla/Manali

 

Ladakh

Ladakh
Ladakh, the coldest desert in the world. As the highest inhabited land in the world, it is both fascinating and enchanting for travellers across the Globe. Ladakh means "land of high passes".

 

 

Jim Corbett
Jim Corbett is very famous among travelers, nature lovers and honeymooners for its virgin white sand beaches, crystal clear blue lagoon and various adventurous activities.

 

Jim Corbett

 

Kailash Mansarovar

Kailash Mansarovar
Mount Kailash is considered a sacred place in four religions: Bön, Buddhism, Hinduism and Jainism. Our agents can make your difficult journey easy

 

 
Hellotravel.com | E-14B Sector-8 Noida-201301

Unsubscribe me from this list
--b1_f9f10c1f3279dc4adfcf504354ca5a69-- From david@fromorbit.com Mon Jun 23 22:03:35 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id AB8977F51 for ; Mon, 23 Jun 2014 22:03:35 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 958C1304032 for ; Mon, 23 Jun 2014 20:03:32 -0700 (PDT) X-ASG-Debug-ID: 1403579006-04cbb065361a7c0001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id kBz1RNsfhrBdP41s for ; Mon, 23 Jun 2014 20:03:27 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsBSALLpqFN5LC2vPGdsb2JhbABagw2DSKgiBpk1AYEKFwQBAQEBODWDfAcBAQQBJxMcIwULCBsJJQ8FJQMHGhOFSYJxB8QTFxaFTYkZB4MtgRYEmkuXOCs Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Jun 2014 12:32:41 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzH0K-0008Pa-8p; Tue, 24 Jun 2014 13:02:40 +1000 Date: Tue, 24 Jun 2014 13:02:40 +1000 From: Dave Chinner To: Austin Schuh Cc: xfs , linux-kernel@vger.kernel.org, Tejun Heo Subject: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140624030240.GB9508@dastard> X-ASG-Orig-Subj: On-stack work item completion race? (was Re: XFS crash?) References: <20140305233551.GK6851@dastard> <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1403579007 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [Adding Tejun and lkml to the cc list] On Mon, Jun 23, 2014 at 01:05:54PM -0700, Austin Schuh wrote: > I found 1 bug in XFS which I fixed, and I've uncovered something else that > I'm not completely sure how to fix. > > In xfs_bmapi_allocate, you create a completion, and use that to wait until > the work has finished. Occasionally, I'm seeing a case where I get a > context switch after the completion has been completed, but before the > workqueue has finished doing it's internal book-keeping. This results in > the work being deleted before the workqueue is done using it, corrupting > the internal data structures. I fixed it by waiting using flush_work and > removing the completion entirely. > > --- a/fs/xfs/xfs_bmap_util.c 2014-06-23 12:59:10.008678410 -0700 > +++ b/fs/xfs/xfs_bmap_util.c 2014-06-23 12:59:14.116678239 -0700 > @@ -263,7 +263,6 @@ > current_set_flags_nested(&pflags, PF_FSTRANS); > > args->result = __xfs_bmapi_allocate(args); > - complete(args->done); > > current_restore_flags_nested(&pflags, PF_FSTRANS); > } > @@ -277,16 +276,13 @@ > xfs_bmapi_allocate( > struct xfs_bmalloca *args) > { > - DECLARE_COMPLETION_ONSTACK(done); > - > if (!args->stack_switch) > return __xfs_bmapi_allocate(args); > > > - args->done = &done; > INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); > queue_work(xfs_alloc_wq, &args->work); > - wait_for_completion(&done); > + flush_work(&args->work); > destroy_work_on_stack(&args->work); > return args->result; > } > --- a/fs/xfs/xfs_bmap_util.h 2014-06-23 12:59:10.008678410 -0700 > +++ b/fs/xfs/xfs_bmap_util.h 2014-06-23 12:59:11.708678340 -0700 > @@ -57,7 +57,6 @@ > char conv; /* overwriting unwritten extents */ > char stack_switch; > int flags; > - struct completion *done; > struct work_struct work; > int result; > }; Ok, that's a surprise. However, I can't see how using flush_work() solves that underlying context switch problem, because it's implemented the same way: bool flush_work(struct work_struct *work) { struct wq_barrier barr; lock_map_acquire(&work->lockdep_map); lock_map_release(&work->lockdep_map); if (start_flush_work(work, &barr)) { wait_for_completion(&barr.done); destroy_work_on_stack(&barr.work); return true; } else { return false; } } start_flush_work() is effectively a special queue_work() implementation, so if if it's not safe to call complete() from the workqueue as the above patch implies then this code has the same problem. Tejun - is this "do it yourself completion" a known issue w.r.t. workqueues? I can't find any documentation that says "don't do that" so...? A quick grep also shows up the same queue_work/wait_for_completion pattern in arch/x86/kernel/hpet.c, drivers/md/dm-thin.c, fs/fs-writeback.c, drivers/block/drbd/drbd_main.c.... > I enabled event tracing (and added a new event which lists the number of > workers running in a queue whenever that is changed). > > To me, it looks like work is scheduled from irq/44-ahci-273 that will > acquire an inode lock. scp-3986 then acquires the lock, and then goes and > schedules work. That work is then scheduled behind the work from > irq/44-ahci-273 in the same pool. The first work blocks waiting on the > lock, and scp-3986 won't finish and release that lock until the second work > gets run. IOWs, scp takes an inode lock and queues work to the xfs_alloc_wq, then schedules. Then a kworker runs an xfs-data work item, which tries to take the inode lock and blocks. As I understand it, what then happens is that the workqueue code grabs another kworker thread and runs the next work item in it's queue. IOWs, work items can block, but doing that does not prevent execution of other work items queued on other work queues or even on the same work queue. Tejun, did I get that correct? Hence the work on the xfs-data queue will block until another kworker processes the item on the xfs-alloc-wq which means progress is made and the inode gets unlocked. Then the kworker for the work on the xfs-data queue will get the lock, complete it's work and everything has resolved itself. Cheers, Dave. -- Dave Chinner david@fromorbit.com From htejun@gmail.com Mon Jun 23 22:25:30 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 42CF47F56 for ; Mon, 23 Jun 2014 22:25:30 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 087FD8F8039 for ; Mon, 23 Jun 2014 20:25:30 -0700 (PDT) X-ASG-Debug-ID: 1403580327-04bdf05667559370001-NocioJ Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by cuda.sgi.com with ESMTP id wYQFCgEXOIJZlkSJ (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 23 Jun 2014 20:25:28 -0700 (PDT) X-Barracuda-Envelope-From: htejun@gmail.com X-Barracuda-Apparent-Source-IP: 74.125.82.41 Received: by mail-wg0-f41.google.com with SMTP id a1so7198178wgh.0 for ; Mon, 23 Jun 2014 20:25:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=VCf1srj3zk4OmtGPVtu9WjCwwd2VREcEm8w2NjOJanU=; b=e+3C/R8K4f7TrAuPTUva2AyoZx0GFQMJIvupOAMsbyJay3rD9Dr/iW3HpFlwI2i/kK 7RVSteG9hA8N77Bzxjj+X4UlqlvV0eLfvO98WMUMvOh+3xJREE57JVKVMNgXpM5Sgehp BYXS3GXoj6vyQupOszel33aEMG4czgvaJIvFDvG5aax3KrblQlz65EqX6NtMw+2Xr+VG v9TyAD82K5LBNO7MZnuwVXlWHn1Vx4UhlhoxJqh0kU/aldcWlfTdepTP5DrSifYEOoY7 5Q7BaOX5ZRcQSd54VjMI3ID0+x7wf8S29ySCRyeQseCZNB/CW1P66DkQNrisCAbBAXTx 6P6Q== X-Received: by 10.194.190.42 with SMTP id gn10mr32887057wjc.9.1403580326802; Mon, 23 Jun 2014 20:25:26 -0700 (PDT) Received: from htj.dyndns.org ([109.201.152.7]) by mx.google.com with ESMTPSA id dy10sm39100561wib.3.2014.06.23.20.25.24 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jun 2014 20:25:25 -0700 (PDT) Sender: Tejun Heo Date: Mon, 23 Jun 2014 23:25:21 -0400 From: Tejun Heo To: Dave Chinner Cc: Austin Schuh , xfs , linux-kernel@vger.kernel.org Subject: Re: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140624032521.GA12164@htj.dyndns.org> X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140624030240.GB9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Barracuda-Connect: mail-wg0-f41.google.com[74.125.82.41] X-Barracuda-Start-Time: 1403580327 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello, On Tue, Jun 24, 2014 at 01:02:40PM +1000, Dave Chinner wrote: > start_flush_work() is effectively a special queue_work() > implementation, so if if it's not safe to call complete() from the > workqueue as the above patch implies then this code has the same > problem. > > Tejun - is this "do it yourself completion" a known issue w.r.t. > workqueues? I can't find any documentation that says "don't do > that" so...? It's more complex than using flush_work() but there's nothing fundamentally wrong with it. A work item is completely unlinked before its execution starts. It's safe to free the work item once its work function started, whether through kfree() or returning. One difference between flush_work() and manual completion would be that if the work item gets requeued, flush_work() would wait for the queued one to finish but given the work item is one-shot this doesn't make any difference. I can see no reason why manual completion would behave differently from flush_work() in this case. > As I understand it, what then happens is that the workqueue code > grabs another kworker thread and runs the next work item in it's > queue. IOWs, work items can block, but doing that does not prevent > execution of other work items queued on other work queues or even on > the same work queue. Tejun, did I get that correct? Yes, as long as the workqueue is under its @max_active limit and has access to an existing kworker or can create a new one, it'll start executing the next work item immediately; however, the guaranteed level of concurrency is 1 even for WQ_RECLAIM workqueues. IOW, the work items queued on a workqueue must be able to make forward progress with single work item if the work items are being depended upon for memory reclaim. > Hence the work on the xfs-data queue will block until another > kworker processes the item on the xfs-alloc-wq which means progress > is made and the inode gets unlocked. Then the kworker for the work > on the xfs-data queue will get the lock, complete it's work and > everything has resolved itself. As long as a WQ_RECLAIM workqueue dosen't depend upon itself, forward-progress is guaranteed. Thanks. -- tejun From mlsemon35@gmail.com Mon Jun 23 22:34:16 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 0BB2F7F58 for ; Mon, 23 Jun 2014 22:34:16 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9A4CFAC002 for ; Mon, 23 Jun 2014 20:34:12 -0700 (PDT) X-ASG-Debug-ID: 1403580850-04bdf05666559720001-NocioJ Received: from mail-qa0-f46.google.com (mail-qa0-f46.google.com [209.85.216.46]) by cuda.sgi.com with ESMTP id fMOfH4HkZS6pEsQP (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 23 Jun 2014 20:34:10 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.46 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.46] Received: by mail-qa0-f46.google.com with SMTP id i13so6506114qae.33 for ; Mon, 23 Jun 2014 20:34:10 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.46] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.46] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=XDhUZLaMqWi7H9kED7NLt+BcucRqjKmmN82cjGoURIk=; b=PlsE3G6QLlRqtWZnwha4RSTe+RO9mi1beoxD7UIdaNdtgFTkIWFcOAPThofwHtMC38 6BjVMauYmF8eNA/LfUBQQMfffPln5EHUGOoQTZjaWB+HI6a2uZh4FD+qoNRCKITwlaXq nSDLMbzYhN8827G+0vFDoo/dC7lEsKA1mz+bipp/JZjgKjn8j42gSNwFAr/En2crM2kU PL9xTBKG7ZXAKQERIRweYfUNG2mXSYjln8JNHSupFrRWcJhuhQZtvj4Bc4JmCRTFGnHR amoz88WzVsZBhS2LGJI0SsEi2OwZWPnhHgVshNcQ9MV5YBsQ003BbZmUECK30Nd0wttx d9xQ== X-Received: by 10.140.42.19 with SMTP id b19mr36838354qga.109.1403580850132; Mon, 23 Jun 2014 20:34:10 -0700 (PDT) Received: from [192.168.0.129] (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id g17sm33455014qaq.44.2014.06.23.20.34.09 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 23 Jun 2014 20:34:09 -0700 (PDT) Message-ID: <53A8F1AC.90109@gmail.com> Date: Mon, 23 Jun 2014 23:34:04 -0400 From: "Michael L. Semon" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Mark Tinguely CC: xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> <53A8A676.80305@sgi.com> X-ASG-Orig-Subj: Re: Null pointer dereference while at ACL limit on v5 XFS In-Reply-To: <53A8A676.80305@sgi.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qa0-f46.google.com[209.85.216.46] X-Barracuda-Start-Time: 1403580850 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6903 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On 06/23/2014 06:13 PM, Mark Tinguely wrote: > On 06/23/14 17:08, Mark Tinguely wrote: >> On 06/23/14 16:48, Michael L. Semon wrote: >>> At the ACL limit of v5-superblock XFS--with a directory filled with >>> both default >>> and access ACL entries--I'm getting a null pointer dereference on x86 >>> after >>> creating the directory successfully. >>> >>> Disclaimer: There's some current issues on 32-bit x86 that, for >>> instance, can >>> make badblocks see phantom bad blocks on a read test. My apologies in >>> advance >>> if this turns out to be a false alarm bug report. >>> >>> My first encounter with this issue involved fsstress. Here's part of a >>> `crash` >>> session from the fsstress run. >>> >>> root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux >>> System.map vmcore >>> crash 7.0.4 > ... >>> Thanks! >>> >>> Michael >>> >> >> Michael, do you have the vmcore dump for this or was this just from the >> messages. >> >> Thanks. >> >> --Mark. > > ummm, duh me. you were running crash ... > > Can I look at the core? > > --Mark. Sure! I've uploaded two sets of core dumps (vmcore, vmlinux, System.map, config, sample crash session) and put them here for a short time: https://drive.google.com/folderview?id=0B41268QKoNjtUGFpcTlCbEdkQXM xfs-fsstress-max-acl-2.tar.xz has the dmesg that was originally posted. xfs-fsstress-max-acl-3.tar.xz came from the simple mkdir/rm test. I got lucky with this simple test because the message looks like it came from the kernel linked list diagnostic: [ 1068.431391] ------------[ cut here ]------------ [ 1068.431566] WARNING: CPU: 0 PID: 41 at lib/list_debug.c:59 __list_del_entry+0xce/0x110() [ 1068.431596] list_del corruption. prev->next should be db5bf580, but was (null) [ 1068.431629] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #3 [ 1068.431656] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 [ 1068.431697] Workqueue: xfslogd xfs_buf_iodone_work [ 1068.431738] 00000000 00000000 de92fc24 c15d4e76 de92fc68 de92fc58 c103ca33 c1737648 [ 1068.431891] de92fc84 00000029 c173705a 0000003b c13c3e9e 0000003b c13c3e9e 0000003b [ 1068.432115] db5bf580 00000001 de92fc70 c103cab3 00000009 de92fc68 c1737648 de92fc84 [ 1068.432267] Call Trace: [ 1068.432329] [] dump_stack+0x48/0x60 [ 1068.432386] [] warn_slowpath_common+0x83/0xa0 [ 1068.432433] [] ? __list_del_entry+0xce/0x110 [ 1068.432478] [] ? __list_del_entry+0xce/0x110 [ 1068.432524] [] warn_slowpath_fmt+0x33/0x40 [ 1068.432569] [] __list_del_entry+0xce/0x110 [ 1068.432615] [] list_del+0xb/0x20 [ 1068.432674] [] xfs_ail_delete+0x1d/0x60 [ 1068.432721] [] xfs_trans_ail_update_bulk+0x1a5/0x410 [ 1068.432780] [] xfs_trans_committed_bulk+0x2eb/0x320 [ 1068.432827] [] xlog_cil_committed+0x3a/0x150 [ 1068.432874] [] xlog_state_do_callback+0x18a/0x390 [ 1068.432919] [] xlog_state_done_syncing+0xc3/0xe0 [ 1068.432964] [] xlog_iodone+0x6e/0x100 [ 1068.433055] [] xfs_buf_iodone_work+0x5b/0xe0 [ 1068.433114] [] process_one_work+0x1b7/0x5d0 [ 1068.433160] [] ? process_one_work+0x13a/0x5d0 [ 1068.433205] [] ? worker_thread+0xab/0x4b0 [ 1068.433250] [] worker_thread+0x39/0x4b0 [ 1068.433304] [] ? trace_hardirqs_on+0xb/0x10 [ 1068.433350] [] ? process_one_work+0x5d0/0x5d0 [ 1068.433398] [] kthread+0xa8/0xc0 [ 1068.433444] [] ? trace_hardirqs_on+0xb/0x10 [ 1068.433495] [] ret_from_kernel_thread+0x21/0x30 [ 1068.433540] [] ? insert_kthread_work+0x80/0x80 [ 1068.433567] ---[ end trace 60289514948e4bd7 ]--- [ 1068.433603] BUG: unable to handle kernel NULL pointer dereference at 0000000c [ 1068.433795] IP: [] xfs_ail_check+0x58/0xc0 [ 1068.433925] *pde = 00000000 [ 1068.434027] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 1068.434027] CPU: 0 PID: 41 Comm: kworker/0:1H Tainted: G W 3.16.0-rc1+ #3 [ 1068.434027] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 [ 1068.434027] Workqueue: xfslogd xfs_buf_iodone_work [ 1068.434027] task: de8faac0 ti: de92e000 task.ti: de92e000 [ 1068.434027] EIP: 0060:[] EFLAGS: 00010286 CPU: 0 [ 1068.434027] EIP is at xfs_ail_check+0x58/0xc0 [ 1068.434027] EAX: 00000000 EBX: db5bf0b0 ECX: 00000015 EDX: 00000015 [ 1068.434027] ESI: 00000001 EDI: 00000001 EBP: de92fc9c ESP: de92fc90 [ 1068.434027] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 1068.434027] CR0: 8005003b CR2: 0000000c CR3: 00ab9000 CR4: 000007d0 [ 1068.434027] Stack: [ 1068.434027] ddc81d80 db5bf0b0 00000001 de92fcac c126eb43 db5bf0b0 00000005 de92fd04 [ 1068.434027] c126f945 00000000 00000001 00000000 00000000 ddc81d88 de92fd38 db04b210 [ 1068.434027] ddc81d80 00000000 00000015 de92fd44 ddc81d80 00000001 00000037 00000005 [ 1068.434027] Call Trace: [ 1068.434027] [] xfs_ail_delete+0x13/0x60 [ 1068.434027] [] xfs_trans_ail_update_bulk+0x1a5/0x410 [ 1068.434027] [] xfs_trans_committed_bulk+0x2eb/0x320 [ 1068.434027] [] xlog_cil_committed+0x3a/0x150 [ 1068.434027] [] xlog_state_do_callback+0x18a/0x390 [ 1068.434027] [] xlog_state_done_syncing+0xc3/0xe0 [ 1068.434027] [] xlog_iodone+0x6e/0x100 [ 1068.434027] [] xfs_buf_iodone_work+0x5b/0xe0 [ 1068.434027] [] process_one_work+0x1b7/0x5d0 [ 1068.434027] [] ? process_one_work+0x13a/0x5d0 [ 1068.434027] [] ? worker_thread+0xab/0x4b0 [ 1068.434027] [] worker_thread+0x39/0x4b0 [ 1068.434027] [] ? trace_hardirqs_on+0xb/0x10 [ 1068.434027] [] ? process_one_work+0x5d0/0x5d0 [ 1068.434027] [] kthread+0xa8/0xc0 [ 1068.434027] [] ? trace_hardirqs_on+0xb/0x10 [ 1068.434027] [] ret_from_kernel_thread+0x21/0x30 [ 1068.434027] [] ? insert_kthread_work+0x80/0x80 [ 1068.434027] Code: c1 b8 50 be 72 c1 e8 38 f7 f8 ff 8b 43 04 39 c6 74 10 8b 7b 0c 39 78 0c 8b 53 08 8b 48 08 74 43 73 45 8b 03 39 c6 74 24 8b 73 0c <39> 70 0c 8b 53 08 8b 48 08 74 4d 73 14 b9 38 00 00 00 ba 83 a3 [ 1068.434027] EIP: [] xfs_ail_check+0x58/0xc0 SS:ESP 0068:de92fc90 [ 1068.434027] CR2: 000000000000000c I can reproduce the oops in kernel 3.15.0, perhaps with xfs-oss/for-next merged, but there's no vmlinux to go with the kernel. Therefore, I'll have to resort to other means (rebuilt kernel with netconsole, re-attaching the serial cable, etc.) to get the full crash log. Thanks for looking into this! I'll take Dave's advice on tracing, too, but it will be morning before I can collect the results. Michael From david@fromorbit.com Mon Jun 23 23:04:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EA75F7F5A for ; Mon, 23 Jun 2014 23:04:41 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id CE3298F8033 for ; Mon, 23 Jun 2014 21:04:38 -0700 (PDT) X-ASG-Debug-ID: 1403582676-04cbb065361c770001-NocioJ Received: from ipmail06.adl6.internode.on.net (ipmail06.adl6.internode.on.net [150.101.137.145]) by cuda.sgi.com with ESMTP id IGO5puaieQnWfKM4 for ; Mon, 23 Jun 2014 21:04:37 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.145 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsBSANH3qFN5LC2vPGdsb2JhbABagw2DSKgiBpk1AYELFwQBAQEBODWEAwEBBAEnExwjBQsIAxgJJQ8FJQMHGhOIOgfEHhcWhU2IQlcHgy2BFgEDiVCQe5c4K4Ey Received: from ppp121-44-45-175.lns20.syd6.internode.on.net (HELO dastard) ([121.44.45.175]) by ipmail06.adl6.internode.on.net with ESMTP; 24 Jun 2014 13:34:36 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzHyE-000054-3o; Tue, 24 Jun 2014 14:04:34 +1000 Date: Tue, 24 Jun 2014 14:04:34 +1000 From: Dave Chinner To: "Michael L. Semon" Cc: Mark Tinguely , xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS Message-ID: <20140624040434.GC9508@dastard> X-ASG-Orig-Subj: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> <53A8A676.80305@sgi.com> <53A8F1AC.90109@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A8F1AC.90109@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl6.internode.on.net[150.101.137.145] X-Barracuda-Start-Time: 1403582676 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6904 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header On Mon, Jun 23, 2014 at 11:34:04PM -0400, Michael L. Semon wrote: > [ 1068.431391] ------------[ cut here ]------------ > [ 1068.431566] WARNING: CPU: 0 PID: 41 at lib/list_debug.c:59 __list_del_entry+0xce/0x110() > [ 1068.431596] list_del corruption. prev->next should be db5bf580, but was (null) Ok, so the current log item points to a log item that has null pointers (i.e. not on the list). > [ 1068.431629] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #3 > [ 1068.431656] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 > [ 1068.431697] Workqueue: xfslogd xfs_buf_iodone_work > [ 1068.431738] 00000000 00000000 de92fc24 c15d4e76 de92fc68 de92fc58 c103ca33 c1737648 > [ 1068.431891] de92fc84 00000029 c173705a 0000003b c13c3e9e 0000003b c13c3e9e 0000003b > [ 1068.432115] db5bf580 00000001 de92fc70 c103cab3 00000009 de92fc68 c1737648 de92fc84 > [ 1068.432267] Call Trace: > [ 1068.432329] [] dump_stack+0x48/0x60 > [ 1068.432386] [] warn_slowpath_common+0x83/0xa0 > [ 1068.432433] [] ? __list_del_entry+0xce/0x110 > [ 1068.432478] [] ? __list_del_entry+0xce/0x110 > [ 1068.432524] [] warn_slowpath_fmt+0x33/0x40 > [ 1068.432569] [] __list_del_entry+0xce/0x110 > [ 1068.432615] [] list_del+0xb/0x20 > [ 1068.432674] [] xfs_ail_delete+0x1d/0x60 .... > [ 1068.433567] ---[ end trace 60289514948e4bd7 ]--- > [ 1068.433603] BUG: unable to handle kernel NULL pointer dereference at 0000000c > [ 1068.433795] IP: [] xfs_ail_check+0x58/0xc0 And that's trying to dereference a pointer from an item that is not on the list.... So there's linked list corruption occurring here. > I can reproduce the oops in kernel 3.15.0, perhaps with xfs-oss/for-next > merged, but there's no vmlinux to go with the kernel. Therefore, I'll have > to resort to other means (rebuilt kernel with netconsole, re-attaching the > serial cable, etc.) to get the full crash log. How far back can you reproduce it? If it's a recent occurrence, can you bisect it? Cheers, Dave. -- Dave Chinner david@fromorbit.com From jack@suse.cz Tue Jun 24 04:33:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id AF9597F5E for ; Tue, 24 Jun 2014 04:33:43 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9D3A1304059 for ; Tue, 24 Jun 2014 02:33:40 -0700 (PDT) X-ASG-Debug-ID: 1403602417-04cbb0653829fc0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id hqORsd4xDcPR55l0 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 02:33:38 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 83AAAABEF for ; Tue, 24 Jun 2014 09:33:37 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id D302B81EC8; Tue, 24 Jun 2014 11:33:36 +0200 (CEST) From: Jan Kara To: xfs@oss.sgi.com Cc: Jan Kara Subject: [PATCH] repair: Repair directory block CRC mismatches Date: Tue, 24 Jun 2014 11:33:35 +0200 X-ASG-Orig-Subj: [PATCH] repair: Repair directory block CRC mismatches Message-Id: <1403602415-28767-1-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.8.1.4 X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1403602418 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6909 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- It can happen that just CRC doesn't match for directory blocks. In that case xfs_repair will just report the error but won't fix anything (as further checking of the block doesn't reveal any problems). Make sure we recompute and write out new CRC when we failed verification during reading. Signed-off-by: Jan Kara --- repair/dir2.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/repair/dir2.c b/repair/dir2.c index 14c1435f5077..a189c161e569 100644 --- a/repair/dir2.c +++ b/repair/dir2.c @@ -596,7 +596,13 @@ _("bad level %d in block %u for directory inode %" PRIu64 "\n"), */ ASSERT(cursor->level[this_level].dirty == 0 || (cursor->level[this_level].dirty && !no_modify)); - + /* + * If block looks ok but CRC didn't match, make sure to + * recompute it. + */ + if (!no_modify && + cursor->level[this_level].bp->b_error == EFSBADCRC) + cursor->level[this_level].dirty = 1; if (cursor->level[this_level].dirty && !no_modify) libxfs_writebuf(cursor->level[this_level].bp, 0); else @@ -1621,6 +1627,9 @@ _("bad directory block magic # %#x in block %u for directory inode %" PRIu64 "\n blp = (xfs_dir2_leaf_entry_t *)btp; rval = process_dir2_data(mp, ino, dip, ino_discovery, dirname, parent, bp, dot, dotdot, mp->m_dirdatablk, (char *)blp, &dirty); + /* If block looks ok but CRC didn't match, make sure to recompute it. */ + if (!rval && bp->b_error == EFSBADCRC) + dirty = 1; if (dirty && !no_modify) { *repair = 1; libxfs_writebuf(bp, 0); @@ -1784,6 +1793,12 @@ _("bad sibling back pointer for block %u in directory inode %" PRIu64 "\n"), } } current_hashval = greatest_hashval; + /* + * If block looks ok but CRC didn't match, make sure to + * recompute it. + */ + if (!no_modify && bp->b_error == EFSBADCRC) + buf_dirty = 1; ASSERT(buf_dirty == 0 || (buf_dirty && !no_modify)); if (buf_dirty && !no_modify) { *repair = 1; @@ -1927,8 +1942,12 @@ _("bad directory block magic # %#x in block %" PRIu64 " for directory inode %" P i = process_dir2_data(mp, ino, dip, ino_discovery, dirname, parent, bp, dot, dotdot, (xfs_dablk_t)dbno, (char *)data + mp->m_dirblksize, &dirty); - if (i == 0) + if (i == 0) { good++; + /* Maybe just CRC is wrong. Make sure we correct it. */ + if (bp->b_error == EFSBADCRC) + dirty = 1; + } if (dirty && !no_modify) { *repair = 1; libxfs_writebuf(bp, 0); -- 1.8.1.4 From Sunghost@gmx.de Tue Jun 24 08:01:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id EB6EC7F60 for ; Tue, 24 Jun 2014 08:01:49 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 60CF1AC005 for ; Tue, 24 Jun 2014 06:01:49 -0700 (PDT) X-ASG-Debug-ID: 1403614903-04cb6c76d02227a0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by cuda.sgi.com with ESMTP id IvSTKy6ylFnDABtx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 06:01:44 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.19 Received: from [194.12.218.135] by 3capp-gmx-bs44.server.lan (via HTTP); Tue, 24 Jun 2014 15:01:43 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: XFS Repair hangs at inode repair in phase3 Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: XFS Repair hangs at inode repair in phase3 Date: Tue, 24 Jun 2014 15:01:43 +0200 Importance: normal Sensitivity: Normal Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-Provags-ID: V03:K0:4u1HtOljA0ielyqr2A8G1fG62/SDfBwwQk/5TrEi/rg ArsqN/wm6XcnktMBYF3Or7jSukTFgAczEpH+haXt6ZtA9hdKUG sI3YU/qI/5rs533Gk1BLqMUtfH3uvtvysQTxHlyXavN4XqNN2y OUPgBQVYAgiFCPbiWbtJn234FPHqQkZfpFQ9Y/i3GG6XtFRpYm hqVjTJ53ky5X/bL62azMH9DQsUkit0Jqmx7D7R//MnCt1ByQQ4 Tw8DJz2i2XWOcjgykAnOAdZr1eaIn+0vcx5G5KwUXZwCcyHtYM k4jgaY= X-Barracuda-Connect: mout.gmx.net[212.227.15.19] X-Barracuda-Start-Time: 1403614904 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6913 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, i have a fresh install Debian Wheezy with software raid as md2 for my file= s. MD2 is nealry full of 8TB and i wanted to migrate the data to a newier s= ystem. While copy files i got an message that i have to run xfs_repair. I f= irst run xfs_check but it eats up all my 11GB memory and the system stalls.= Then i run xfs_repair -n /dev/md2 but it hangs each time add: problem with directory contens in inode 2147997719 - would have cleared in= ode 2147997719. If i break this and restart, it hangs at the same position.= System seems to do nothing over hours. =C2=A0 Some Infos: xfsprogs in Version 3.1.7+b1 Kernel: 3.2.0-4-amd64 1 CPU with 2 Cores Disks are Seagate ST3000DM001 MD2 =3D Software Raid6 clear 4/5 disks LVM =3D no cat /proc/meminfo MemTotal:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 12057912 kB MemFree:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 9016128 kB Buffers:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 9760 kB Cached:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = 56260 kB SwapCached:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 0 kB Active:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2908368 kB Inactive:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 42616 kB Active(anon):=C2=A0=C2=A0=C2=A0 2887884 kB Inactive(anon):=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 300 kB Active(file):=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 20484 kB Inactive(file):=C2=A0=C2=A0=C2=A0 42316 kB Unevictable:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4280 kB Mlocked:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= 4280 kB SwapTotal:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 0 kB SwapFree:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 0 kB Dirty:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 28 kB Writeback:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 0 kB AnonPages:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2889240 kB Mapped:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = 10656 kB Shmem:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 508 kB Slab:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 21156 kB SReclaimable:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 6240 kB SUnreclaim:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 14916 kB KernelStack:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 760 kB PageTables:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 7904 kB NFS_Unstable:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 kB Bounce:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 0 kB WritebackTmp:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 kB CommitLimit:=C2=A0=C2=A0=C2=A0=C2=A0 6028956 kB Committed_AS:=C2=A0=C2=A0=C2=A0 2751008 kB VmallocTotal:=C2=A0=C2=A0 34359738367 kB VmallocUsed:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 311940 kB VmallocChunk:=C2=A0=C2=A0 34359422892 kB HardwareCorrupted:=C2=A0=C2=A0=C2=A0=C2=A0 0 kB AnonHugePages:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 kB HugePages_Total:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 HugePages_Free:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 HugePages_Rsvd:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 HugePages_Surp:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 Hugepagesize:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2048 kB DirectMap4k:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 50816 kB DirectMap2M:=C2=A0=C2=A0=C2=A0=C2=A0 2813952 kB DirectMap1G:=C2=A0=C2=A0=C2=A0=C2=A0 9437184 kB ------- cat /proc/partitions major minor=C2=A0 #blocks=C2=A0 name =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 16 2930266584 sdb =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 17=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 96256 sdb1 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 18=C2=A0=C2=A0=C2=A0 97= 65888 sdb2 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 19=C2=A0=C2=A0=C2=A0 19= 52768 sdb3 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 20 2918450176 sdb4 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 2930266584 sda =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 2930265088 sda1 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 32 2930266584 sdc =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 33=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 96256 sdc1 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 34=C2=A0=C2=A0=C2=A0 97= 65888 sdc2 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 35=C2=A0=C2=A0=C2=A0 19= 52768 sdc3 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 36 2918450176 sdc4 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 48 2930266584 sdd =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 49=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 96256 sdd1 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 50=C2=A0=C2=A0=C2=A0 97= 65888 sdd2 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 51=C2=A0=C2=A0=C2=A0 19= 52768 sdd3 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 52 2918450176 sdd4 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 64 2930266584 sde =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 65=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 96256 sde1 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 66=C2=A0=C2=A0=C2=A0 97= 65888 sde2 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 67=C2=A0=C2=A0=C2=A0 19= 52768 sde3 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 68 2918450176 sde4 =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 80 2930266584 sdf =C2=A0=C2=A0 8=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 81 2930265088 sdf1 =C2=A0=C2=A0 9=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0=C2=A0=C2=A0=C2= =A0 9757568 md0 =C2=A0=C2=A0 9=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2 8754955776 md2 =C2=A0 Any help? From webmaster@getit11.subsprice.com Tue Jun 24 08:03:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C88F47F60 for ; Tue, 24 Jun 2014 08:03:21 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3CDC4AC004 for ; Tue, 24 Jun 2014 06:03:20 -0700 (PDT) X-ASG-Debug-ID: 1403614995-04cb6c76cf222a90001-NocioJ Received: from server2.subsprice.com (dc1.nreseller.com [115.124.106.61]) by cuda.sgi.com with ESMTP id ogWDtYwJL8P8W9nK (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 06:03:17 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit11.subsprice.com X-Barracuda-Apparent-Source-IP: 115.124.106.61 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit11.subsprice.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=E2rUuSISVki614W3xRiR3VBvl5ibNm+EFoHpePWZ/2M=; b=A2gOiGRDX+vGJ2oKNE4xaAV2lNpZRnnLLTtHlcSY/aY5XdRAYiIR13QkQgILCYkzCA6fhy+AMNvpHbsKzqUjYyNOfa8zjU2sklqWCoioSwSKiyr+9wdCYgS3aqfJVGSiVP9XNh/GDvxzbHCHq6SV0w55tNPmveKYXNMzQ+nqKlM=; Received: from nobody by server2.subsprice.com with local (Exim 4.82) (envelope-from ) id 1WzQNU-0006ru-Qv for xfs@oss.sgi.com; Tue, 24 Jun 2014 13:03:13 +0000 To: xfs@oss.sgi.com Subject: Relying on employer provided health insurance might not be a good idea Received: from ABTS-MH-dynamic-139.36.169.122.airtelbroadband.in [122.169.36.139] by getit11.subsprice.com with HTTP; Tue, 24 Jun 2014 11:15:15 +0000 X-ASG-Orig-Subj: Relying on employer provided health insurance might not be a good idea Date: Tue, 24 Jun 2014 13:03:12 +0000 From: PolicyX Reply-To: PolicyX Message-ID: X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 16 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit11.subsprice.com List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_ae93e84781d6cc174e242e85c6a19beb" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server2.subsprice.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [47 12] X-AntiAbuse: Sender Address Domain - getit11.subsprice.com X-Get-Message-Sender-Via: server2.subsprice.com: uid via acl_c_vhost_owner from authenticated_id: getit11s from //getit11.subsprice.com/mailz/admin/?page=pageaction&action=processqueue&ajaxed=tr /from_h X-Barracuda-Connect: dc1.nreseller.com[115.124.106.61] X-Barracuda-Start-Time: 1403614997 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_32, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6913 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_IMAGE_ONLY_32 BODY: HTML: images with 2800-3200 bytes of words 0.00 HTML_MESSAGE BODY: HTML included in message --b1_ae93e84781d6cc174e242e85c6a19beb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Dear Customer, Health insurance has now become more affordable You can get cover of 2 lac at just 220/- per month It takes less than 30 seconds to compare quotes from leading players Employer provided health insurance is not enough as you may be under covered, your family might not be covered, or it might cost you a lot more to enter a health plan in case you change your job Why Online Health Insurance: Online health insurance is cheaper as there is no intermediary commission involved. Why Compare: Health insurance is a complex product and every plan is unique. By comparing, you can select the plan that offers best benefits at a reasonable premium. Click Here & Get Quotes -- This message was sent to xfs@oss.sgi.com by ankita@getit11.subsprice.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A Or you can opt-out completely=0A from all future mailings. =20 -- developed by, www.mailsmagic.com -- --b1_ae93e84781d6cc174e242e85c6a19beb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =0A =0A

 3D""

Dear Customer,
Health insurance has now become more affordable
  • You can get cover of 2 lac at just 220/- per month
  • It takes less than 30 seconds to compare quotes from le= ading players
  • Employer provided health insurance is not enough as you= may be under covered, your family might not be covered, or it might cost = you a lot more to enter a health plan in case you change your job
Why Online Health Insurance:= Online health insurance is cheaper as there is no intermediary commission = involved.
Why Compare: Health insurance is a complex= product and every plan is unique. By comparing, you can select the plan = that offers best benefits at a reasonable premium.
 
Click Here & Get Qu= otes

 


-- =20

This message was sent to xfs@oss.sgi.com by ankita@getit11.subspri= ce.com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can opt-out completely from all future mailings.

=0A=0A=0A-- developed by, www.mailsmagic.com --=0A=0A --b1_ae93e84781d6cc174e242e85c6a19beb-- From mlsemon35@gmail.com Tue Jun 24 08:31:15 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B00E329DF8 for ; Tue, 24 Jun 2014 08:31:15 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 36CFAAC005 for ; Tue, 24 Jun 2014 06:31:15 -0700 (PDT) X-ASG-Debug-ID: 1403616672-04bdf05666588d10001-NocioJ Received: from mail-qa0-f48.google.com (mail-qa0-f48.google.com [209.85.216.48]) by cuda.sgi.com with ESMTP id mB3hy7NiGfA7aS0Q (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 06:31:12 -0700 (PDT) X-Barracuda-Envelope-From: mlsemon35@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.48 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48] Received: by mail-qa0-f48.google.com with SMTP id x12so231678qac.21 for ; Tue, 24 Jun 2014 06:31:12 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.48] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:date:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version:content-type; bh=KqUckAUJpe+T89Nm67qlkmGNVIWIGaRQ/0RMF+ryiIk=; b=Og8n/21LQbK8Ryc+tcvwEr+546V51bz3+T2aZxefxFza7h9YAX9lAfCvqjQC9sU1OC ubWamx0KH0O51LLMp6v+OvvXp7sFrqDbLVaYFnDohK5Rg302nGUoPBUV9at6BYmgNXD0 v6oEQODWCFh2yMn1w8mib4NI8pgT8aGI0Ub1NFR0kwfK4f0Et/W5IAX7HfyvnRBv8rWZ E2YqHk08e3gOQ2upZw9lPRaDexN0z0H9El0pm7NigdSgsxl7ZlzSazXVizgqEUhlXJf6 BoBco6CkzBecBK39QBGnVF2AVQH8swA7Ls3d6VcYDqJ/Q8qnwJZGMEnIfyJ/qFis5qeV q2Tw== X-Received: by 10.140.82.113 with SMTP id g104mr1482509qgd.55.1403616672161; Tue, 24 Jun 2014 06:31:12 -0700 (PDT) Received: from bpserver.ds (rrcs-97-79-21-178.se.biz.rr.com. [97.79.21.178]) by mx.google.com with ESMTPSA id m1sm449243qaz.27.2014.06.24.06.31.11 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 24 Jun 2014 06:31:11 -0700 (PDT) From: "Michael L. Semon" X-Google-Original-From: "Michael L. Semon" Date: Tue, 24 Jun 2014 09:31:05 -0400 (EDT) To: Dave Chinner cc: Mark Tinguely , xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS In-Reply-To: <20140624040434.GC9508@dastard> X-ASG-Orig-Subj: Re: Null pointer dereference while at ACL limit on v5 XFS Message-ID: References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> <53A8A676.80305@sgi.com> <53A8F1AC.90109@gmail.com> <20140624040434.GC9508@dastard> User-Agent: Alpine 2.11 (LNX 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Barracuda-Connect: mail-qa0-f48.google.com[209.85.216.48] X-Barracuda-Start-Time: 1403616672 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6913 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Tue, 24 Jun 2014, Dave Chinner wrote: > On Mon, Jun 23, 2014 at 11:34:04PM -0400, Michael L. Semon wrote: > > [ 1068.431391] ------------[ cut here ]------------ > > [ 1068.431566] WARNING: CPU: 0 PID: 41 at lib/list_debug.c:59 __list_del_entry+0xce/0x110() > > [ 1068.431596] list_del corruption. prev->next should be db5bf580, but was (null) > > Ok, so the current log item points to a log item that has > null pointers (i.e. not on the list). > > > [ 1068.431629] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #3 > > [ 1068.431656] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 > > [ 1068.431697] Workqueue: xfslogd xfs_buf_iodone_work > > [ 1068.431738] 00000000 00000000 de92fc24 c15d4e76 de92fc68 de92fc58 c103ca33 c1737648 > > [ 1068.431891] de92fc84 00000029 c173705a 0000003b c13c3e9e 0000003b c13c3e9e 0000003b > > [ 1068.432115] db5bf580 00000001 de92fc70 c103cab3 00000009 de92fc68 c1737648 de92fc84 > > [ 1068.432267] Call Trace: > > [ 1068.432329] [] dump_stack+0x48/0x60 > > [ 1068.432386] [] warn_slowpath_common+0x83/0xa0 > > [ 1068.432433] [] ? __list_del_entry+0xce/0x110 > > [ 1068.432478] [] ? __list_del_entry+0xce/0x110 > > [ 1068.432524] [] warn_slowpath_fmt+0x33/0x40 > > [ 1068.432569] [] __list_del_entry+0xce/0x110 > > [ 1068.432615] [] list_del+0xb/0x20 > > [ 1068.432674] [] xfs_ail_delete+0x1d/0x60 > .... > > [ 1068.433567] ---[ end trace 60289514948e4bd7 ]--- > > [ 1068.433603] BUG: unable to handle kernel NULL pointer dereference at 0000000c > > [ 1068.433795] IP: [] xfs_ail_check+0x58/0xc0 > > And that's trying to dereference a pointer from an item that is not > on the list.... > > So there's linked list corruption occurring here. > > > I can reproduce the oops in kernel 3.15.0, perhaps with xfs-oss/for-next > > merged, but there's no vmlinux to go with the kernel. Therefore, I'll have > > to resort to other means (rebuilt kernel with netconsole, re-attaching the > > serial cable, etc.) to get the full crash log. > > How far back can you reproduce it? If it's a recent occurrence, can > you bisect it? > > Cheers, > > Dave. I'll attempt to bisect this issue. 3.15.0 was tried simply because it didn't have any noticeable 32-bit oddities. In fact, I liked 3.15 enough to base glibc on its headers. Here's hoping that I can reproduce the issue on a 3.10-based utility partition. [Somewhere out there is a Murphy's Law of glibc Upgrades that describes this situation perfectly.] Should it shed any extra light, here's the ftrace-dump-enabled dmesg from the most recent crash (mkdir/rm test), after my closing. Thanks! A Pentium III can bisect kernels only so quickly, so this will take some time. Michael [ 1739.697955] XFS (hdc4): Mounting V5 Filesystem [ 1739.866245] XFS (hdc4): Ending clean mount [ 1752.763551] mkdir (406) used greatest stack depth: 4876 bytes left [ 1762.611092] ------------[ cut here ]------------ [ 1762.611259] WARNING: CPU: 0 PID: 41 at lib/list_debug.c:59 __list_del_entry+0xce/0x110() [ 1762.611288] list_del corruption. prev->next should be ddf46000, but was (null) [ 1762.611320] CPU: 0 PID: 41 Comm: kworker/0:1H Not tainted 3.16.0-rc1+ #3 [ 1762.611348] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 [ 1762.611389] Workqueue: xfslogd xfs_buf_iodone_work [ 1762.611432] 00000000 00000000 de92fc24 c15d4e76 de92fc68 de92fc58 c103ca33 c1737648 [ 1762.611584] de92fc84 00000029 c173705a 0000003b c13c3e9e 0000003b c13c3e9e 0000003b [ 1762.611734] ddf46000 00000001 de92fc70 c103cab3 00000009 de92fc68 c1737648 de92fc84 [ 1762.611886] Call Trace: [ 1762.611947] [] dump_stack+0x48/0x60 [ 1762.611999] [] warn_slowpath_common+0x83/0xa0 [ 1762.612121] [] ? __list_del_entry+0xce/0x110 [ 1762.612166] [] ? __list_del_entry+0xce/0x110 [ 1762.612212] [] warn_slowpath_fmt+0x33/0x40 [ 1762.612257] [] __list_del_entry+0xce/0x110 [ 1762.612303] [] list_del+0xb/0x20 [ 1762.612361] [] xfs_ail_delete+0x1d/0x60 [ 1762.612407] [] xfs_trans_ail_update_bulk+0x1a5/0x410 [ 1762.612468] [] xfs_trans_committed_bulk+0x2eb/0x320 [ 1762.612515] [] xlog_cil_committed+0x3a/0x150 [ 1762.612561] [] xlog_state_do_callback+0x18a/0x390 [ 1762.612606] [] xlog_state_done_syncing+0xc3/0xe0 [ 1762.612651] [] xlog_iodone+0x6e/0x100 [ 1762.612697] [] xfs_buf_iodone_work+0x5b/0xe0 [ 1762.612753] [] process_one_work+0x1b7/0x5d0 [ 1762.612798] [] ? process_one_work+0x13a/0x5d0 [ 1762.612843] [] ? worker_thread+0xab/0x4b0 [ 1762.612888] [] worker_thread+0x39/0x4b0 [ 1762.612940] [] ? trace_hardirqs_on+0xb/0x10 [ 1762.612986] [] ? process_one_work+0x5d0/0x5d0 [ 1762.613086] [] kthread+0xa8/0xc0 [ 1762.613132] [] ? trace_hardirqs_on+0xb/0x10 [ 1762.613184] [] ret_from_kernel_thread+0x21/0x30 [ 1762.613229] [] ? insert_kthread_work+0x80/0x80 [ 1762.613256] ---[ end trace cf8e7727f1e1a1b6 ]--- [ 1762.613295] BUG: unable to handle kernel NULL pointer dereference at 0000000c [ 1762.613486] IP: [] xfs_ail_check+0x58/0xc0 [ 1762.613615] *pde = 00000000 [ 1762.613728] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 1762.613926] Dumping ftrace buffer: [ 1762.614009] --------------------------------- [ 1762.614028] mount-319 0...2 1715290597us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290617us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290853us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290860us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290872us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290877us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290890us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715290896us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715293594us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715293602us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715293617us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715293623us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/51 new lsn 1/51 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340811us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340826us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/97 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340870us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340876us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/97 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340889us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340894us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/97 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340923us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340929us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/97 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340941us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] mount-319 0...2 1715340947us : xfs_ail_delete: dev 22:4 lip 0xd582c000 old lsn 1/97 new lsn 1/97 type XFS_LI_EFI flags IN_AIL [ 1762.614028] kworker/-41 0...2 1725605607us : xfs_ail_insert: dev 22:4 lip 0xddf46160 old lsn 0/0 new lsn 1/108 type XFS_LI_BUF flags IN_AIL [ 1762.614028] xfsaild/-323 0...2 1725606791us : xfs_ail_push: dev 22:4 lip 0xddf46160 lsn 1/108 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1725607137us : xfs_ail_delete: dev 22:4 lip 0xddf46160 old lsn 1/108 new lsn 1/108 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030171us : xfs_ail_insert: dev 22:4 lip 0xddf46000 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030182us : xfs_ail_insert: dev 22:4 lip 0xddf46210 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030184us : xfs_ail_insert: dev 22:4 lip 0xddf462c0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030185us : xfs_ail_insert: dev 22:4 lip 0xddf46370 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030187us : xfs_ail_insert: dev 22:4 lip 0xddf46420 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030188us : xfs_ail_insert: dev 22:4 lip 0xddf464d0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030189us : xfs_ail_insert: dev 22:4 lip 0xddc5b068 old lsn 0/0 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030190us : xfs_ail_insert: dev 22:4 lip 0xddf46840 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030191us : xfs_ail_insert: dev 22:4 lip 0xddf468f0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030193us : xfs_ail_insert: dev 22:4 lip 0xddf46580 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030194us : xfs_ail_insert: dev 22:4 lip 0xddf469a0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030195us : xfs_ail_insert: dev 22:4 lip 0xddf46630 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030196us : xfs_ail_insert: dev 22:4 lip 0xddf466e0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030198us : xfs_ail_insert: dev 22:4 lip 0xddf46790 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030199us : xfs_ail_insert: dev 22:4 lip 0xddf46a50 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030200us : xfs_ail_insert: dev 22:4 lip 0xddc5b138 old lsn 0/0 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030201us : xfs_ail_insert: dev 22:4 lip 0xddf46dc0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030202us : xfs_ail_insert: dev 22:4 lip 0xddf46e70 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030204us : xfs_ail_insert: dev 22:4 lip 0xddf46b00 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030205us : xfs_ail_insert: dev 22:4 lip 0xddf46f20 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030206us : xfs_ail_insert: dev 22:4 lip 0xddc5b0d0 old lsn 0/0 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030207us : xfs_ail_insert: dev 22:4 lip 0xddf46bb0 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030209us : xfs_ail_insert: dev 22:4 lip 0xddf46c60 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030210us : xfs_ail_insert: dev 22:4 lip 0xddf46d10 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030211us : xfs_ail_insert: dev 22:4 lip 0xd7d3c000 old lsn 0/0 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1755030213us : xfs_ail_insert: dev 22:4 lip 0xddc5b1a0 old lsn 0/0 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767248us : xfs_ail_delete: dev 22:4 lip 0xddf46840 old lsn 1/2 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767266us : xfs_ail_delete: dev 22:4 lip 0xddc5b138 old lsn 1/2 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767386us : xfs_ail_delete: dev 22:4 lip 0xddf468f0 old lsn 1/2 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767444us : xfs_ail_delete: dev 22:4 lip 0xddf46dc0 old lsn 1/2 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767450us : xfs_ail_delete: dev 22:4 lip 0xddc5b1a0 old lsn 1/2 new lsn 1/2 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767490us : xfs_ail_delete: dev 22:4 lip 0xddf46e70 old lsn 1/2 new lsn 1/2 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767524us : xfs_ail_insert: dev 22:4 lip 0xd7d3c210 old lsn 0/0 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767525us : xfs_ail_insert: dev 22:4 lip 0xd7d3c2c0 old lsn 0/0 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767529us : xfs_ail_move: dev 22:4 lip 0xddf46a50 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767531us : xfs_ail_insert: dev 22:4 lip 0xd582c000 old lsn 0/0 new lsn 1/36 type XFS_LI_EFI flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767532us : xfs_ail_move: dev 22:4 lip 0xddf46580 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767534us : xfs_ail_move: dev 22:4 lip 0xddf469a0 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767535us : xfs_ail_insert: dev 22:4 lip 0xd582c240 old lsn 0/0 new lsn 1/36 type XFS_LI_EFI flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767536us : xfs_ail_move: dev 22:4 lip 0xddf46630 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767538us : xfs_ail_move: dev 22:4 lip 0xddf46790 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767539us : xfs_ail_move: dev 22:4 lip 0xddf466e0 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767541us : xfs_ail_insert: dev 22:4 lip 0xddf46160 old lsn 0/0 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767542us : xfs_ail_insert: dev 22:4 lip 0xd7d3c160 old lsn 0/0 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767543us : xfs_ail_move: dev 22:4 lip 0xddf464d0 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767611us : xfs_ail_insert: dev 22:4 lip 0xd582c480 old lsn 0/0 new lsn 1/36 type XFS_LI_EFI flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767613us : xfs_ail_move: dev 22:4 lip 0xddf462c0 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767614us : xfs_ail_move: dev 22:4 lip 0xddf46420 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767616us : xfs_ail_move: dev 22:4 lip 0xddf46370 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767617us : xfs_ail_move: dev 22:4 lip 0xddc5b068 old lsn 1/2 new lsn 1/36 type XFS_LI_INODE flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762767618us : xfs_ail_move: dev 22:4 lip 0xddf46000 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] kworker/-41 0...2 1762769825us : xfs_ail_move: dev 22:4 lip 0xddf46210 old lsn 1/2 new lsn 1/36 type XFS_LI_BUF flags IN_AIL [ 1762.614028] --------------------------------- [ 1762.614028] CPU: 0 PID: 41 Comm: kworker/0:1H Tainted: G W 3.16.0-rc1+ #3 [ 1762.614028] Hardware name: Dell Computer Corporation L733r /CA810E , BIOS A14 09/05/2001 [ 1762.614028] Workqueue: xfslogd xfs_buf_iodone_work [ 1762.614028] task: de8faac0 ti: de92e000 task.ti: de92e000 [ 1762.614028] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 [ 1762.614028] EIP is at xfs_ail_check+0x58/0xc0 [ 1762.614028] EAX: 00000000 EBX: ddf46210 ECX: 00000002 EDX: 00000002 [ 1762.614028] ESI: 00000001 EDI: 00000001 EBP: de92fc9c ESP: de92fc90 [ 1762.614028] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 1762.614028] CR0: 8005003b CR2: 0000000c CR3: 1df09000 CR4: 000007d0 [ 1762.614028] Stack: [ 1762.614028] ddc9af00 ddf46210 00000001 de92fcac c126eb43 ddf46210 ddf91310 de92fd04 [ 1762.614028] c126f945 00000002 00000001 00000024 00000001 ddc9af08 de92fd38 d7d3c000 [ 1762.614028] ddc9af00 00000000 00000002 de92fd44 ddf46210 00000001 00000024 00000013 [ 1762.614028] Call Trace: [ 1762.614028] [] xfs_ail_delete+0x13/0x60 [ 1762.614028] [] xfs_trans_ail_update_bulk+0x1a5/0x410 [ 1762.614028] [] xfs_trans_committed_bulk+0x2eb/0x320 [ 1762.614028] [] xlog_cil_committed+0x3a/0x150 [ 1762.614028] [] xlog_state_do_callback+0x18a/0x390 [ 1762.614028] [] xlog_state_done_syncing+0xc3/0xe0 [ 1762.614028] [] xlog_iodone+0x6e/0x100 [ 1762.614028] [] xfs_buf_iodone_work+0x5b/0xe0 [ 1762.614028] [] process_one_work+0x1b7/0x5d0 [ 1762.614028] [] ? process_one_work+0x13a/0x5d0 [ 1762.614028] [] ? worker_thread+0xab/0x4b0 [ 1762.614028] [] worker_thread+0x39/0x4b0 [ 1762.614028] [] ? trace_hardirqs_on+0xb/0x10 [ 1762.614028] [] ? process_one_work+0x5d0/0x5d0 [ 1762.614028] [] kthread+0xa8/0xc0 [ 1762.614028] [] ? trace_hardirqs_on+0xb/0x10 [ 1762.614028] [] ret_from_kernel_thread+0x21/0x30 [ 1762.614028] [] ? insert_kthread_work+0x80/0x80 [ 1762.614028] Code: c1 b8 50 be 72 c1 e8 38 f7 f8 ff 8b 43 04 39 c6 74 10 8b 7b 0c 39 78 0c 8b 53 08 8b 48 08 74 43 73 45 8b 03 39 c6 74 24 8b 73 0c <39> 70 0c 8b 53 08 8b 48 08 74 4d 73 14 b9 38 00 00 00 ba 83 a3 [ 1762.614028] EIP: [] xfs_ail_check+0x58/0xc0 SS:ESP 0068:de92fc90 [ 1762.614028] CR2: 000000000000000c From lczerner@redhat.com Tue Jun 24 08:37:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 936BB29DF8 for ; Tue, 24 Jun 2014 08:37:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 1AE4CAC002 for ; Tue, 24 Jun 2014 06:37:03 -0700 (PDT) X-ASG-Debug-ID: 1403617022-04bdf05668589840001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id QvW57rsCxXkjSX1G (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 06:37:02 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ODb1hQ026832 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Jun 2014 09:37:02 -0400 Received: from localhost.localdomain.com (dhcp-1-245.brq.redhat.com [10.34.1.245]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5ODawtU012415; Tue, 24 Jun 2014 09:37:00 -0400 From: Lukas Czerner To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com, Lukas Czerner Subject: [PATCH 2/2] xfstests: Check fs consistency on TEST_DEV only when needed Date: Tue, 24 Jun 2014 15:36:54 +0200 X-ASG-Orig-Subj: [PATCH 2/2] xfstests: Check fs consistency on TEST_DEV only when needed Message-Id: <1403617014-17870-2-git-send-email-lczerner@redhat.com> In-Reply-To: <1403617014-17870-1-git-send-email-lczerner@redhat.com> References: <1403617014-17870-1-git-send-email-lczerner@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403617022 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Currently we're checking file system consistency on TEST_DEV after every successful test run even though the TEST_DEV might not even be used in that test. Fix it by checking for number of write io on TEST_DEV device before the test and compare it with the value after the test. Signed-off-by: Lukas Czerner --- check | 6 +++++- common/rc | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/check b/check index 40f99d7..66d0f72 100755 --- a/check +++ b/check @@ -544,6 +544,7 @@ for section in $HOST_OPTIONS_SECTIONS; do rm -f core $seqres.notrun scratch_atime=`stat -c %X $SCRATCH_DEV` + test_write_io=`_get_write_io_count $TEST_DEV` start=`_wallclock` $timestamp && echo -n " ["`date "+%T"`"]" [ ! -x $seq ] && chmod u+x $seq # ensure we can run it @@ -626,7 +627,10 @@ for section in $HOST_OPTIONS_SECTIONS; do then try="$try $seqnum" n_try=`expr $n_try + 1` - _check_test_fs + write_io=`_get_write_io_count $TEST_DEV` + if [ -z $test_write_io ] || [ $write_io -ne $test_write_io ]; then + _check_test_fs + fi atime=`stat -c %X $SCRATCH_DEV` if [ $atime -ne $scratch_atime ]; then _check_scratch_fs diff --git a/common/rc b/common/rc index 95030ae..83e8734 100644 --- a/common/rc +++ b/common/rc @@ -2165,6 +2165,17 @@ _scale_fsstress_args() echo $args } +_get_write_io_count() +{ + if [ -z $1 ]; then + echo "Missing device argument for _get_write_io_count" + exit 1 + fi + major_minor=$(printf "%d:%d" `stat -c "0x%t" $1` `stat -c "0x%T" $1`) + sync + cat /sys/dev/block/${major_minor}/stat 2> /dev/null | awk '{print $5}' +} + # # Return the logical block size if running on a block device, # else substitute the page size. -- 1.8.3.1 From lczerner@redhat.com Tue Jun 24 08:37:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id CB98129DFF for ; Tue, 24 Jun 2014 08:37:06 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 2803AAC002 for ; Tue, 24 Jun 2014 06:37:06 -0700 (PDT) X-ASG-Debug-ID: 1403617020-04cbb065354c560001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ArCAAgq5SAisAHnZ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 06:37:01 -0700 (PDT) X-Barracuda-Envelope-From: lczerner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5ODb0qH026824 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Jun 2014 09:37:00 -0400 Received: from localhost.localdomain.com (dhcp-1-245.brq.redhat.com [10.34.1.245]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5ODawtT012415; Tue, 24 Jun 2014 09:36:59 -0400 From: Lukas Czerner To: fstests@vger.kernel.org Cc: xfs@oss.sgi.com, Lukas Czerner Subject: [PATCH 1/2] xfstests: Check the file system consistency on SCRATCH_DEV Date: Tue, 24 Jun 2014 15:36:53 +0200 X-ASG-Orig-Subj: [PATCH 1/2] xfstests: Check the file system consistency on SCRATCH_DEV Message-Id: <1403617014-17870-1-git-send-email-lczerner@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403617021 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 There are about 198 tests which requires scratch_dev, but does not check the file system consistency afterwards. Xfstests infrastructure does not do it automatically, so fix it by running _check_scratch_fs() after the test if access time changed on the scratch device. Also remove all the _check_scratch_fs() calls that are not actually needed and will be covered by the check script. Signed-off-by: Lukas Czerner --- check | 5 +++++ tests/btrfs/024 | 1 - tests/btrfs/043 | 2 -- tests/btrfs/044 | 2 -- tests/btrfs/045 | 2 -- tests/btrfs/046 | 2 -- tests/btrfs/047 | 2 -- tests/btrfs/048 | 2 -- tests/btrfs/050 | 2 -- tests/btrfs/051 | 2 -- tests/btrfs/053 | 2 -- tests/btrfs/054 | 2 -- tests/ext4/271 | 3 +-- tests/ext4/301 | 3 +-- tests/ext4/302 | 3 +-- tests/ext4/303 | 3 +-- tests/ext4/304 | 3 +-- tests/generic/009 | 0 tests/generic/017 | 6 ------ tests/generic/019 | 1 - tests/generic/026 | 0 tests/generic/027 | 1 - tests/generic/068 | 2 -- tests/generic/076 | 1 - tests/generic/083 | 1 - tests/generic/097 | 7 ------- tests/generic/099 | 7 ------- tests/generic/100 | 1 - tests/generic/117 | 2 -- tests/generic/124 | 3 --- tests/generic/204 | 2 -- tests/generic/269 | 3 +-- tests/generic/270 | 3 +-- tests/generic/273 | 3 +-- tests/generic/299 | 3 +-- tests/generic/300 | 3 +-- tests/generic/312 | 1 - tests/generic/315 | 0 tests/generic/320 | 1 - tests/generic/321 | 2 -- tests/generic/322 | 2 -- tests/shared/006 | 1 - tests/shared/272 | 3 +-- tests/xfs/010 | 1 - tests/xfs/011 | 1 - tests/xfs/013 | 1 - tests/xfs/014 | 1 - tests/xfs/019 | 3 --- tests/xfs/019.out | 1 - tests/xfs/034 | 2 -- tests/xfs/042 | 1 - tests/xfs/042.out | 1 - tests/xfs/085 | 6 ------ tests/xfs/085.out | 1 - tests/xfs/104 | 1 - tests/xfs/110 | 2 -- tests/xfs/121 | 3 --- tests/xfs/181 | 3 --- tests/xfs/278 | 5 ----- tests/xfs/297 | 1 - tests/xfs/306 | 1 - 61 files changed, 16 insertions(+), 119 deletions(-) mode change 100644 => 100755 tests/generic/009 mode change 100644 => 100755 tests/generic/026 mode change 100644 => 100755 tests/generic/315 mode change 100644 => 100755 tests/generic/321 mode change 100644 => 100755 tests/generic/322 diff --git a/check b/check index b1eaed2..40f99d7 100755 --- a/check +++ b/check @@ -543,6 +543,7 @@ for section in $HOST_OPTIONS_SECTIONS; do fi rm -f core $seqres.notrun + scratch_atime=`stat -c %X $SCRATCH_DEV` start=`_wallclock` $timestamp && echo -n " ["`date "+%T"`"]" [ ! -x $seq ] && chmod u+x $seq # ensure we can run it @@ -626,6 +627,10 @@ for section in $HOST_OPTIONS_SECTIONS; do try="$try $seqnum" n_try=`expr $n_try + 1` _check_test_fs + atime=`stat -c %X $SCRATCH_DEV` + if [ $atime -ne $scratch_atime ]; then + _check_scratch_fs + fi fi seq="after_$seqnum" diff --git a/tests/btrfs/024 b/tests/btrfs/024 index cb8a6e4..03d105a 100755 --- a/tests/btrfs/024 +++ b/tests/btrfs/024 @@ -77,7 +77,6 @@ _scratch_mkfs > /dev/null 2>&1 _scratch_mount "-o compress-force=no" __workout _scratch_unmount -_check_scratch_fs echo "*** done" status=0 ; exit diff --git a/tests/btrfs/043 b/tests/btrfs/043 index b1fef96..4993349 100644 --- a/tests/btrfs/043 +++ b/tests/btrfs/043 @@ -143,7 +143,5 @@ run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 _run_btrfs_util_prog receive $SCRATCH_MNT -f $tmp/2.snap run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/044 b/tests/btrfs/044 index dae189e..5565b86 100644 --- a/tests/btrfs/044 +++ b/tests/btrfs/044 @@ -123,7 +123,5 @@ run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 _run_btrfs_util_prog receive $SCRATCH_MNT -f $tmp/2.snap run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/045 b/tests/btrfs/045 index 4567a3f..8570fa6 100755 --- a/tests/btrfs/045 +++ b/tests/btrfs/045 @@ -370,7 +370,5 @@ run_check $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 _run_btrfs_util_prog receive $SCRATCH_MNT -f $tmp/2.snap run_check $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/046 b/tests/btrfs/046 index 685e359..c0d10e1 100644 --- a/tests/btrfs/046 +++ b/tests/btrfs/046 @@ -298,7 +298,5 @@ echo "File digests in the replica filesystem:" md5sum $SCRATCH_MNT/mysnap1/foo | _filter_scratch md5sum $SCRATCH_MNT/mysnap2/foo | _filter_scratch -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/047 b/tests/btrfs/047 index 2dc6499..8b20e79 100755 --- a/tests/btrfs/047 +++ b/tests/btrfs/047 @@ -116,7 +116,5 @@ $XFS_IO_PROG -r -c "seek -r -a 0" $SCRATCH_MNT/mysnap2/foo # the file's size. $XFS_IO_PROG -r -c "fiemap -v" $SCRATCH_MNT/mysnap2/foo | _filter_fiemap -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/048 b/tests/btrfs/048 index e998f97..2a9bfc3 100755 --- a/tests/btrfs/048 +++ b/tests/btrfs/048 @@ -214,7 +214,5 @@ $BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1 compression touch $SCRATCH_MNT/sv1/file2 $BTRFS_UTIL_PROG property get $SCRATCH_MNT/sv1/file2 compression -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/050 b/tests/btrfs/050 index 6e4bd13..9079408 100755 --- a/tests/btrfs/050 +++ b/tests/btrfs/050 @@ -103,7 +103,5 @@ _scratch_mount _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/051 b/tests/btrfs/051 index 53df664..deaa765 100755 --- a/tests/btrfs/051 +++ b/tests/btrfs/051 @@ -79,7 +79,5 @@ _scratch_mount _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/053 b/tests/btrfs/053 index 3994110..7eef55f 100755 --- a/tests/btrfs/053 +++ b/tests/btrfs/053 @@ -103,7 +103,5 @@ run_check $FSSUM_PROG -r $send_files_dir/1.fssum $SCRATCH_MNT/mysnap1 _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/2.snap run_check $FSSUM_PROG -r $send_files_dir/2.fssum $SCRATCH_MNT/mysnap2 -_check_scratch_fs - status=0 exit diff --git a/tests/btrfs/054 b/tests/btrfs/054 index 215861c..258eead 100755 --- a/tests/btrfs/054 +++ b/tests/btrfs/054 @@ -103,7 +103,5 @@ _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/2.snap [ -e $SCRATCH_MNT/testdir ] && \ echo "Directory testdir was supposed to be deleted after incremental send!" -_check_scratch_fs - status=0 exit diff --git a/tests/ext4/271 b/tests/ext4/271 index 274e904..e77ae57 100755 --- a/tests/ext4/271 +++ b/tests/ext4/271 @@ -62,6 +62,5 @@ if ! _scratch_unmount; then exit fi echo "Check filesystem" -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/ext4/301 b/tests/ext4/301 index 0ca3622..568327d 100755 --- a/tests/ext4/301 +++ b/tests/ext4/301 @@ -121,5 +121,4 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 diff --git a/tests/ext4/302 b/tests/ext4/302 index 497f4c6..1e90016 100755 --- a/tests/ext4/302 +++ b/tests/ext4/302 @@ -137,6 +137,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/ext4/303 b/tests/ext4/303 index 93354e5..9573872 100755 --- a/tests/ext4/303 +++ b/tests/ext4/303 @@ -147,6 +147,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/ext4/304 b/tests/ext4/304 index 74e601a..b9b4356 100755 --- a/tests/ext4/304 +++ b/tests/ext4/304 @@ -124,6 +124,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/009 b/tests/generic/009 old mode 100644 new mode 100755 diff --git a/tests/generic/017 b/tests/generic/017 index 11705bf..c769dd8 100755 --- a/tests/generic/017 +++ b/tests/generic/017 @@ -67,12 +67,6 @@ done # Check if 80 extents are present $XFS_IO_PROG -c "fiemap -v" $testfile | grep "^ *[0-9]*:" |wc -l -_check_scratch_fs -if [ $? -ne 0 ]; then - status=1 - exit -fi - # success, all done status=0 exit diff --git a/tests/generic/019 b/tests/generic/019 index 7a019ad..b387507 100755 --- a/tests/generic/019 +++ b/tests/generic/019 @@ -171,7 +171,6 @@ _workout() # perform mount/umount, after that all errors should be fixed run_check _scratch_mount run_check _scratch_unmount - _check_scratch_fs } # real QA test starts here diff --git a/tests/generic/026 b/tests/generic/026 old mode 100644 new mode 100755 diff --git a/tests/generic/027 b/tests/generic/027 index b9232ec..8dab117 100755 --- a/tests/generic/027 +++ b/tests/generic/027 @@ -101,7 +101,6 @@ while [ $i -le $loop ]; do let i=$i+1 done _scratch_unmount -_check_scratch_fs status=0 exit diff --git a/tests/generic/068 b/tests/generic/068 index a764019..7794326 100755 --- a/tests/generic/068 +++ b/tests/generic/068 @@ -130,6 +130,4 @@ rm $tmp.running # wait for fsstresses to finish wait -_check_scratch_fs - exit 1 diff --git a/tests/generic/076 b/tests/generic/076 index a53840f..02af762 100755 --- a/tests/generic/076 +++ b/tests/generic/076 @@ -77,7 +77,6 @@ FSSTRESS_ARGS=`_scale_fsstress_args -p 2 -n 2000 $FSSTRESS_AVOID` echo "run fsstress with args: $FSSTRESS_ARGS" >>$seqres.full $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full _lets_get_pidst -_check_scratch_fs echo "*** done" status=0 diff --git a/tests/generic/083 b/tests/generic/083 index f9135f8..61316bf 100755 --- a/tests/generic/083 +++ b/tests/generic/083 @@ -84,7 +84,6 @@ workout() # -w ensures that the only ops are ones which cause write I/O FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -w -p $procs -n $nops $FSSTRESS_AVOID` $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full - _check_scratch_fs } echo "*** test out-of-space handling for random write operations" diff --git a/tests/generic/097 b/tests/generic/097 index c120422..f40d5d5 100755 --- a/tests/generic/097 +++ b/tests/generic/097 @@ -244,13 +244,6 @@ ${ATTR_PROG} -R -l foo cd / -# Check the filesystem -_check_scratch_fs - -# optional stuff if your test has verbose output to help resolve problems -#echo -#echo "If failure, check $seqres.full (this) and $seqres.full.ok (reference)" - # success, all done status=0 exit diff --git a/tests/generic/099 b/tests/generic/099 index 7351966..83097e9 100755 --- a/tests/generic/099 +++ b/tests/generic/099 @@ -328,13 +328,6 @@ chacl $acl3 largeaclfile _acl_list largeaclfile | _filter_aces_notypes #------------------------------------------------------- - -if [ "$FSTYP" == "udf" ]; then - cd / - umount $TARGET_DIR - # Check the filesystem - _check_scratch_fs -fi # success, all done status=0 exit diff --git a/tests/generic/100 b/tests/generic/100 index 05d766f..00ba23e 100755 --- a/tests/generic/100 +++ b/tests/generic/100 @@ -80,7 +80,6 @@ ls -R -l ${TEST_DIR}${POPULATED_DIR} >>$seqres.full 2>&1 diff -qr $POPULATED_DIR ${TEST_DIR}${POPULATED_DIR} cd / -_check_scratch_fs status=0 exit diff --git a/tests/generic/117 b/tests/generic/117 index f81265b..935dcaf 100755 --- a/tests/generic/117 +++ b/tests/generic/117 @@ -108,8 +108,6 @@ cd / umount $SCRATCH_MNT echo echo Checking filesystem -_check_scratch_fs -_scratch_mount status=$? exit diff --git a/tests/generic/124 b/tests/generic/124 index 93ec4a1..77f6e7d 100755 --- a/tests/generic/124 +++ b/tests/generic/124 @@ -76,7 +76,4 @@ fi umount $SCRATCH_DEV -_check_test_fs -_check_scratch_fs - exit diff --git a/tests/generic/204 b/tests/generic/204 index de029c6..d6bb094 100755 --- a/tests/generic/204 +++ b/tests/generic/204 @@ -83,8 +83,6 @@ for i in `seq 1 $files`; do echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > $SCRATCH_MNT/$i done -_check_scratch_fs - # success, all done echo "*** done" status=0 diff --git a/tests/generic/269 b/tests/generic/269 index 684cf42..cff5e54 100755 --- a/tests/generic/269 +++ b/tests/generic/269 @@ -79,6 +79,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/270 b/tests/generic/270 index b5ed7af..cebd377 100755 --- a/tests/generic/270 +++ b/tests/generic/270 @@ -104,6 +104,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/273 b/tests/generic/273 index 8e121a2..1ceb6c4 100755 --- a/tests/generic/273 +++ b/tests/generic/273 @@ -138,6 +138,5 @@ _scratch_mount _do_workload -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/299 b/tests/generic/299 index bf02c94..e8685a4 100755 --- a/tests/generic/299 +++ b/tests/generic/299 @@ -152,6 +152,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/300 b/tests/generic/300 index 01d4600..5234d05 100755 --- a/tests/generic/300 +++ b/tests/generic/300 @@ -155,6 +155,5 @@ if ! _scratch_unmount; then status=1 exit fi -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/generic/312 b/tests/generic/312 index 7611bb9..b035978 100755 --- a/tests/generic/312 +++ b/tests/generic/312 @@ -67,6 +67,5 @@ echo "Silence is golden" $XFS_IO_PROG -f -c "falloc 0 6g" $SCRATCH_MNT/testfile.$seq >>$seqres.full 2>&1 _scratch_unmount -_check_scratch_fs status=0 exit diff --git a/tests/generic/315 b/tests/generic/315 old mode 100644 new mode 100755 diff --git a/tests/generic/320 b/tests/generic/320 index e1ba970..3dd3bea 100755 --- a/tests/generic/320 +++ b/tests/generic/320 @@ -116,6 +116,5 @@ _scratch_mount >>$seqres.full 2>&1 do_workload -_check_scratch_fs status=0 exit diff --git a/tests/generic/321 b/tests/generic/321 old mode 100644 new mode 100755 index 345416c..8410d40 --- a/tests/generic/321 +++ b/tests/generic/321 @@ -121,8 +121,6 @@ _replay_rename_test() _ls_l $SCRATCH_MNT | tail -n +2 | awk '{ print $1, $9 }' _ls_l $SCRATCH_MNT/bar | tail -n +2 | awk '{ print $1, $9 }' _unmount_flakey - _check_scratch_fs $FLAKEY_DEV - [ $? -ne 0 ] && _fatal "fsck failed" } _scratch_mkfs >> $seqres.full 2>&1 diff --git a/tests/generic/322 b/tests/generic/322 old mode 100644 new mode 100755 index c43fcb1..fe1a4d5 --- a/tests/generic/322 +++ b/tests/generic/322 @@ -94,8 +94,6 @@ _write_after_fsync_rename_test() _mount_flakey md5sum $SCRATCH_MNT/bar | _filter_scratch _unmount_flakey - _check_scratch_fs $FLAKEY_DEV - [ $? -ne 0 ] && _fatal "fsck failed" } _scratch_mkfs >> $seqres.full 2>&1 diff --git a/tests/shared/006 b/tests/shared/006 index 445c35d..55c5965 100755 --- a/tests/shared/006 +++ b/tests/shared/006 @@ -91,7 +91,6 @@ _check_scratch_fs rm -rf $SCRATCH_MNT/testdir echo "Inode status after deleting all test files" >>$seqres.full $DF_PROG -i $SCRATCH_MNT >>$seqres.full -_check_scratch_fs status=0 exit diff --git a/tests/shared/272 b/tests/shared/272 index 0f812f3..4417535 100755 --- a/tests/shared/272 +++ b/tests/shared/272 @@ -103,6 +103,5 @@ if ! _scratch_unmount; then exit fi echo "Check filesystem" -_check_scratch_fs -status=$? +status=0 exit diff --git a/tests/xfs/010 b/tests/xfs/010 index 2b5ad00..fd2e27c 100755 --- a/tests/xfs/010 +++ b/tests/xfs/010 @@ -127,7 +127,6 @@ _check_scratch_fs _corrupt_finobt_root $SCRATCH_DEV _scratch_xfs_repair 2>&1 | _filter_repair -_check_scratch_fs status=0 exit diff --git a/tests/xfs/011 b/tests/xfs/011 index 5763af9..658a822 100755 --- a/tests/xfs/011 +++ b/tests/xfs/011 @@ -110,7 +110,6 @@ killall $FSSTRESS_PROG wait umount $SCRATCH_MNT -_check_scratch_fs status=0 exit diff --git a/tests/xfs/013 b/tests/xfs/013 index d47bf53..dea3d08 100755 --- a/tests/xfs/013 +++ b/tests/xfs/013 @@ -150,7 +150,6 @@ rm -rf $SCRATCH_MNT/fsstress rm -rf $SCRATCH_MNT/dir* umount $SCRATCH_MNT -_check_scratch_fs status=0 exit diff --git a/tests/xfs/014 b/tests/xfs/014 index 1e092a9..8866bfe 100755 --- a/tests/xfs/014 +++ b/tests/xfs/014 @@ -194,7 +194,6 @@ umount $LOOP_MNT echo $orig_sp_time > /proc/sys/fs/xfs/speculative_prealloc_lifetime umount $SCRATCH_MNT -_check_scratch_fs status=0 exit diff --git a/tests/xfs/019 b/tests/xfs/019 index d35d15b..09670b9 100755 --- a/tests/xfs/019 +++ b/tests/xfs/019 @@ -136,9 +136,6 @@ _verify_fs() _full "umount" umount $SCRATCH_DEV >>$seqfull 2>&1 \ || _fail "umount failed" - - echo "*** check FS" - _check_scratch_fs } #_verify_fs 1 diff --git a/tests/xfs/019.out b/tests/xfs/019.out index 0c1bf8f..19614d9 100644 --- a/tests/xfs/019.out +++ b/tests/xfs/019.out @@ -79,6 +79,5 @@ Device: Inode: Links: 1 Mode: (0123/l--x-w--wx) Uid: (0) Gid: (0) Device: Inode: Links: 1 *** unmount FS -*** check FS *** done *** unmount diff --git a/tests/xfs/034 b/tests/xfs/034 index 6f73fdd..6beeb56 100755 --- a/tests/xfs/034 +++ b/tests/xfs/034 @@ -83,8 +83,6 @@ then fi # pv 801241 causes corruption here (inode left in agi_unlinked list) -_check_scratch_fs - echo "*** done" # happy exit status=0 diff --git a/tests/xfs/042 b/tests/xfs/042 index db0fa28..77dd704 100755 --- a/tests/xfs/042 +++ b/tests/xfs/042 @@ -162,7 +162,6 @@ if ! _do "diff $tmp.sum1 $tmp.sum2"; then status=1; exit fi echo "done" -_do "Checking filesystem" "_check_scratch_fs" # success, all done echo "xfs_fsr tests passed." diff --git a/tests/xfs/042.out b/tests/xfs/042.out index f5b37b3..41baf09 100644 --- a/tests/xfs/042.out +++ b/tests/xfs/042.out @@ -9,5 +9,4 @@ Remove other files... done Run xfs_fsr on filesystem... done Check fill file... done Check large file... done -Checking filesystem... done xfs_fsr tests passed. diff --git a/tests/xfs/085 b/tests/xfs/085 index af71b77..54c2d01 100755 --- a/tests/xfs/085 +++ b/tests/xfs/085 @@ -88,12 +88,6 @@ umount $SCRATCH_MNT echo "logprint after mount and replay..." _print_logstate -if _check_scratch_fs; then - echo "filesystem is checked ok" -else - echo "filesystem is NOT ok" -fi - # success, all done status=0 exit diff --git a/tests/xfs/085.out b/tests/xfs/085.out index 48e3e73..d2d99a1 100644 --- a/tests/xfs/085.out +++ b/tests/xfs/085.out @@ -111,4 +111,3 @@ ls SCRATCH_MNT unmount logprint after mount and replay... clean log -filesystem is checked ok diff --git a/tests/xfs/104 b/tests/xfs/104 index e899aca..69fcc69 100755 --- a/tests/xfs/104 +++ b/tests/xfs/104 @@ -113,7 +113,6 @@ done wait # stop for any remaining stress processes umount $SCRATCH_DEV -_check_scratch_fs status=0 exit diff --git a/tests/xfs/110 b/tests/xfs/110 index 48bea45..7428faf 100755 --- a/tests/xfs/110 +++ b/tests/xfs/110 @@ -81,7 +81,5 @@ do done wait -_check_scratch_fs - status=0 exit diff --git a/tests/xfs/121 b/tests/xfs/121 index 1e06e45..1457ed1 100755 --- a/tests/xfs/121 +++ b/tests/xfs/121 @@ -106,9 +106,6 @@ fi _scratch_mount >> $seqres.full 2>&1 \ || _fail "mount failed" -# should now be peaches -_check_scratch_fs - # success, all done status=0 exit diff --git a/tests/xfs/181 b/tests/xfs/181 index 38d556c..4e7ac3a 100755 --- a/tests/xfs/181 +++ b/tests/xfs/181 @@ -120,9 +120,6 @@ fi _scratch_mount >> $seqres.full 2>&1 \ || _fail "mount failed" -# should now be peaches -_check_scratch_fs - # success, all done status=0 exit diff --git a/tests/xfs/278 b/tests/xfs/278 index dacd1fc..2b1db8a 100755 --- a/tests/xfs/278 +++ b/tests/xfs/278 @@ -78,9 +78,4 @@ echo "" >>$seqres.full xfs_repair $SCRATCH_DEV >> $seqres.full 2>&1 echo "===== END of xfs_repair =====" >> $seqres.full -#if _check_scratch_fs; then -# status=0 -#else -# status=1 -#fi exit diff --git a/tests/xfs/297 b/tests/xfs/297 index 3fe32f1..1cdbbb9 100755 --- a/tests/xfs/297 +++ b/tests/xfs/297 @@ -82,6 +82,5 @@ echo "Test done" | tee -a $seqres.full killall -q $FSSTRESS_PROG wait -_check_scratch_fs status=0 exit diff --git a/tests/xfs/306 b/tests/xfs/306 index 0794de3..3053fd9 100644 --- a/tests/xfs/306 +++ b/tests/xfs/306 @@ -97,7 +97,6 @@ for d in $load_dir/*; do done wait umount $SCRATCH_MNT -_check_scratch_fs echo "No output is good. Failures are loud." -- 1.8.3.1 From sandeen@sandeen.net Tue Jun 24 09:15:39 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 02A367F67 for ; Tue, 24 Jun 2014 09:15:39 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id BFED28F804C for ; Tue, 24 Jun 2014 07:15:35 -0700 (PDT) X-ASG-Debug-ID: 1403619333-04bdf0566958ce30001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id q7Fdro1xiTgUDjLR for ; Tue, 24 Jun 2014 07:15:33 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 52D9563C3BCF; Tue, 24 Jun 2014 09:15:33 -0500 (CDT) Message-ID: <53A98805.1080106@sandeen.net> Date: Tue, 24 Jun 2014 09:15:33 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403619333 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6914 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/24/14, 8:01 AM, Dragon wrote: > > Hello, > i have a fresh install Debian Wheezy with software raid as md2 for my > files. MD2 is nealry full of 8TB and i wanted to migrate the data to > a newier system. While copy files i got an message that i have to run > xfs_repair. I first run xfs_check but it eats up all my 11GB memory > and the system stalls. Yep, xfs_check doesn't scale and is on the way to deprecation. > Then i run xfs_repair -n /dev/md2 but it hangs > each time add: problem with directory contens in inode 2147997719 - > would have cleared inode 2147997719. If i break this and restart, it > hangs at the same position. System seems to do nothing over hours. You might try the -P option to repair. -P Disable prefetching of inode and directory blocks. Use this option if you find xfs_repair gets stuck and stops proceeding. If that works, it likely indicates a bug, but it might get you going. > > Some Infos: > xfsprogs in Version 3.1.7+b1 And that's a 3-year old xfsprogs, so an upgrade might help, too. -Eric From Sunghost@gmx.de Tue Jun 24 09:24:19 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 31FB629DF8 for ; Tue, 24 Jun 2014 09:24:19 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1606F304062 for ; Tue, 24 Jun 2014 07:24:15 -0700 (PDT) X-ASG-Debug-ID: 1403619853-04cbb06535510a0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by cuda.sgi.com with ESMTP id q1EEUzQ9jWQTLcuY (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 07:24:14 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.22 Received: from [194.12.218.135] by 3capp-gmx-bs44.server.lan (via HTTP); Tue, 24 Jun 2014 16:24:13 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Tue, 24 Jun 2014 16:24:13 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:JTCxyKCLtiNfe8faDffGEYYHtgFxFdAxvB49M4U3TCT SbSXA4JyOt1C5WbxOiZeaosTMxyaaCXv69QYm9xcDOGH9hza3E ba/hdEZ0omlEYZ973mkYYSoJkTtnF9m/gEjGKhuR/SFRo9nfur Lr2Mk8xCthTPorjUtPLoTwMjboIETGnFRAmKZwnRKh5jtZ+a50 HvoNhkdzKu4N5hIMk04hpujY+vqniNszxXI1o/kgKcSu+LQPXl riM+S47tIiqO0M/aUpoM0SG2rJdkr9Hj9zEcD3noDJs/v1kH7X Tb2bvw= X-Barracuda-Connect: mout.gmx.net[212.227.17.22] X-Barracuda-Start-Time: 1403619854 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6914 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hello Eric,
ok will never use xfs_check ;). Yes i saw option -P but i though if i desabled that test, i will never get fix those problems. The Version is from Debian Wheezy stable, so why it is such old, when it is that important :do not understand this from debianmaintainer...: So what could i do to use latest Version under Debian Wheezy? Normaly i use the package system.. Any risk to loos all my data? Where came the Problem from? If the version is such old, was the md2 created out of that, or are there only the tools in it?
Thx

On 6/24/14, 8:01 AM, Dragon wrote:
Hello, i have a fresh install Debian Wheezy with software raid as md2 for my files. MD2 is nealry full of 8TB and i wanted to migrate the data to a newier system. While copy files i got an message that i have to run xfs_repair. I first run xfs_check but it eats up all my 11GB memory and the system stalls.
Yep, xfs_check doesn't scale and is on the way to deprecation.
Then i run xfs_repair -n /dev/md2 but it hangs each time add: problem with directory contens in inode 2147997719 - would have cleared inode 2147997719. If i break this and restart, it hangs at the same position. System seems to do nothing over hours.
You might try the -P option to repair. -P Disable prefetching of inode and directory blocks. Use this option if you find xfs_repair gets stuck and stops proceeding. If that works, it likely indicates a bug, but it might get you going.
Some Infos: xfsprogs in Version 3.1.7+b1
And that's a 3-year old xfsprogs, so an upgrade might help, too. -Eric
From bfoster@redhat.com Tue Jun 24 09:25:46 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A23A229DF8 for ; Tue, 24 Jun 2014 09:25:46 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0DD5AAC002 for ; Tue, 24 Jun 2014 07:25:42 -0700 (PDT) X-ASG-Debug-ID: 1403619941-04cbb0653851210001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id vgcrHHPEeK3nrdGW (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 07:25:41 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5OEPcRh019605 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Jun 2014 10:25:38 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5OEPbqY032551; Tue, 24 Jun 2014 10:25:38 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id D1E56120188; Tue, 24 Jun 2014 10:25:36 -0400 (EDT) Date: Tue, 24 Jun 2014 10:25:36 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac Message-ID: <20140624142522.GB45839@bfoster.bfoster> X-ASG-Orig-Subj: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac References: <20140623072359.C16CF7F47@oss.sgi.com> <20140623080618.GY9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140623080618.GY9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403619941 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, Jun 23, 2014 at 06:06:18PM +1000, Dave Chinner wrote: > On Mon, Jun 23, 2014 at 02:23:59AM -0500, xfs@oss.sgi.com wrote: > > 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, xfs-libxfs-restructure has been updated > > discards fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (commit) > > discards e3584e38615389850684fcffd699d97e2e06f2d6 (commit) > > discards f212d6fcf5c1cc3a3980dd320804c1dfb9f49b75 (commit) > > discards e10404cf914273de8016d5992c7049bdb9a9a089 (commit) > > discards f3a19b3ad85dcc4a073270e1fb594eff37709788 (commit) > > discards d5a6cda3cf2c0860543db26bb5df7ed4404f74cd (commit) > > c59a5ac xfs: global error sign conversion > > 63d512e libxfs: move source files > > 547a71f libxfs: move header files > > 62c9454 xfs: create libxfs infrastructure > > b474c7a xfs: Nuke XFS_ERROR macro > > d99831f xfs: return is not a function > > 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs > > 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus > > 8d02076 ->splice_write() via ->write_iter() > > 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs > > 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid > > bf97f3b xfs: switch to ->write_iter() > > b4f5d2c xfs: switch to ->read_iter() > > b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() > > 0c94933 iov_iter_truncate() > > 71d8e53 start adding the tag to iov_iter > > 31b1403 switch {__,}blockdev_direct_IO() to iov_iter > > a6cbcd4 get rid of pointless iov_length() in ->direct_IO() > > d8d3d94 pass iov_iter to ->direct_IO() > > cb66a7a kill generic_segment_checks() > > f8579f8 generic_file_direct_write(): switch to iov_iter > > from fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (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. > > This looks like a lot of non-libxfs changes, but it's mostly just > noise from the rebase from 3.15.0 to the current master branch at > 3.16-rc2. > > I've added all the negation fixes that Brian noted, and tested all > the different config options (m,y,n) for the libxfs restructure. I > haven't come across any problems over the weekend, so I'd like to > push this out so that we can get this dev cycle properly underway. > If people can ack this, I'll add all the appropriate sign-offs and > push it. > The changes look good to me and I don't see any failures that aren't common with for-next, so: Reviewed-by: Brian Foster That said, I am seeing a BUG() on for-next kernels via repeated xfs/297 runs. Output is appended below. Brian ------------[ cut here ]------------ kernel BUG at fs/xfs/xfs_aops.c:1373! invalid opcode: 0000 [#1] SMP Modules linked in: xfs(OE) libcrc32c sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables binfmt_misc ipmi_si ipmi_msghandler acpi_power_meter dcdbas pcspkr serio_raw ixgbe dca ptp pps_core mdio ses enclosure amd64_edac_mod edac_core edac_mce_amd k10temp sp5100_tco i2c_piix4 sg bnx2 ext4(E) jbd2(E) mbcache(E) sr_mod(E) cdrom(E) sd_mod(E) crc_t10dif(E) crct10dif_common(E) megaraid_sas(E) mpt2sas(E) scsi_transport_sas(E) raid_class(E) usb_storage(E) mgag200(E) ttm(E) drm_kms_helper(E) drm(E) i2c_algo_bit(E) sysimgblt(E) sysfillrect(E) i2c_core(E) syscopyarea(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) [last unloaded: xfs] CPU: 10 PID: 14202 Comm: fsstress Tainted: G OE 3.16.0-rc2+ #5 Hardware name: Dell Inc. PowerEdge R715/0G2DP3, BIOS 2.3.0 10/18/2011 task: ffff88061c47d880 ti: ffff88061c4dc000 task.ti: ffff88061c4dc000 RIP: 0010:[] [] __xfs_get_blocks+0x548/0x550 [xfs] RSP: 0018:ffff88061c4df918 EFLAGS: 00010202 RAX: ffff8808347c8680 RBX: ffff88062cac5b08 RCX: 0000000000000200 RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff88062cac5b08 RBP: ffff88061c4df9a8 R08: 00000000000001a3 R09: ffff88061c4df8cc R10: 00007fc884019000 R11: 0000000000000000 R12: 000000000018a000 R13: ffff88061c4dfbc8 R14: ffff8800b213e800 R15: 0000000000019000 FS: 00007fc88be5b700(0000) GS:ffff880437c20000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000003a6dd92448 CR3: 000000063152d000 CR4: 00000000000006e0 Stack: ffff88061c4df938 00007fc884018fff 01ff880600000000 0000000100000008 000000000000018a ffff88062cac5940 0000000000000179 ffffffffffffffff 0000000000000087 ffffffff00000000 0000000000000009 000000011c3e6e28 Call Trace: [] xfs_get_blocks_direct+0x14/0x20 [xfs] [] do_direct_IO+0x1cb/0x1100 [] ? do_blockdev_direct_IO+0x153/0xc00 [] do_blockdev_direct_IO+0x391/0xc00 [] ? pagevec_lookup_tag+0x25/0x40 [] ? write_cache_pages+0x12f/0x4c0 [] ? __xfs_get_blocks+0x550/0x550 [xfs] [] ? generic_writepages+0x5c/0x80 [] __blockdev_direct_IO+0x4c/0x50 [] ? __xfs_get_blocks+0x550/0x550 [xfs] [] xfs_vm_direct_IO+0x136/0x140 [xfs] [] ? __xfs_get_blocks+0x550/0x550 [xfs] [] generic_file_read_iter+0x143/0x150 [] xfs_file_read_iter+0x12a/0x280 [xfs] [] new_sync_read+0x8f/0xc0 [] vfs_read+0xa3/0x110 [] ? __fdget+0x13/0x20 [] SyS_read+0x56/0xd0 [] system_call_fastpath+0x16/0x1b Code: 00 00 00 f7 d8 e9 51 fd ff ff 66 0f 1f 84 00 00 00 00 00 80 7d 87 00 74 0a 49 89 5d 40 f0 41 80 4d 02 01 f0 41 80 4d 01 10 eb c0 <0f> 0b eb fe 0f 1f 40 00 55 48 89 e5 66 66 66 66 90 41 b8 01 00 RIP [] __xfs_get_blocks+0x548/0x550 [xfs] RSP ---[ end trace ef315dcf69ea8a1f ]--- > Once that is done, I'll start pulling in all the outstanding > patchsets and work through getting them through reviews and > into for-next.... > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From sandeen@sandeen.net Tue Jun 24 10:35:53 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id D17427F4E for ; Tue, 24 Jun 2014 10:35:53 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9CD18304089 for ; Tue, 24 Jun 2014 08:35:50 -0700 (PDT) X-ASG-Debug-ID: 1403624145-04bdf056685951a0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id CJuHAO2Uy9m6axAk for ; Tue, 24 Jun 2014 08:35:45 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id F16CA63BECC4; Tue, 24 Jun 2014 10:35:44 -0500 (CDT) Message-ID: <53A99AD0.4000003@sandeen.net> Date: Tue, 24 Jun 2014 10:35:44 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403624145 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- You can always try: # git clone git://oss.sgi.com/xfs/cmds/xfsprogs.git # cd xfsprogs # git checkout v3.2.0 # make # repair/xfs_repair -n /dev/md2 -Eric On 6/24/14, 9:24 AM, Dragon wrote: > Hello Eric, > ok will never use xfs_check ;). Yes i saw option -P but i though if i > desabled that test, i will never get fix those problems. The Version > is from Debian Wheezy stable, so why it is such old, when it is that > important :do not understand this from debianmaintainer...: So what > could i do to use latest Version under Debian Wheezy? Normaly i use > the package system.. Any risk to loos all my data? Where came the > Problem from? If the version is such old, was the md2 created out of > that, or are there only the tools in it? > Thx > > On 6/24/14, 8:01 AM, Dragon wrote: > > Hello, i have a fresh install Debian Wheezy with software raid as md2 for my files. MD2 is nealry full of 8TB and i wanted to migrate the data to a newier system. While copy files i got an message that i have to run xfs_repair. I first run xfs_check but it eats up all my 11GB memory and the system stalls. > > Yep, xfs_check doesn't scale and is on the way to deprecation. > > Then i run xfs_repair -n /dev/md2 but it hangs each time add: problem with directory contens in inode 2147997719 - would have cleared inode 2147997719. If i break this and restart, it hangs at the same position. System seems to do nothing over hours. > > You might try the -P option to repair. -P Disable prefetching of inode and directory blocks. Use this option if you find xfs_repair gets stuck and stops proceeding. If that works, it likely indicates a bug, but it might get you going. > > Some Infos: xfsprogs in Version 3.1.7+b1 > > And that's a 3-year old xfsprogs, so an upgrade might help, too. -Eric > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From Sunghost@gmx.de Tue Jun 24 10:43:38 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id A72007F50 for ; Tue, 24 Jun 2014 10:43:38 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 8114330408B for ; Tue, 24 Jun 2014 08:43:38 -0700 (PDT) X-ASG-Debug-ID: 1403624616-04cb6c76d02320c0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by cuda.sgi.com with ESMTP id X20MQ7NV5avXpjc0 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 08:43:37 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.19 Received: from [194.12.218.135] by 3capp-gmx-bs44.server.lan (via HTTP); Tue, 24 Jun 2014 17:43:35 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Tue, 24 Jun 2014 17:43:35 +0200 Importance: normal Sensitivity: Normal Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-Provags-ID: V03:K0:nkKzWnF4mLCLtWM9F/WtYPb4D1wp+drZjB8ojhNUpo+ ae94Gb1q5i+Bq9tIohZdt3kPYWtWIMpZAb1qAVmknp4Tn41EVj Y7SWre0QEe6qWTQO71a6ldmMJb81DUIz51/8+ak6IWeN5ScJ5L 0Cr5/PZ27iG7EJwMFaaCeqY5jFtRcFUai9S9uVVTPkHTCaivRh mh69uzxrXRVLrtyf0Wf5nEXvxxADc1xWRtktQGib8C3P9RltMm BTBCw6PsyNmpYSilX1mdPPYYtyYHuZNFiEw4sadYVfYgalsedg 5XhMNA= X-Barracuda-Connect: mout.gmx.net[212.227.15.19] X-Barracuda-Start-Time: 1403624616 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hi,
ok will try. So what could be the problem of this? Maybe the lost of = one disk out of raid6? I think not, or? Maybe a controller failure? Before = i used ext4 and never had problems with this hardware...
thx
 
You can always try: # git clone git://oss.sgi.com/xfs/cmds/xfsprogs.g= it # cd xfsprogs # git checkout v3.2.0 # make # repair/xfs_repair -n /dev/m= d2 -Eric On 6/24/14, 9:24 AM, Dragon wrote:
Hello Eric, ok will never use xfs_check ;). Yes i saw option -= P but i though if i desabled that test, i will never get fix those problems= . The Version is from Debian Wheezy stable, so why it is such old, when it = is that important :do not understand this from debianmaintainer...: So what= could i do to use latest Version under Debian Wheezy? Normaly i use the pa= ckage system.. Any risk to loos all my data? Where came the Problem from? I= f the version is such old, was the md2 created out of that, or are there on= ly the tools in it?
Thx On 6/24/14, 8:01 AM, Dragon wrote: Hello, i have a fresh i= nstall Debian Wheezy with software raid as md2 for my files. MD2 is nealry = full of 8TB and i wanted to migrate the data to a newier system. While copy= files i got an message that i have to run xfs_repair. I first run xfs_chec= k but it eats up all my 11GB memory and the system stalls. Yep, xfs_check d= oesn't scale and is on the way to deprecation. Then i run xfs_repair -n= /dev/md2 but it hangs each time add: problem with directory contens in ino= de 2147997719 - would have cleared inode 2147997719. If i break this and re= start, it hangs at the same position. System seems to do nothing over hours= . You might try the -P option to repair. -P Disable prefetching of inode an= d directory blocks. Use this option if you find xfs_repair gets stuck and s= tops proceeding. If that works, it likely indicates a bug, but it might get= you going. Some Infos: xfsprogs in Version 3.1.7+b1 And that's a 3-yea= r old xfsprogs, so an upgrade might help, too. -Eric
From fanael4@gmail.com Tue Jun 24 11:01:22 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 1874E7F47 for ; Tue, 24 Jun 2014 11:01:22 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id EC6F18F8039 for ; Tue, 24 Jun 2014 09:01:18 -0700 (PDT) X-ASG-Debug-ID: 1403625676-04cb6c76cf233750001-NocioJ Received: from mail-qa0-f67.google.com (mail-qa0-f67.google.com [209.85.216.67]) by cuda.sgi.com with ESMTP id 1DnerD6HwNElFebf (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 09:01:17 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.67 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.67] Received: by mail-qa0-f67.google.com with SMTP id dc16so123061qab.6 for ; Tue, 24 Jun 2014 09:01:16 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.67] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.67] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=qkKUgHed6ldm6kGXMtw+/y5uZoPnZe4pvOnjzKnp6Z4=; b=0qp9lEFS6J5h91PJyt/7h10rkotiwQ1GMXY79mnPISryitDcUM/tw83YJ3nAs/VzBX jdAqirPR9lm5ZFqsmem3A8eRSfvMFfxprN4e0EBxQJb4I33P8FM2U5CNDe6PQL7kgnih /JMibg+EA34IyQRftt0QWCnWrSN5UYTpQEAKLifyCtTQntZxmi13AQzTe4/Uxe7XekTE 4xvf0JUav1UhLVvUSBypff1B0CmEY51NbkPsjRZiL7c3kfKQiuDGi0qtlSIi/J9mPC2g MrS/cL1x5WRD6FWMf0HPOrDoiVR0Jn9588NsjLjPv2bI/bcvrOco792gOqkyo6jXxTvT qr2A== MIME-Version: 1.0 X-Received: by 10.140.109.201 with SMTP id l67mr3057061qgf.72.1403625676839; Tue, 24 Jun 2014 09:01:16 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 09:01:16 -0700 (PDT) Date: Tue, 24 Jun 2014 18:01:16 +0200 Message-ID: Subject: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Metadata CRC error upon unclean unmount To: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qa0-f67.google.com[209.85.216.67] X-Barracuda-Start-Time: 1403625677 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature XFS V5 can become unmountable after an unclean unmount. Zeroing the log and running xfs_repair fixes the filesystem. The following kernel messages are from Linux 3.14.4, but the same thing happens in 3.15.1. SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled XFS (sda2): Version 5 superblock detected. This kernel has EXPERIMENTAL support enabled! Use of these features in this kernel is at your own risk! XFS (sda2): Using inode cluster size of 16384 bytes XFS (sda2): Mounting Filesystem XFS (sda2): Starting recovery (logdev: internal) XFS (sda2): Version 5 superblock detected. This kernel has EXPERIMENTAL support enabled! Use of these features in this kernel is at your own risk! ffff880063e85000: 41 42 33 42 00 00 00 2b ff ff ff ff ff ff ff ff AB3B...+........ ffff880063e85010: 00 00 00 00 01 f3 6a 00 00 00 00 01 00 00 06 c9 ......j......... ffff880063e85020: 30 c1 4d f1 3a e2 44 7d a7 bb 25 1f a5 65 5a 7f 0.M.:.D}..%..eZ. ffff880063e85030: 00 00 00 01 4d 5f 10 db 00 00 00 01 00 00 00 07 ....M_.......... XFS (sda2): Internal error xfs_allocbt_read_verify at line 362 of file fs/xfs/xfs_alloc_btree.c. Caller 0xffffffffa0527be5 CPU: 0 PID: 93 Comm: kworker/0:1H Not tainted 3.14.4-1-ARCH #1 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 Workqueue: xfslogd xfs_buf_iodone_work [xfs] 0000000000000000 00000000cebb8ca3 ffff88006e927d90 ffffffff8150996e ffff880067064800 ffff88006e927dd0 ffffffffa052ae00 ffffffffa0527be5 ffffffffa05ab718 ffff8800672132a0 ffff880067213200 ffffffffa0527be5 Call Trace: [] dump_stack+0x4d/0x6f [] xfs_corruption_error+0x90/0xa0 [xfs] [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] [] xfs_allocbt_read_verify+0x69/0xe0 [xfs] [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] [] xfs_buf_iodone_work+0x75/0xa0 [xfs] [] process_one_work+0x168/0x450 [] worker_thread+0x132/0x3e0 [] ? manage_workers.isra.23+0x2d0/0x2d0 [] kthread+0xea/0x100 [] ? __mem_cgroup_try_charge+0x6a0/0x8a0 [] ? kthread_create_on_node+0x1a0/0x1a0 [] ret_from_fork+0x7c/0xb0 [] ? kthread_create_on_node+0x1a0/0x1a0 XFS (sda2): Corruption detected. Unmount and run xfs_repair XFS (sda2): metadata I/O error: block 0x1f36a00 ("xfs_trans_read_buf_map") error 117 numblks 8 XFS (sda2): Failed to recover EFIs XFS (sda2): log mount finish failed From neutrino8@gmail.com Tue Jun 24 11:04:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 909737F3F for ; Tue, 24 Jun 2014 11:04:49 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5F4848F804C for ; Tue, 24 Jun 2014 09:04:49 -0700 (PDT) X-ASG-Debug-ID: 1403625887-04cbb065375add0001-NocioJ Received: from mail-ig0-f181.google.com (mail-ig0-f181.google.com [209.85.213.181]) by cuda.sgi.com with ESMTP id WRX5yMl7QIavAD1l (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 09:04:48 -0700 (PDT) X-Barracuda-Envelope-From: neutrino8@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.213.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.181] Received: by mail-ig0-f181.google.com with SMTP id h15so644648igd.8 for ; Tue, 24 Jun 2014 09:04:47 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.213.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=cIWpBzCAd6SZPNexeYZYmfsMAAjgQh2/RzB83afxCSU=; b=sSS2JOaKQoAo1DobA81TJM5OfWJvDOovUX3yJ/9cUciXYCe+I0j1j/G9mPwZ2r1/mT O6Y3xDeUb+HMPcy4roHtgP5RP31SjuP3VMgLQIQJ1mm7/nzcRlUSkyhYud63hZ4JDsfH 4hc98LtNYJmIJhi/KJlcZwdr1XFnXVvNlczEHwZ+pCWhLhv8armo+pg3F4WMtORnnoOJ Zc2fhoAqDqG6Pq8Mkw5PHLm7Xawez4FKbqUIl8WQTiNxUPqFNukSxoJOBua2+E99AfOD dtwhqufCdSh9MUaTppvtfA+IMXgTmKefBS5wNM4ho1H0V1ljwJsNfP9Q5E6MEoypNdzW 1pXA== MIME-Version: 1.0 X-Received: by 10.50.107.42 with SMTP id gz10mr3074163igb.15.1403625887408; Tue, 24 Jun 2014 09:04:47 -0700 (PDT) Received: by 10.50.85.50 with HTTP; Tue, 24 Jun 2014 09:04:47 -0700 (PDT) In-Reply-To: References: Date: Tue, 24 Jun 2014 18:04:47 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Grozdan X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Fanael Linithien Cc: Xfs Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-ig0-f181.google.com[209.85.213.181] X-Barracuda-Start-Time: 1403625887 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.01 X-Barracuda-Spam-Status: No, SCORE=0.01 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA_TO_FROM_DOMAIN_MATCH, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.01 BSF_SC0_SA_TO_FROM_DOMAIN_MATCH Sender Domain Matches Recipient Domain On Tue, Jun 24, 2014 at 6:01 PM, Fanael Linithien wrote: > XFS V5 can become unmountable after an unclean unmount. Zeroing the > log and running xfs_repair fixes the filesystem. > > The following kernel messages are from Linux 3.14.4, but the same > thing happens in 3.15.1. > > SGI XFS with ACLs, security attributes, realtime, large block/inode > numbers, no debug enabled > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > XFS (sda2): Using inode cluster size of 16384 bytes > XFS (sda2): Mounting Filesystem > XFS (sda2): Starting recovery (logdev: internal) > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > ffff880063e85000: 41 42 33 42 00 00 00 2b ff ff ff ff ff ff ff ff > AB3B...+........ > ffff880063e85010: 00 00 00 00 01 f3 6a 00 00 00 00 01 00 00 06 c9 > ......j......... > ffff880063e85020: 30 c1 4d f1 3a e2 44 7d a7 bb 25 1f a5 65 5a 7f > 0.M.:.D}..%..eZ. > ffff880063e85030: 00 00 00 01 4d 5f 10 db 00 00 00 01 00 00 00 07 > ....M_.......... > XFS (sda2): Internal error xfs_allocbt_read_verify at line 362 of file > fs/xfs/xfs_alloc_btree.c. Caller 0xffffffffa0527be5 > CPU: 0 PID: 93 Comm: kworker/0:1H Not tainted 3.14.4-1-ARCH #1 > Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 > Workqueue: xfslogd xfs_buf_iodone_work [xfs] > 0000000000000000 00000000cebb8ca3 ffff88006e927d90 ffffffff8150996e > ffff880067064800 ffff88006e927dd0 ffffffffa052ae00 ffffffffa0527be5 > ffffffffa05ab718 ffff8800672132a0 ffff880067213200 ffffffffa0527be5 > Call Trace: > [] dump_stack+0x4d/0x6f > [] xfs_corruption_error+0x90/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_allocbt_read_verify+0x69/0xe0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] process_one_work+0x168/0x450 > [] worker_thread+0x132/0x3e0 > [] ? manage_workers.isra.23+0x2d0/0x2d0 > [] kthread+0xea/0x100 > [] ? __mem_cgroup_try_charge+0x6a0/0x8a0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > [] ret_from_fork+0x7c/0xb0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > XFS (sda2): Corruption detected. Unmount and run xfs_repair > XFS (sda2): metadata I/O error: block 0x1f36a00 > ("xfs_trans_read_buf_map") error 117 numblks 8 > XFS (sda2): Failed to recover EFIs > XFS (sda2): log mount finish failed I've also experienced this so I went back to V4. I was not able to find a workaround. > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs -- Yours truly From sandeen@sandeen.net Tue Jun 24 11:08:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 84B677F47 for ; Tue, 24 Jun 2014 11:08:59 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4E01230407A for ; Tue, 24 Jun 2014 09:08:54 -0700 (PDT) X-ASG-Debug-ID: 1403626133-04cbb065385b500001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id SLj1TkFjpvN7ihUf for ; Tue, 24 Jun 2014 09:08:53 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 32F4A63BECC4; Tue, 24 Jun 2014 11:08:53 -0500 (CDT) Message-ID: <53A9A295.8030302@sandeen.net> Date: Tue, 24 Jun 2014 11:08:53 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Fanael Linithien , xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403626133 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/24/14, 11:01 AM, Fanael Linithien wrote: > XFS V5 can become unmountable after an unclean unmount. Zeroing the > log and running xfs_repair fixes the filesystem. > > The following kernel messages are from Linux 3.14.4, but the same > thing happens in 3.15.1. Do you have any kind of reproducer for this? Any chance you created an xfs_metadump before the xfs_repair? What constitutes an "unclean unmount" in your case; a VM reset? A host crash? (This is a VM, right?) What sort of block device configuration does it have? -Eric > SGI XFS with ACLs, security attributes, realtime, large block/inode > numbers, no debug enabled > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > XFS (sda2): Using inode cluster size of 16384 bytes > XFS (sda2): Mounting Filesystem > XFS (sda2): Starting recovery (logdev: internal) > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > ffff880063e85000: 41 42 33 42 00 00 00 2b ff ff ff ff ff ff ff ff > AB3B...+........ > ffff880063e85010: 00 00 00 00 01 f3 6a 00 00 00 00 01 00 00 06 c9 > ......j......... > ffff880063e85020: 30 c1 4d f1 3a e2 44 7d a7 bb 25 1f a5 65 5a 7f > 0.M.:.D}..%..eZ. > ffff880063e85030: 00 00 00 01 4d 5f 10 db 00 00 00 01 00 00 00 07 > ....M_.......... > XFS (sda2): Internal error xfs_allocbt_read_verify at line 362 of file > fs/xfs/xfs_alloc_btree.c. Caller 0xffffffffa0527be5 > CPU: 0 PID: 93 Comm: kworker/0:1H Not tainted 3.14.4-1-ARCH #1 > Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 > Workqueue: xfslogd xfs_buf_iodone_work [xfs] > 0000000000000000 00000000cebb8ca3 ffff88006e927d90 ffffffff8150996e > ffff880067064800 ffff88006e927dd0 ffffffffa052ae00 ffffffffa0527be5 > ffffffffa05ab718 ffff8800672132a0 ffff880067213200 ffffffffa0527be5 > Call Trace: > [] dump_stack+0x4d/0x6f > [] xfs_corruption_error+0x90/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_allocbt_read_verify+0x69/0xe0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] process_one_work+0x168/0x450 > [] worker_thread+0x132/0x3e0 > [] ? manage_workers.isra.23+0x2d0/0x2d0 > [] kthread+0xea/0x100 > [] ? __mem_cgroup_try_charge+0x6a0/0x8a0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > [] ret_from_fork+0x7c/0xb0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > XFS (sda2): Corruption detected. Unmount and run xfs_repair > XFS (sda2): metadata I/O error: block 0x1f36a00 > ("xfs_trans_read_buf_map") error 117 numblks 8 > XFS (sda2): Failed to recover EFIs > XFS (sda2): log mount finish failed > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Tue Jun 24 11:11:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 372217F3F for ; Tue, 24 Jun 2014 11:11:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id AD6B7AC005 for ; Tue, 24 Jun 2014 09:10:56 -0700 (PDT) X-ASG-Debug-ID: 1403626254-04cbb065385b880001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id G7wYMsaEuA8l5Adb for ; Tue, 24 Jun 2014 09:10:54 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id CB90C63BECC4; Tue, 24 Jun 2014 11:10:53 -0500 (CDT) Message-ID: <53A9A30D.4070704@sandeen.net> Date: Tue, 24 Jun 2014 11:10:53 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: =?UTF-8?B?6ZmI5paH5Lic?= , Emmanuel Florac CC: "xfs@oss.sgi.com" Subject: Re: =?UTF-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= References: <75F0D28A05391A4E8539D13B4740B89C016860E8@Hik-MBX02.hikvision.com> <20140619054218.GK4453@dastard> <75F0D28A05391A4E8539D13B4740B89C01686102@Hik-MBX02.hikvision.com> <20140619104811.7f6acb37@galadriel.home> <53A30221.4010307@sandeen.net> <75F0D28A05391A4E8539D13B4740B89C01686328@Hik-MBX02.hikvision.com> X-ASG-Orig-Subj: Re: =?UTF-8?B?562U5aSNOiB4ZnNfZnJlZXpl?= In-Reply-To: <75F0D28A05391A4E8539D13B4740B89C01686328@Hik-MBX02.hikvision.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403626254 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MV0113c X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MV0113c BSF_SC0_MV0113c I don't know what might cause this; you may have to do some tracing to find out who is returning -EBUSY. -Eric On 6/19/14, 10:08 PM, 陈文东 wrote: > Hi: > > > [root@localhost ~]# > [root@localhost ~]# mount -t xfs /dev/lvm_vg/lvm_lv /nas/ > [root@localhost ~]# lvcreate -s -L 40M -n cwd /dev/lvm_vg/lvm_lv > Rounding up size to full physical extent 48.00 MiB > device-mapper: suspend ioctl on failed: Device or resource busy > Unable to suspend lvm_vg-lvm_lv (253:0) > Failed to suspend origin lvm_lv > [root@localhost ~]# > > > What freezing ? > -----邮件原件----- > å‘件人: Eric Sandeen [mailto:sandeen@sandeen.net] > å‘逿—¶é—´: 2014å¹´6月19æ—¥ 23:31 > 收件人: Emmanuel Florac; 陈文东 > 抄é€: xfs@oss.sgi.com > 主题: Re: xfs_freeze > > On 6/19/14, 3:48 AM, Emmanuel Florac wrote: >> Le Thu, 19 Jun 2014 06:46:26 +0000 vous écriviez: >> >>> What Would Xfs Snapshot Do? >>> >>> Xfs_freeze >> >> Apparently you should not run xfs_freeze first. Try "lvcreate -s" >> directly. >> >> regards, >> > > that's correct, lv snapshots do their own freezing. > > -Eric > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From fanael4@gmail.com Tue Jun 24 11:19:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 614D47F47 for ; Tue, 24 Jun 2014 11:19:07 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 90357AC010 for ; Tue, 24 Jun 2014 09:19:06 -0700 (PDT) X-ASG-Debug-ID: 1403626744-04bdf05666599cc0001-NocioJ Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) by cuda.sgi.com with ESMTP id LjroDx8dK3lx3tEW (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 09:19:05 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.179 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.179] Received: by mail-qc0-f179.google.com with SMTP id x3so495409qcv.38 for ; Tue, 24 Jun 2014 09:19:04 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.179] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.179] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=v63/vMly9hby1Gqh4oHqL1vSgim4Kpiz9x9D2AC4ebw=; b=IhusCvi+1GGmtHScMB7J2gh1Yi6WJDPAHiIgVPW7Vru+ZrGGMByNCqyPonCokxfwvN omJRoUZJjrI74Cc2kmlJPPKS+BdFy8QDmzChWY6EKHL3P2ETknVr+fph/y8aXEV0I5ZE ktj4FesiJKzmD7GpeygHRoduvquGeuozjynjaEyiFXetV0YaqLUrNv/bPfwZyB7zaeZp +ZFMT46g5FJCZFs/NHcE+cDPkrLc9eUb7k0FJRq6ildl/ZRQz4bdfFSY55hvc7kRUwW7 PDYczwySnBOONG49hQQRDL38kvwJloZZxvSpt2KlQimjQZ/Nk9Rnhx2rAx/eiOBDlEOn n9sA== MIME-Version: 1.0 X-Received: by 10.140.109.201 with SMTP id l67mr3222846qgf.72.1403626744193; Tue, 24 Jun 2014 09:19:04 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 09:19:04 -0700 (PDT) In-Reply-To: <53A9A295.8030302@sandeen.net> References: <53A9A295.8030302@sandeen.net> Date: Tue, 24 Jun 2014 18:19:04 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qc0-f179.google.com[209.85.216.179] X-Barracuda-Start-Time: 1403626744 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6915 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-24 18:08 GMT+02:00 Eric Sandeen : > Do you have any kind of reproducer for this? The closest thing to a reliable reproducer I found is: dd if=/dev/urandom of=some.file > Any chance you created an xfs_metadump before the xfs_repair? I still have the broken FS, but the dump is 225 MB. Will it be OK if I repro it on a clean FS? > What constitutes an "unclean unmount" in your case; a VM reset? A host > crash? A VM reset. > (This is a VM, right?) Right. > What sort of block device configuration does it have? What do you mean? From sandeen@sandeen.net Tue Jun 24 11:24:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 5E7DC7F56 for ; Tue, 24 Jun 2014 11:24:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 25B0B30408A for ; Tue, 24 Jun 2014 09:24:45 -0700 (PDT) X-ASG-Debug-ID: 1403627083-04bdf0566859a8f0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id q5aLUGg5bqowjsg6 for ; Tue, 24 Jun 2014 09:24:43 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 5308963BECC4; Tue, 24 Jun 2014 11:24:43 -0500 (CDT) Message-ID: <53A9A64B.7030808@sandeen.net> Date: Tue, 24 Jun 2014 11:24:43 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Fanael Linithien CC: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <53A9A295.8030302@sandeen.net> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403627083 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6916 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/24/14, 11:19 AM, Fanael Linithien wrote: > 2014-06-24 18:08 GMT+02:00 Eric Sandeen : >> Do you have any kind of reproducer for this? > > The closest thing to a reliable reproducer I found is: > dd if=/dev/urandom of=some.file > > >> Any chance you created an xfs_metadump before the xfs_repair? > > I still have the broken FS, but the dump is 225 MB. Will it be OK if I > repro it on a clean FS? absolutely, if you have a recipe starting at mkfs and ending with corruption, that's even better. >> What constitutes an "unclean unmount" in your case; a VM reset? A host >> crash? > > A VM reset. > >> (This is a VM, right?) > > Right. > >> What sort of block device configuration does it have? > > What do you mean? Is the VM using a host block device or an image file? What type of image file, VDI, QCOW, or? If an image, what type of filesystem hosts the image? Have you done any "VBoxManage storagectl"-type modifications to virtualbox defaults? Since this was a guest reset, not a host reset, it doesn't matter as much, but it's worth getting the details I think. Thanks, -Eric From tinguely@sgi.com Tue Jun 24 11:32:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 9B53D7F57 for ; Tue, 24 Jun 2014 11:32:00 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay2.corp.sgi.com (Postfix) with ESMTP id 44F4C30408E; Tue, 24 Jun 2014 09:32:00 -0700 (PDT) Message-ID: <53A9A7FE.7060008@sgi.com> Date: Tue, 24 Jun 2014 11:31:58 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: "Michael L. Semon" CC: xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> <53A8A676.80305@sgi.com> <53A8F1AC.90109@gmail.com> In-Reply-To: <53A8F1AC.90109@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/23/14 22:34, Michael L. Semon wrote: > On 06/23/2014 06:13 PM, Mark Tinguely wrote: >> On 06/23/14 17:08, Mark Tinguely wrote: >>> On 06/23/14 16:48, Michael L. Semon wrote: >>>> At the ACL limit of v5-superblock XFS--with a directory filled with >>>> both default >>>> and access ACL entries--I'm getting a null pointer dereference on x86 >>>> after >>>> creating the directory successfully. >>>> >>>> Disclaimer: There's some current issues on 32-bit x86 that, for >>>> instance, can >>>> make badblocks see phantom bad blocks on a read test. My apologies in >>>> advance >>>> if this turns out to be a false alarm bug report. >>>> >>>> My first encounter with this issue involved fsstress. Here's part of a >>>> `crash` >>>> session from the fsstress run. >>>> >>>> root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux >>>> System.map vmcore >>>> crash 7.0.4 >> ... >>>> Thanks! >>>> >>>> Michael >>>> >>> >>> Michael, do you have the vmcore dump for this or was this just from the >>> messages. >>> >>> Thanks. >>> >>> --Mark. >> >> ummm, duh me. you were running crash ... >> >> Can I look at the core? >> >> --Mark. > > Sure! I've uploaded two sets of core dumps (vmcore, vmlinux, System.map, > config, sample crash session) and put them here for a short time: > Both are buffer - like your trace shows that is was updating on the AIL and it really is but in both crashes the log item ail next link has been NULLed: xfs-fsstress-max-acl-2: crash> xfs_buf_log_item dde37370 struct xfs_buf_log_item { bli_item = { li_ail = { next = 0x0, prev = 0xdc01d6e8 xfs-fsstress-max-acl-3: crash> xfs_buf_log_item db5bf0b0 struct xfs_buf_log_item { bli_item = { li_ail = { next = 0x0, prev = 0xdb5bf4d0 }, not good. --Mark. From fanael4@gmail.com Tue Jun 24 11:37:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 2E6637F58 for ; Tue, 24 Jun 2014 11:37:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id EC8B28F8084 for ; Tue, 24 Jun 2014 09:37:26 -0700 (PDT) X-ASG-Debug-ID: 1403627844-04bdf0566959c490001-NocioJ Received: from mail-qa0-f44.google.com (mail-qa0-f44.google.com [209.85.216.44]) by cuda.sgi.com with ESMTP id uKwMgJloQmv19X0R (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 09:37:25 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.44 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.44] Received: by mail-qa0-f44.google.com with SMTP id hw13so470034qab.31 for ; Tue, 24 Jun 2014 09:37:24 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.44] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.44] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ZeE15oab9VnGZMZeOKIx3YFVPt8/mh+hs2Q2/XhO53c=; b=MYg0JpJPcBoxp0Yb7ZvFQfouU3IQ8o9zDShkCx0LVjqNVAnsOUfVPa3M11yNFcrV5l /rVhHk3ojxUi21BcMxImpNNBiGbWeKdMJa9I6V4KveMil/JyryF9hZuSZgsQCWQ51Qmt 2O2u2jeDi879D5SbA743o4dN93qv+AzxPYcOrS/mWGYjDqGApfzMsTr5p30yy1nsB85K zbbLqZ8ElL5tOPx3BqC+5ybi6WRjqI9WejYhP+P63843/R3oU21mZ7SdsxDLaOz6UE7F Qb3mZB0ZZtgqkD9XSPOrHYzmtMB8mAOWTYdQauU9MVYRRK4w6BVkRLqg5wenneGSjoMy 6hUQ== MIME-Version: 1.0 X-Received: by 10.140.32.197 with SMTP id h63mr3399896qgh.10.1403627844460; Tue, 24 Jun 2014 09:37:24 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 09:37:24 -0700 (PDT) In-Reply-To: <53A9A64B.7030808@sandeen.net> References: <53A9A295.8030302@sandeen.net> <53A9A64B.7030808@sandeen.net> Date: Tue, 24 Jun 2014 18:37:24 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qa0-f44.google.com[209.85.216.44] X-Barracuda-Start-Time: 1403627845 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6916 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-24 18:24 GMT+02:00 Eric Sandeen : > Is the VM using a host block device or an image file? > What type of image file, VDI, QCOW, or? > If an image, what type of filesystem hosts the image? > Have you done any "VBoxManage storagectl"-type modifications to virtualbox defaults? VDI image, hosted on NTFS, using defaults. From tinguely@sgi.com Tue Jun 24 13:25:38 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id BE3467F47 for ; Tue, 24 Jun 2014 13:25:38 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5FAAE30408C; Tue, 24 Jun 2014 11:25:35 -0700 (PDT) Message-ID: <53A9C29D.8080006@sgi.com> Date: Tue, 24 Jun 2014 13:25:33 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: "Michael L. Semon" CC: xfs@oss.sgi.com Subject: Re: Null pointer dereference while at ACL limit on v5 XFS References: <53A8A0AF.9070009@gmail.com> <53A8A578.4070005@sgi.com> <53A8A676.80305@sgi.com> <53A8F1AC.90109@gmail.com> <53A9A7FE.7060008@sgi.com> In-Reply-To: <53A9A7FE.7060008@sgi.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/24/14 11:31, Mark Tinguely wrote: > On 06/23/14 22:34, Michael L. Semon wrote: >> On 06/23/2014 06:13 PM, Mark Tinguely wrote: >>> On 06/23/14 17:08, Mark Tinguely wrote: >>>> On 06/23/14 16:48, Michael L. Semon wrote: >>>>> At the ACL limit of v5-superblock XFS--with a directory filled with >>>>> both default >>>>> and access ACL entries--I'm getting a null pointer dereference on x86 >>>>> after >>>>> creating the directory successfully. >>>>> >>>>> Disclaimer: There's some current issues on 32-bit x86 that, for >>>>> instance, can >>>>> make badblocks see phantom bad blocks on a read test. My apologies in >>>>> advance >>>>> if this turns out to be a false alarm bug report. >>>>> >>>>> My first encounter with this issue involved fsstress. Here's part of a >>>>> `crash` >>>>> session from the fsstress run. >>>>> >>>>> root@oldsvrhw:/mnt/crashdump/xfs-fsstress-max-acl-2# crash vmlinux >>>>> System.map vmcore >>>>> crash 7.0.4 >>> ... >>>>> Thanks! >>>>> >>>>> Michael >>>>> >>>> >>>> Michael, do you have the vmcore dump for this or was this just from the >>>> messages. >>>> >>>> Thanks. >>>> >>>> --Mark. >>> >>> ummm, duh me. you were running crash ... >>> >>> Can I look at the core? >>> >>> --Mark. >> >> Sure! I've uploaded two sets of core dumps (vmcore, vmlinux, System.map, >> config, sample crash session) and put them here for a short time: >> > > Both are buffer - like your trace shows that is was updating on the AIL > and it really is but in both crashes the log item ail next link has been > NULLed: > > xfs-fsstress-max-acl-2: > crash> xfs_buf_log_item dde37370 > struct xfs_buf_log_item { > bli_item = { > li_ail = { > next = 0x0, > prev = 0xdc01d6e8 > > xfs-fsstress-max-acl-3: > crash> xfs_buf_log_item db5bf0b0 > struct xfs_buf_log_item { > bli_item = { > li_ail = { > next = 0x0, > prev = 0xdb5bf4d0 > }, > > not good. > > --Mark. PS. I don't know if this will help but I followed the xfs_log_items backwards to xfs_ail and that is okay. The prev pointer on the ail is pointing to a corrupted chain: crash> xfs_ail ddc81d80 struct xfs_ail { xa_mount = 0xddd6b800, xa_task = 0xddec5580, xa_ail = { next = 0xdb04b210, prev = 0xddca60d0 }, .. crash> xfs_log_item ddca60d0 struct xfs_log_item { li_ail = { next = 0xddc81d88, <- correct, the xfs_ail prev = 0xdb5bf580 }, ... crash> xfs_log_item db5bf580 struct xfs_log_item { li_ail = { next = 0xdbab6000, <- wrong, points to a small xfs_item loop. prev = 0xde92fcf0 }, ... small loop: crash> xfs_log_item de92fcf0 struct xfs_log_item { li_ail = { next = 0xdb5bf580, prev = 0xdb04b370 }, crash> xfs_log_item db04b370 struct xfs_log_item { li_ail = { next = 0xde92fcf0, prev = 0xdb04b420 }, crash> xfs_log_item db04b420 struct xfs_log_item { li_ail = { next = 0xdb04b370, prev = 0xdb5bf630 }, crash> xfs_log_item db5bf630 struct xfs_log_item { li_ail = { next = 0xdb04b420, prev = 0xdbab6000 <- !! }, crash> xfs_log_item dbab6000 struct xfs_log_item { li_ail = { next = 0xdb5bf630, prev = 0xdb5bf580 <- end of small loop. }, something is happening in an ail insert or delete. From sandeen@sandeen.net Tue Jun 24 13:48:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 29C397F47 for ; Tue, 24 Jun 2014 13:48:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0B9F2304084 for ; Tue, 24 Jun 2014 11:48:36 -0700 (PDT) X-ASG-Debug-ID: 1403635696-04cbb065356c6d0001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id zQFxZjFnxlN01SCk for ; Tue, 24 Jun 2014 11:48:16 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id C7DE963C3BCF; Tue, 24 Jun 2014 13:48:15 -0500 (CDT) Message-ID: <53A9C7EF.7010707@sandeen.net> Date: Tue, 24 Jun 2014 13:48:15 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Fanael Linithien CC: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <53A9A295.8030302@sandeen.net> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403635696 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/24/14, 11:19 AM, Fanael Linithien wrote: > 2014-06-24 18:08 GMT+02:00 Eric Sandeen : >> Do you have any kind of reproducer for this? > > The closest thing to a reliable reproducer I found is: > dd if=/dev/urandom of=some.file > > >> Any chance you created an xfs_metadump before the xfs_repair? > > I still have the broken FS, but the dump is 225 MB. Will it be OK if I > repro it on a clean FS? > >> What constitutes an "unclean unmount" in your case; a VM reset? A host >> crash? > > A VM reset. > >> (This is a VM, right?) > > Right. FWIW, I've been unable to reproduce this in about 4 attempts, using virtualbox, and doing a guest reset. -Eric From stan@hardwarefreak.com Tue Jun 24 13:54:58 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 04B337F47 for ; Tue, 24 Jun 2014 13:54:58 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A89898F8033 for ; Tue, 24 Jun 2014 11:54:57 -0700 (PDT) X-ASG-Debug-ID: 1403636096-04bdf056675aad70001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id RF0qvSkA2Rz2e6Y2 for ; Tue, 24 Jun 2014 11:54:56 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id C36486C16B; Tue, 24 Jun 2014 13:54:55 -0500 (CDT) Message-ID: <53A9C97F.2060908@hardwarefreak.com> Date: Tue, 24 Jun 2014 13:54:55 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1403636096 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 6/24/2014 10:43 AM, Dragon wrote: > Hi, > ok will try. So what could be the problem of this? Maybe the lost of one disk > out of raid6? I think not, or? Maybe a controller failure? Before i used ext4 > and never had problems with this hardware... If it's a hardware problem there should be errors in dmesg. Cheers, Stan From fanael4@gmail.com Tue Jun 24 14:00:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C69017F4E for ; Tue, 24 Jun 2014 14:00:01 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 95CF1304084 for ; Tue, 24 Jun 2014 12:00:01 -0700 (PDT) X-ASG-Debug-ID: 1403636400-04cb6c76d2245b40001-NocioJ Received: from mail-qa0-f47.google.com (mail-qa0-f47.google.com [209.85.216.47]) by cuda.sgi.com with ESMTP id 8A5HDOPIziPOzoe5 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 12:00:00 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.47 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.47] Received: by mail-qa0-f47.google.com with SMTP id hw13so620111qab.6 for ; Tue, 24 Jun 2014 12:00:00 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.47] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.47] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hWaUCj/yNH47IcaNYBdNKkFjDqxCCelePpexdSTVCpc=; b=s/04TzU7kYpYFIvBCR9EtuXgFU8g9oUCaBVYeIXvBNCd8C1Gu+PTM0hb8J0zCUCWKe IiM7D3W1ml7zFRBjsdKIlSEqVM61oqcYJRoGdK3OGftuQeY7o+2eefqgh9whmip0m8wk EhM+TdQ+mKHBuRA3tGxxEmfeSw3DkOCsn3vBkFylk4Uy1ehtvVIkqH/dkxDfiIGwsuNr 7cvvD1tGtZfxXIXYiGqhJv9mRlV7c8NCW5Wdc0oYyu9O1hvxcXIlG19nuc6pGfbOUz/2 dhVNgERPUT5IVWWOUitublqfR9f0ZBZtt8ITzF8MqG1P2J0YeRmbLhLyT23duLUJyTGQ D6cg== MIME-Version: 1.0 X-Received: by 10.140.109.201 with SMTP id l67mr4657315qgf.72.1403636400108; Tue, 24 Jun 2014 12:00:00 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 12:00:00 -0700 (PDT) In-Reply-To: <53A9C7EF.7010707@sandeen.net> References: <53A9A295.8030302@sandeen.net> <53A9C7EF.7010707@sandeen.net> Date: Tue, 24 Jun 2014 21:00:00 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Eric Sandeen Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qa0-f47.google.com[209.85.216.47] X-Barracuda-Start-Time: 1403636400 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-24 20:48 GMT+02:00 Eric Sandeen : > FWIW, I've been unable to reproduce this in about 4 attempts, using > virtualbox, and doing a guest reset. Same here. The most breakage I can get is a log record CRC mismatch (still a bug, I think). I will report if I run across a metadata CRC error ever again. From fanael4@gmail.com Tue Jun 24 14:05:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 72D1E7F4E for ; Tue, 24 Jun 2014 14:05:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 563D0304097 for ; Tue, 24 Jun 2014 12:05:01 -0700 (PDT) X-ASG-Debug-ID: 1403636695-04cbb065386d5f0001-NocioJ Received: from mail-qg0-f68.google.com (mail-qg0-f68.google.com [209.85.192.68]) by cuda.sgi.com with ESMTP id FYWjxO8pIzeQSVCH (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 12:04:56 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.68 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.68] Received: by mail-qg0-f68.google.com with SMTP id q107so206090qgd.7 for ; Tue, 24 Jun 2014 12:04:55 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.68] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.68] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=Z4BLSbgOAIECanKq+7hOAmkrT/F4J04fMEKgj8CkBe8=; b=ysZRdaDFKrYUxJyBDKvdFWf3ocA2GkiIcEy9l+bkYGW7+C7gfZqnwbIBfKgFwFyAhJ A/efFOrKSRSjQyF3zNUOFhuhnLp+r65jkFw61eBQi9+h8WXxSud6nJxbIY9uQ2sNaEmI k7FfHs2o62PhDOGY+2X4xn99FMZngtQ93XePCtYWUVIvZRlab8O9KVv5BiA6EP0lgIkO xGQq6PbMN2eMstc12JuC0gi5G6Aw5kdek5QG73N6JbdkKPFu5nzHt8R1sRXDoYyv4jHh y5nT3V3x3XY+esZFJQvf7QjwAnTmXjBWfJ1Ij8+Lp4+T29GvNLZkqqbgcRy98/acaLiR Ieyg== MIME-Version: 1.0 X-Received: by 10.140.32.197 with SMTP id h63mr4664137qgh.10.1403636695798; Tue, 24 Jun 2014 12:04:55 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 12:04:55 -0700 (PDT) Date: Tue, 24 Jun 2014 21:04:55 +0200 Message-ID: Subject: Log record CRC mismatch after unclean unmount (was: Metadata CRC error upon unclean unmount) From: Fanael Linithien X-ASG-Orig-Subj: Log record CRC mismatch after unclean unmount (was: Metadata CRC error upon unclean unmount) To: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qg0-f68.google.com[209.85.192.68] X-Barracuda-Start-Time: 1403636696 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Accidentally sent it to Eric instead of here. Kernel messages: XFS (sdb1): Mounting V5 Filesystem XFS (sdb1): Starting recovery (logdev: internal) XFS (sdb1): log record CRC mismatch: found 0x956b6019, expected 0xc5023e00. ffffc90004840000: 00 00 00 01 00 00 00 00 69 01 00 00 50 35 60 de ........i...P5`. ffffc90004840010: 00 00 00 10 69 00 00 00 4e 41 52 54 2a 00 00 00 ....i...NART*... XFS (sdb1): log mount/recovery failed: error 117 XFS (sdb1): log mount failed Metadata dump (base64 encoded, gzipped): https://clbin.com/xigeP From Sunghost@gmx.de Tue Jun 24 14:08:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B1C577F53 for ; Tue, 24 Jun 2014 14:08:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 14964AC005 for ; Tue, 24 Jun 2014 12:07:58 -0700 (PDT) X-ASG-Debug-ID: 1403636876-04cbb065356d960001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by cuda.sgi.com with ESMTP id mtPkGWiE5TlcJk2F (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 12:07:57 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.20 Received: from [85.176.52.20] by 3capp-gmx-bs71.server.lan (via HTTP); Tue, 24 Jun 2014 21:07:56 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Tue, 24 Jun 2014 21:07:56 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:bgcF9SN864uTn+M2RqNK+lqSWWU803Ft3WEpj+Ki598 7cXZvfObqnK0iz8WjjWBZFNbIfsHXpWKCq5wfHcPoRFrw5DqlY APPIviPeL6FZMSK0Uk0T6Gn6xAaVmxeVmjUmbkafi/fwQHOcD4 xu/RQaZg8/4qPDfyO5MP+j4iU1X3kYuolxn/q34YfshlUvB5f6 eIasc+NyTjdcTrTucIgJIQtv8kJqhn4+3j8xUcZqDg7Ec7jvzE MrEKe1KybnDUOf4FPWUbbZ4OhA4M3bEODEs92XHWD+td0jfLr2 nNPr6E= X-Barracuda-Connect: mout.gmx.net[212.227.17.20] X-Barracuda-Start-Time: 1403636877 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hi Stan,
will check that. Is there any possebility to check a fresh or running xfs installation? I would check the fs and if all is ok i whould copy my files. xfs_check is depre. i heard ;).

On 6/24/2014 10:43 AM, Dragon wrote:
Hi, ok will try. So what could be the problem of this? Maybe the lost of one disk out of raid6? I think not, or? Maybe a controller failure? Before i used ext4 and never had problems with this hardware...
If it's a hardware problem there should be errors in dmesg. Cheers, Stan
From sandeen@sandeen.net Tue Jun 24 14:45:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8707F7F3F for ; Tue, 24 Jun 2014 14:45:42 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 77F618F804B for ; Tue, 24 Jun 2014 12:45:39 -0700 (PDT) X-ASG-Debug-ID: 1403639137-04cbb0653670960001-NocioJ Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 0btYAkWpi0aeLmP1 for ; Tue, 24 Jun 2014 12:45:37 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by sandeen.net (Postfix) with ESMTPSA id 4BF0663C6058; Tue, 24 Jun 2014 14:45:37 -0500 (CDT) Message-ID: <53A9D561.20805@sandeen.net> Date: Tue, 24 Jun 2014 14:45:37 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Fanael Linithien CC: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <53A9A295.8030302@sandeen.net> <53A9C7EF.7010707@sandeen.net> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1403639137 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6921 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 6/24/14, 2:00 PM, Fanael Linithien wrote: > 2014-06-24 20:48 GMT+02:00 Eric Sandeen : >> FWIW, I've been unable to reproduce this in about 4 attempts, using >> virtualbox, and doing a guest reset. > > Same here. The most breakage I can get is a log record CRC mismatch > (still a bug, I think). I will report if I run across a metadata CRC > error ever again. The trouble with VMs is that we depend on the VM doing the right thing, as well. I can't blame VirtualBox here, but it definitely adds a layer of complexity that we can't control. I've still not been able to make anything go wrong in my testing. -Eric From david@fromorbit.com Tue Jun 24 14:59:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C5C307F3F for ; Tue, 24 Jun 2014 14:59:20 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7E78930406B for ; Tue, 24 Jun 2014 12:59:20 -0700 (PDT) X-ASG-Debug-ID: 1403639957-04cb6c76d024a380001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id JdrSPQzm6gyWOcGC for ; Tue, 24 Jun 2014 12:59:17 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah1FAKbXqVN5LEioPGdsb2JhbABagw1Sh36jHAaZOgGBDBcEAQEBATg1hAMBAQQBJxMcIwULCAMOCgkaCw8FJQMHGhOIOgfJZxcWhU2INxEBUAeEQwWaUJVsgVQrgTo Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail06.adl2.internode.on.net with ESMTP; 25 Jun 2014 05:29:16 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzWs6-0002aY-Hs; Wed, 25 Jun 2014 05:59:14 +1000 Date: Wed, 25 Jun 2014 05:59:14 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac Message-ID: <20140624195914.GI9508@dastard> X-ASG-Orig-Subj: Re: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-gc59a5ac References: <20140623072359.C16CF7F47@oss.sgi.com> <20140623080618.GY9508@dastard> <20140624142522.GB45839@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140624142522.GB45839@bfoster.bfoster> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403639957 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6922 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 24, 2014 at 10:25:36AM -0400, Brian Foster wrote: > On Mon, Jun 23, 2014 at 06:06:18PM +1000, Dave Chinner wrote: > > On Mon, Jun 23, 2014 at 02:23:59AM -0500, xfs@oss.sgi.com wrote: > > > 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, xfs-libxfs-restructure has been updated > > > discards fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (commit) > > > discards e3584e38615389850684fcffd699d97e2e06f2d6 (commit) > > > discards f212d6fcf5c1cc3a3980dd320804c1dfb9f49b75 (commit) > > > discards e10404cf914273de8016d5992c7049bdb9a9a089 (commit) > > > discards f3a19b3ad85dcc4a073270e1fb594eff37709788 (commit) > > > discards d5a6cda3cf2c0860543db26bb5df7ed4404f74cd (commit) > > > c59a5ac xfs: global error sign conversion > > > 63d512e libxfs: move source files > > > 547a71f libxfs: move header files > > > 62c9454 xfs: create libxfs infrastructure > > > b474c7a xfs: Nuke XFS_ERROR macro > > > d99831f xfs: return is not a function > > > 16b9057 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs > > > 9c1d528 Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linus > > > 8d02076 ->splice_write() via ->write_iter() > > > 412dd3a Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs > > > 23adbe1 fs,userns: Change inode_capable to capable_wrt_inode_uidgid > > > bf97f3b xfs: switch to ->write_iter() > > > b4f5d2c xfs: switch to ->read_iter() > > > b318891 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() > > > 0c94933 iov_iter_truncate() > > > 71d8e53 start adding the tag to iov_iter > > > 31b1403 switch {__,}blockdev_direct_IO() to iov_iter > > > a6cbcd4 get rid of pointless iov_length() in ->direct_IO() > > > d8d3d94 pass iov_iter to ->direct_IO() > > > cb66a7a kill generic_segment_checks() > > > f8579f8 generic_file_direct_write(): switch to iov_iter > > > from fcec2eb6a31bde491f4ce9ddd94b41c8aacccd43 (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. > > > > This looks like a lot of non-libxfs changes, but it's mostly just > > noise from the rebase from 3.15.0 to the current master branch at > > 3.16-rc2. > > > > I've added all the negation fixes that Brian noted, and tested all > > the different config options (m,y,n) for the libxfs restructure. I > > haven't come across any problems over the weekend, so I'd like to > > push this out so that we can get this dev cycle properly underway. > > If people can ack this, I'll add all the appropriate sign-offs and > > push it. > > > > The changes look good to me and I don't see any failures that aren't > common with for-next, so: > > Reviewed-by: Brian Foster Thanks, Brian. > That said, I am seeing a BUG() on for-next kernels via repeated xfs/297 > runs. Output is appended below. Yup, I'm still seeing those stale delalloc block asserts quite regularly. There was a lull after the last round of fixes I did, but in the last couple of months they've beena regular occurrence in my testing again... Cheers, Dave. -- Dave Chinner david@fromorbit.com From Sunghost@gmx.de Tue Jun 24 15:02:50 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 90B707F4E for ; Tue, 24 Jun 2014 15:02:50 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4C5128F8054 for ; Tue, 24 Jun 2014 13:02:50 -0700 (PDT) X-ASG-Debug-ID: 1403640163-04bdf056695b0140001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by cuda.sgi.com with ESMTP id VBEUSPWDTDO4rToE (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 13:02:44 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.18 Received: from [85.176.52.20] by 3capp-gmx-bs71.server.lan (via HTTP); Tue, 24 Jun 2014 22:02:42 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Tue, 24 Jun 2014 22:02:42 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:mvNZtK5CZ5AbqvOciqgR2+yKTxyuJMvwDyet3AmkLVF Kdr8dqsO9tx6m/6qaXNLbP1ce0vd53SIqjVfw7F8OM7NG0Jn75 QXaoW+AQ5HAXPbWl0QRg7p5GX6t2jIEyaQlxvxuaiK02JG/R06 F4LuMtW4tkWqsKXzlrDngyPZOHqKlDyGHnHJQPNuC0ltYBhOF6 aljsTMQrWoLT8dxIEr8mQxntXxutYfmZpHi71TOBux260w6BRH zVwx1JMtThvaDeOd8aJgJzXSXYyJ4pZ69P3tBnTovHYlsnoB+k auLQMg= X-Barracuda-Connect: mout.gmx.net[212.227.15.18] X-Barracuda-Start-Time: 1403640164 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6922 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hello,
i actually try to backup the data. Next is that what my lock shows:
[start]
XFS (md2): Internal error xfs_da_do_buf(2) at line 2097 of file /build/linux-5U_ZPM/linux-3.2.57/fs/xfs/xfs_da_btree.c.  Caller 0xffffffffa03e9940
Jun 24 22:00:50 clusternode01 kernel: [ 5461.454987]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476710] Pid: 3352, comm: mc Not tainted 3.2.0-4-amd64 #1 Debian 3.2.57-3+deb7u2
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476718] Call Trace:
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476763]  [<ffffffffa03c2731>] ? xfs_corruption_error+0x54/0x6f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476818]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476868]  [<ffffffffa03e982f>] ? xfs_da_do_buf+0x47e/0x53c [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476916]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476932]  [<ffffffff810cb42d>] ? zone_statistics+0x41/0x74
Jun 24 22:00:50 clusternode01 kernel: [ 5461.476980]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477029]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477078]  [<ffffffffa03ee7b2>] ? xfs_dir2_leaf_lookup_int+0x54/0x24b [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477125]  [<ffffffffa03dfa0c>] ? xfs_bmap_last_extent.constprop.22+0x57/0x66 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477174]  [<ffffffffa03eeda9>] ? xfs_dir2_leaf_lookup+0x4b/0xdc [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477223]  [<ffffffffa03eb4fa>] ? xfs_dir2_isleaf+0x18/0x45 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477272]  [<ffffffffa03eb949>] ? xfs_dir_lookup+0xf7/0x137 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477316]  [<ffffffffa03d0386>] ? xfs_lookup+0x76/0xd3 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477331]  [<ffffffff810ed405>] ? kmem_cache_alloc+0x86/0xea
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477370]  [<ffffffffa03c8e5a>] ? xfs_vn_lookup+0x3f/0x7e [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477386]  [<ffffffff81102d15>] ? d_alloc_and_lookup+0x3a/0x60
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477401]  [<ffffffff811037b9>] ? walk_component+0x219/0x406
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477415]  [<ffffffff811102ee>] ? mntget+0x17/0x1c
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477429]  [<ffffffff8110464d>] ? path_lookupat+0x7c/0x2bd
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477443]  [<ffffffff81036628>] ? should_resched+0x5/0x23
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477457]  [<ffffffff8134e90c>] ? _cond_resched+0x7/0x1c
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477472]  [<ffffffff811048aa>] ? do_path_lookup+0x1c/0x87
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477487]  [<ffffffff81106333>] ? user_path_at_empty+0x47/0x7b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477501]  [<ffffffff810fe1b9>] ? cp_new_stat+0xe6/0xfa
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477515]  [<ffffffff810380dd>] ? set_next_entity+0x32/0x55
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477531]  [<ffffffff8100d750>] ? __switch_to+0x1e5/0x258
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477543]  [<ffffffff810fe386>] ? vfs_fstatat+0x32/0x60
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477557]  [<ffffffff810fe4e7>] ? sys_newlstat+0x12/0x2b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477571]  [<ffffffff81354c12>] ? system_call_fastpath+0x16/0x1b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.477583] XFS (md2): Corruption detected. Unmount and run xfs_repair
Jun 24 22:00:50 clusternode01 kernel: [ 5461.488542] ffff8801e3545000: 44 c1 52 1c 70 87 80 ee c9 b8 26 ad fc cb 65 4d  D.R.p.....&...eM
Jun 24 22:00:50 clusternode01 kernel: [ 5461.492077] XFS (md2): Internal error xfs_da_do_buf(2) at line 2097 of file /build/linux-5U_ZPM/linux-3.2.57/fs/xfs/xfs_da_btree.c.  Caller 0xffffffffa03e9940
Jun 24 22:00:50 clusternode01 kernel: [ 5461.492080]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503378] Pid: 3352, comm: mc Not tainted 3.2.0-4-amd64 #1 Debian 3.2.57-3+deb7u2
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503381] Call Trace:
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503391]  [<ffffffffa03c2731>] ? xfs_corruption_error+0x54/0x6f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503406]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503420]  [<ffffffffa03e982f>] ? xfs_da_do_buf+0x47e/0x53c [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503434]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503438]  [<ffffffff810cb42d>] ? zone_statistics+0x41/0x74
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503452]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503469]  [<ffffffffa03e9940>] ? xfs_da_read_buf+0x1a/0x1f [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503488]  [<ffffffffa03ee7b2>] ? xfs_dir2_leaf_lookup_int+0x54/0x24b [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503506]  [<ffffffffa03dfa0c>] ? xfs_bmap_last_extent.constprop.22+0x57/0x66 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503524]  [<ffffffffa03eeda9>] ? xfs_dir2_leaf_lookup+0x4b/0xdc [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503542]  [<ffffffffa03eb4fa>] ? xfs_dir2_isleaf+0x18/0x45 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503561]  [<ffffffffa03eb949>] ? xfs_dir_lookup+0xf7/0x137 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503578]  [<ffffffffa03d0386>] ? xfs_lookup+0x76/0xd3 [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503585]  [<ffffffff810ed405>] ? kmem_cache_alloc+0x86/0xea
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503600]  [<ffffffffa03c8e5a>] ? xfs_vn_lookup+0x3f/0x7e [xfs]
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503607]  [<ffffffff81102d15>] ? d_alloc_and_lookup+0x3a/0x60
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503615]  [<ffffffff811037b9>] ? walk_component+0x219/0x406
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503622]  [<ffffffff811102ee>] ? mntget+0x17/0x1c
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503630]  [<ffffffff8110464d>] ? path_lookupat+0x7c/0x2bd
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503637]  [<ffffffff81036628>] ? should_resched+0x5/0x23
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503644]  [<ffffffff8134e90c>] ? _cond_resched+0x7/0x1c
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503652]  [<ffffffff811048aa>] ? do_path_lookup+0x1c/0x87
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503660]  [<ffffffff81106333>] ? user_path_at_empty+0x47/0x7b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503667]  [<ffffffff810fe1b9>] ? cp_new_stat+0xe6/0xfa
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503674]  [<ffffffff810380dd>] ? set_next_entity+0x32/0x55
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503682]  [<ffffffff8100d750>] ? __switch_to+0x1e5/0x258
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503689]  [<ffffffff810fe386>] ? vfs_fstatat+0x32/0x60
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503696]  [<ffffffff810fe4e7>] ? sys_newlstat+0x12/0x2b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503704]  [<ffffffff81354c12>] ? system_call_fastpath+0x16/0x1b
Jun 24 22:00:50 clusternode01 kernel: [ 5461.503709] XFS (md2): Corruption detected. Unmount and run xfs_repair
[END]
 
Any Idea?
From david@fromorbit.com Tue Jun 24 15:20:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 1CEBC7F3F for ; Tue, 24 Jun 2014 15:20:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 652AEAC005 for ; Tue, 24 Jun 2014 13:19:56 -0700 (PDT) X-ASG-Debug-ID: 1403641188-04cbb06537730b0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id zlelxsEucdouLcGV for ; Tue, 24 Jun 2014 13:19:48 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhBFAEvcqVN5LEioPGdsb2JhbABQCoMNiFCjHAaZOgGBDBcEAQEBATg1hAMBAQQBOhwjBQsIAxgJJQ8FJQMHGhOIOgfJLRcWhU2IPVwHhEMFmlCXQCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail06.adl2.internode.on.net with ESMTP; 25 Jun 2014 05:49:47 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzXBy-0002dn-Bw; Wed, 25 Jun 2014 06:19:46 +1000 Date: Wed, 25 Jun 2014 06:19:46 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140624201946.GJ9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403641188 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6922 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 24, 2014 at 06:01:16PM +0200, Fanael Linithien wrote: > XFS V5 can become unmountable after an unclean unmount. Zeroing the > log and running xfs_repair fixes the filesystem. > > The following kernel messages are from Linux 3.14.4, but the same > thing happens in 3.15.1. > > SGI XFS with ACLs, security attributes, realtime, large block/inode > numbers, no debug enabled > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > XFS (sda2): Using inode cluster size of 16384 bytes > XFS (sda2): Mounting Filesystem > XFS (sda2): Starting recovery (logdev: internal) > XFS (sda2): Version 5 superblock detected. This kernel has > EXPERIMENTAL support enabled! > Use of these features in this kernel is at your own risk! > ffff880063e85000: 41 42 33 42 00 00 00 2b ff ff ff ff ff ff ff ff > AB3B...+........ > ffff880063e85010: 00 00 00 00 01 f3 6a 00 00 00 00 01 00 00 06 c9 > ......j......... > ffff880063e85020: 30 c1 4d f1 3a e2 44 7d a7 bb 25 1f a5 65 5a 7f > 0.M.:.D}..%..eZ. > ffff880063e85030: 00 00 00 01 4d 5f 10 db 00 00 00 01 00 00 00 07 > ....M_.......... > XFS (sda2): Internal error xfs_allocbt_read_verify at line 362 of file > fs/xfs/xfs_alloc_btree.c. Caller 0xffffffffa0527be5 > CPU: 0 PID: 93 Comm: kworker/0:1H Not tainted 3.14.4-1-ARCH #1 OK, that doesn't tell us that the problem is a CRC error, just that the btree block on disk has problems. I'd recommend an upgrade to 3.15 which has much better error reporting in situations like this, and it is no longer experimental... > Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 > Workqueue: xfslogd xfs_buf_iodone_work [xfs] > 0000000000000000 00000000cebb8ca3 ffff88006e927d90 ffffffff8150996e > ffff880067064800 ffff88006e927dd0 ffffffffa052ae00 ffffffffa0527be5 > ffffffffa05ab718 ffff8800672132a0 ffff880067213200 ffffffffa0527be5 > Call Trace: > [] dump_stack+0x4d/0x6f > [] xfs_corruption_error+0x90/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_allocbt_read_verify+0x69/0xe0 [xfs] > [] ? xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] xfs_buf_iodone_work+0x75/0xa0 [xfs] > [] process_one_work+0x168/0x450 > [] worker_thread+0x132/0x3e0 > [] ? manage_workers.isra.23+0x2d0/0x2d0 > [] kthread+0xea/0x100 > [] ? __mem_cgroup_try_charge+0x6a0/0x8a0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > [] ret_from_fork+0x7c/0xb0 > [] ? kthread_create_on_node+0x1a0/0x1a0 > XFS (sda2): Corruption detected. Unmount and run xfs_repair > XFS (sda2): metadata I/O error: block 0x1f36a00 > ("xfs_trans_read_buf_map") error 117 numblks 8 > XFS (sda2): Failed to recover EFIs > XFS (sda2): log mount finish failed We do see this sort of freespace btree corruption being reported during EFI recovery on V4 filesystems semi-regularly. This is the first time I've seen it on a V5 filesystem. Because log recovery didn't flag a error on this block, it means that either: 1. it wasn't recovered and hence was corrupt before the crash, 2. it was recovered and passed a verifier check during writeback, but then failed the verifier on re-read. I don't think that 2) is likely, so I suspect that the corruption was present before the system crashed. If you do reproduce this, I'd really like to see a metadump of the filesystem to identify what the corruption actually is... Cheers, Dave. -- Dave Chinner david@fromorbit.com From fanael4@gmail.com Tue Jun 24 15:44:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 59BD07F3F for ; Tue, 24 Jun 2014 15:44:44 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 32EE9304062 for ; Tue, 24 Jun 2014 13:44:38 -0700 (PDT) X-ASG-Debug-ID: 1403642676-04bdf056695b31b0001-NocioJ Received: from mail-qg0-f47.google.com (mail-qg0-f47.google.com [209.85.192.47]) by cuda.sgi.com with ESMTP id SnNgGfKdWMxKEpLb (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 13:44:36 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.47 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] Received: by mail-qg0-f47.google.com with SMTP id q108so827511qgd.34 for ; Tue, 24 Jun 2014 13:44:35 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hBDf3gpHl9My+30iih+KbBlRddZyjxH07iaCrzWvT7E=; b=HxQpLeR9Gz/4kGc9hwmsCqZVsm6F3DAqC4Hsd/Gr8Dsl0Ro5BwDoRmy9DYZtAj8AWw rHM9xUq3REkdM8DuR6Rzg4jqXzsfWC+9puUq3mQjU3v958r53CrqGTtmXtbSPnjY1/Lo 5hnTBR/44ouBfCaoaeMy2DLFc9OgLmu2H/SNY9YxO7Sc3gzTzC6vao0//HaKSkSTbkjb Chc87rACd1BUP9cIiaDb/JTVt9VR5DZncFolfFJZBvQyCK/SmGvzGT7010iMvXO1KPMF 0pZ0rBScaakHZ75+GI2HeHrIe09IV1BaisRvKe1vROiceSlUSzDUKk0f8DHWaUIo8kpZ 6ztw== MIME-Version: 1.0 X-Received: by 10.140.82.113 with SMTP id g104mr5333644qgd.55.1403642675873; Tue, 24 Jun 2014 13:44:35 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 13:44:35 -0700 (PDT) In-Reply-To: <20140624201946.GJ9508@dastard> References: <20140624201946.GJ9508@dastard> Date: Tue, 24 Jun 2014 22:44:35 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qg0-f47.google.com[209.85.192.47] X-Barracuda-Start-Time: 1403642676 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6922 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-24 22:19 GMT+02:00 Dave Chinner : > > OK, that doesn't tell us that the problem is a CRC error, just that > the btree block on disk has problems. I'd recommend an upgrade to > 3.15 which has much better error reporting in situations like this, > and it is no longer experimental... The original error was caused by 3.15, but the error messages were from 3.14 because that's what Arch install CD uses, and I had to use the CD because the hosed filesystem was /. Now that I think about it, setting up another 3.15 installation to try to recover that FS would be a better idea, but now it's too late. At any rate, I'm still trying to reproduce this and will surely report if I succeed. So far, the only thing I've managed to found is that log record CRC mismatch thing. From stan@hardwarefreak.com Tue Jun 24 16:29:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 598127F3F for ; Tue, 24 Jun 2014 16:29:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 314B68F804B for ; Tue, 24 Jun 2014 14:29:07 -0700 (PDT) X-ASG-Debug-ID: 1403645345-04cbb0653777dc0001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id NnrK7ANF3Kn6vnar for ; Tue, 24 Jun 2014 14:29:05 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id A38836C0C6; Tue, 24 Jun 2014 16:29:05 -0500 (CDT) Message-ID: <53A9EDA1.5070702@hardwarefreak.com> Date: Tue, 24 Jun 2014 16:29:05 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1403645345 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 6/24/2014 3:02 PM, Dragon wrote: > Hello, > i actually try to backup the data. Next is that what my lock shows: > [start] > XFS (md2): Internal error xfs_da_do_buf(2) at line 2097 of file > /build/linux-5U_ZPM/linux-3.2.57/fs/xfs/xfs_da_btree.c. Caller 0xffffffffa03e9940 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.454987] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476710] Pid: 3352, comm: mc Not > tainted 3.2.0-4-amd64 #1 Debian 3.2.57-3+deb7u2 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476718] Call Trace: > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476763] [] ? > xfs_corruption_error+0x54/0x6f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476818] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476868] [] ? > xfs_da_do_buf+0x47e/0x53c [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476916] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476932] [] ? > zone_statistics+0x41/0x74 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.476980] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477029] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477078] [] ? > xfs_dir2_leaf_lookup_int+0x54/0x24b [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477125] [] ? > xfs_bmap_last_extent.constprop.22+0x57/0x66 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477174] [] ? > xfs_dir2_leaf_lookup+0x4b/0xdc [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477223] [] ? > xfs_dir2_isleaf+0x18/0x45 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477272] [] ? > xfs_dir_lookup+0xf7/0x137 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477316] [] ? > xfs_lookup+0x76/0xd3 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477331] [] ? > kmem_cache_alloc+0x86/0xea > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477370] [] ? > xfs_vn_lookup+0x3f/0x7e [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477386] [] ? > d_alloc_and_lookup+0x3a/0x60 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477401] [] ? > walk_component+0x219/0x406 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477415] [] ? > mntget+0x17/0x1c > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477429] [] ? > path_lookupat+0x7c/0x2bd > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477443] [] ? > should_resched+0x5/0x23 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477457] [] ? > _cond_resched+0x7/0x1c > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477472] [] ? > do_path_lookup+0x1c/0x87 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477487] [] ? > user_path_at_empty+0x47/0x7b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477501] [] ? > cp_new_stat+0xe6/0xfa > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477515] [] ? > set_next_entity+0x32/0x55 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477531] [] ? > __switch_to+0x1e5/0x258 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477543] [] ? > vfs_fstatat+0x32/0x60 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477557] [] ? > sys_newlstat+0x12/0x2b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477571] [] ? > system_call_fastpath+0x16/0x1b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.477583] XFS (md2): Corruption > detected. Unmount and run xfs_repair > Jun 24 22:00:50 clusternode01 kernel: [ 5461.488542] ffff8801e3545000: 44 c1 52 > 1c 70 87 80 ee c9 b8 26 ad fc cb 65 4d D.R.p.....&...eM > Jun 24 22:00:50 clusternode01 kernel: [ 5461.492077] XFS (md2): Internal error > xfs_da_do_buf(2) at line 2097 of file > /build/linux-5U_ZPM/linux-3.2.57/fs/xfs/xfs_da_btree.c. Caller 0xffffffffa03e9940 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.492080] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503378] Pid: 3352, comm: mc Not > tainted 3.2.0-4-amd64 #1 Debian 3.2.57-3+deb7u2 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503381] Call Trace: > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503391] [] ? > xfs_corruption_error+0x54/0x6f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503406] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503420] [] ? > xfs_da_do_buf+0x47e/0x53c [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503434] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503438] [] ? > zone_statistics+0x41/0x74 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503452] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503469] [] ? > xfs_da_read_buf+0x1a/0x1f [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503488] [] ? > xfs_dir2_leaf_lookup_int+0x54/0x24b [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503506] [] ? > xfs_bmap_last_extent.constprop.22+0x57/0x66 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503524] [] ? > xfs_dir2_leaf_lookup+0x4b/0xdc [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503542] [] ? > xfs_dir2_isleaf+0x18/0x45 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503561] [] ? > xfs_dir_lookup+0xf7/0x137 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503578] [] ? > xfs_lookup+0x76/0xd3 [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503585] [] ? > kmem_cache_alloc+0x86/0xea > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503600] [] ? > xfs_vn_lookup+0x3f/0x7e [xfs] > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503607] [] ? > d_alloc_and_lookup+0x3a/0x60 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503615] [] ? > walk_component+0x219/0x406 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503622] [] ? > mntget+0x17/0x1c > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503630] [] ? > path_lookupat+0x7c/0x2bd > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503637] [] ? > should_resched+0x5/0x23 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503644] [] ? > _cond_resched+0x7/0x1c > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503652] [] ? > do_path_lookup+0x1c/0x87 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503660] [] ? > user_path_at_empty+0x47/0x7b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503667] [] ? > cp_new_stat+0xe6/0xfa > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503674] [] ? > set_next_entity+0x32/0x55 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503682] [] ? > __switch_to+0x1e5/0x258 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503689] [] ? > vfs_fstatat+0x32/0x60 > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503696] [] ? > sys_newlstat+0x12/0x2b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503704] [] ? > system_call_fastpath+0x16/0x1b > Jun 24 22:00:50 clusternode01 kernel: [ 5461.503709] XFS (md2): Corruption > detected. Unmount and run xfs_repair > [END] > Any Idea? The error msg above tells you what to do. Follow Eric's suggestion, install the latest xfsprogs, unmount, and run xfs_repair. Cheers, Stan From a.m.k.yassin@g.pl Tue Jun 24 16:50:19 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=URG_BIZ autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 45EAD7F3F for ; Tue, 24 Jun 2014 16:50:19 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id EDFA18F804B for ; Tue, 24 Jun 2014 14:50:18 -0700 (PDT) X-ASG-Debug-ID: 1403646616-04bdf056665b7250001-NocioJ Received: from mail.vps.com ([67.207.157.165]) by cuda.sgi.com with ESMTP id NFrC0K6gJ8Is7ZaH for ; Tue, 24 Jun 2014 14:50:16 -0700 (PDT) X-Barracuda-Envelope-From: a.m.k.yassin@g.pl X-Barracuda-Apparent-Source-IP: 67.207.157.165 Received: from [67.207.157.165] (localhost [IPv6:::1]) by mail.vps.com (Postfix) with ESMTP id 9C76354328; Tue, 24 Jun 2014 21:44:45 +0000 (UTC) Received: from 94.202.195.133 (SquirrelMail authenticated user admin) by 67.207.157.165 with HTTP; Wed, 25 Jun 2014 01:44:46 +0400 Message-ID: Date: Wed, 25 Jun 2014 01:44:46 +0400 Subject: Interesting Business From: "A.M.K.Yassin" X-ASG-Orig-Subj: Interesting Business Reply-To: a.m.k.yasin@g.pl User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20140625014446_88199" X-Priority: 3 (Normal) Importance: Normal To: undisclosed-recipients:; X-Barracuda-Connect: UNKNOWN[67.207.157.165] X-Barracuda-Start-Time: 1403646616 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.27 X-Barracuda-Spam-Status: No, SCORE=2.27 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC2_MV0291, RDNS_NONE, URG_BIZ X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6924 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.67 URG_BIZ BODY: Contains urgent matter 1.50 BSF_SC2_MV0291 Custom rule MV0291 0.10 RDNS_NONE Delivered to trusted network by a host with no rDNS ------=_20140625014446_88199 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Greeting, My name is Mr. A. M. Yassin, I live and work in Abu Dhabi UAE. I have an urgent business which I believe will interest you. Find the enclose for details. For any reason you cannot open that attachment, please let me know so that I can resend it in the body of the mail, thank you. I wait for your response, Thank you. Regards A. M. Yassin ------=_20140625014446_88199 Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document; name="Interesting Business.docx" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Interesting Business.docx" UEsDBBQABgAIAAAAIQAJJIeCgQEAAI4FAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0 lE1Pg0AQhu8m/geyVwPbejDGlPag9ahNrPG8LkPZyH5kZ/v17x1KS6qhpVq9kMAy7/vMCzOD0UqX 0QI8KmtS1k96LAIjbabMLGWv08f4lkUYhMlEaQ2kbA3IRsPLi8F07QAjqjaYsiIEd8c5ygK0wMQ6 MHSSW69FoFs/407IDzEDft3r3XBpTQAT4lBpsOHgAXIxL0M0XtHjmsRDiSy6r1+svFImnCuVFIFI +cJk31zirUNClZt3sFAOrwiD8VaH6uSwwbbumaLxKoNoInx4Epow+NL6jGdWzjX1kByXaeG0ea4k NPWVmvNWAiJlrsukOdFCmR3/QQ4M6xLw7ylq3RPt31QoxnkOkj52dx4a46rppLbYq+12gxAopFNM vv6CcVfouFXuRFjC+8u/UeyJd4LkNBpT8V7CCYn/MIxGuhMi0LwD31z7Z3NsZI5Z0mRMvHVI+8P/ ou3dgqiqYxo5Bz4oaFZE24g1jrR7zu4Pqu2WQdbizTfbdPgJAAD//wMAUEsDBBQABgAIAAAAIQAe kRq38wAAAE4CAAALAAgCX3JlbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjJLbSgNBDIbvBd9hyH032woi0tneSKF3 IusDhJnsAXcOzKTavr2jILpQ217m9OfLT9abg5vUO6c8Bq9hWdWg2JtgR99reG23iwdQWchbmoJn DUfOsGlub9YvPJGUoTyMMaui4rOGQSQ+ImYzsKNchci+VLqQHEkJU4+RzBv1jKu6vsf0VwOamaba WQ1pZ+9AtcdYNl/WDl03Gn4KZu/Yy4kVyAdhb9kuYipsScZyjWop9SwabDDPJZ2RYqwKNuBpotX1 RP9fi46FLAmhCYnP83x1nANaXg902aJ5x687HyFZLBZ9e/tDg7MvaD4BAAD//wMAUEsDBBQABgAI AAAAIQB8O5c5IgEAALkDAAAcAAgBd29yZC9fcmVscy9kb2N1bWVudC54bWwucmVscyCiBAEooAAB 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 AA== ------=_20140625014446_88199-- From fanael4@gmail.com Tue Jun 24 16:50:58 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id E63A47F3F for ; Tue, 24 Jun 2014 16:50:58 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id AA8C1304032 for ; Tue, 24 Jun 2014 14:50:55 -0700 (PDT) X-ASG-Debug-ID: 1403646652-04bdf056675b72e0001-NocioJ Received: from mail-qc0-f196.google.com (mail-qc0-f196.google.com [209.85.216.196]) by cuda.sgi.com with ESMTP id PKr4hnOI9aiB4mqd (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 14:50:53 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.196 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.196] Received: by mail-qc0-f196.google.com with SMTP id c9so245480qcz.11 for ; Tue, 24 Jun 2014 14:50:52 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.196] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.196] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Z1x5/L/EhefvRRPdrbUyEjiNMcfmMQCZCqjM1M/lAqk=; b=bFJv7Dn74eN6oT9x/6rVPNkTXht90IlGmAR1LRFP57/DvOuGlppP/Cq9SSqzsTicRt mNU8XHcciynzN0roiAhVNVd4NMOWupOpP8VAgGs/m3SIug+g9xrggM6w9mtUyS7wQ59L inmhuwhpTUdwq+D7ytZgwJB+dEmBHqr/6qOuwbeVWdVnof3j4217Tz0cMEPF94NnGX/q 64LMJZ+SA67l5PHwcoy/9S7q2gvkq6MlXRZ08zq3+IQnASqixWw+bMQ3lnRh8qJKcxQ7 wdeAHu/xJkszHg5QBxkB+9FK0vv5qozmq0+JlXgb5RLxH+uy96MyzAsDtG2GuZvazULz fjww== MIME-Version: 1.0 X-Received: by 10.140.80.49 with SMTP id b46mr5629196qgd.102.1403646652644; Tue, 24 Jun 2014 14:50:52 -0700 (PDT) Received: by 10.224.85.195 with HTTP; Tue, 24 Jun 2014 14:50:52 -0700 (PDT) In-Reply-To: <20140624201946.GJ9508@dastard> References: <20140624201946.GJ9508@dastard> Date: Tue, 24 Jun 2014 23:50:52 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qc0-f196.google.com[209.85.216.196] X-Barracuda-Start-Time: 1403646653 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.00 X-Barracuda-Spam-Status: No, SCORE=1.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC1_TG172a, DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6924 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 1.00 BSF_SC1_TG172a Custom Rule TG172a Managed to get the "metadata CRC error" again. Trying to get useful info from an initramfs recovery shell is fun. dmesg: [ 4.215841] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled [ 4.224047] XFS (sda1): Mounting V5 Filesystem [ 4.527156] XFS (sda1): Starting recovery (logdev: internal) [ 4.546698] XFS (sda1): Metadata CRC error detected at xfs_agi_read_verify+0x5e/0x110 [xfs], block 0x2 [ 4.547083] XFS (sda1): Unmount and run xfs_repair [ 4.547347] XFS (sda1): First 64 bytes of corrupted metadata buffer: [ 4.547670] ffff8800364d3600: 58 41 47 49 00 00 00 01 00 00 00 00 00 13 d0 00 XAGI............ [ 4.548027] ffff8800364d3610: 00 00 17 40 00 00 00 03 00 00 00 01 00 00 00 2b ...@...........+ [ 4.548382] ffff8800364d3620: 00 0c 95 40 ff ff ff ff ff ff ff ff ff ff ff ff ...@............ [ 4.548752] ffff8800364d3630: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ [ 4.549420] XFS (sda1): metadata I/O error: block 0x2 ("xfs_trans_read_buf_map") error 74 numblks 1 Metadata dump (xz + base64): https://clbin.com/4KYSR From dchinner@redhat.com Tue Jun 24 17:05:44 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C4D557F3F for ; Tue, 24 Jun 2014 17:05:43 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 21B8DAC008 for ; Tue, 24 Jun 2014 15:05:42 -0700 (PDT) X-ASG-Debug-ID: 1403647537-04cb6c76d1252ae0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id U0Y2nCBoouULkCh6 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 15:05:38 -0700 (PDT) X-Barracuda-Envelope-From: dchinner@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5OM5YZl025092 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 24 Jun 2014 18:05:34 -0400 Received: from devil.localdomain ([10.3.113.14]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5OM5W66013975 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 24 Jun 2014 18:05:33 -0400 Received: from dchinner by devil.localdomain with local (Exim 4.76) (envelope-from ) id 1WzYqI-0003TV-MJ; Wed, 25 Jun 2014 08:05:30 +1000 Date: Wed, 25 Jun 2014 08:05:30 +1000 From: Dave Chinner To: Masayoshi Mizuma Cc: xfs@oss.sgi.com, linux-mm@kvack.org Subject: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. Message-ID: <20140624220530.GD1976@devil.localdomain> X-ASG-Orig-Subj: Re: xfs: two deadlock problems occur when kswapd writebacks XFS pages. References: <53A0013A.1010100@jp.fujitsu.com> <20140617132609.GI9508@dastard> <53A15DC7.50001@jp.fujitsu.com> <53A7D6CC.1040605@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53A7D6CC.1040605@jp.fujitsu.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403647538 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Mon, Jun 23, 2014 at 04:27:08PM +0900, Masayoshi Mizuma wrote: > Hi Dave, > > (I removed CCing xfs and linux-mm. And I changed your email address > to @redhat.com because this email includes RHEL7 kernel stack traces.) Please don't do that. There's nothing wrong with posting RHEL7 stack traces to public lists (though I'd prefer you to reproduce this problem on a 3.15 or 3.16-rc kernel), and breaking the thread of discussion makes it impossible to involve the people necessary to solve this problem. I've re-added xfs and linux-mm to the cc list, and taken my redhat address off it... [looks at sysrq-w output] kswapd0 is blocked in shrink_inactive_list/congestion_wait(). kswapd1 is blocked waiting for log space from shrink_inactive_list(). kthreadd is blocked in shrink_inactive_list/congestion_wait trying to fork another process. xfsaild is in uninterruptible sleep, indicating that there is still metadata to be written to push the log tail to it's required target, and it will retry again in less than 20ms. xfslogd is not blocked, indicating the log has not deadlocked due to lack of space. there are lots of timestamp updates waiting for log space. There is one kworker stuck in data IO completion on an inode lock. There are several threads blocked on an AGF lock trying to free extents. The bdi writeback thread is blocked waiting for allocation. A single xfs_alloc_wq kworker is blocked in shrink_inactive_list/congestion_wait while trying to read in btree blocks for transactional modification. Indicative of memory pressure trashing the working set of cached metadata. waiting for memory reclaim - holds agf lock, blocks unlinks There are 113 (!) blocked sadc processes - why are there so many stats gathering processes running? If you stop gathering stats, does the problem go away? There are 54 mktemp processes blocked - what is generating them? what filesystem are they actually running on? i.e. which XFS filesystem in the system is having log space shortages? And what is the xfs_info output of that filesystem i.e. have you simply oversubscribed a tiny log and so it crawls along at a very slow pace? All of the blocked processes are on CPUs 0-3 i.e. on node 0, which is handled by kswapd0, which is not blocked waiting for log space. Hmmm - what is the value of /proc/sys/vm/zone_reclaim_mode? If it is not zero, does setting it to zero make the problem go away? Interestingly enough, for a system under extreme memory pressure, don't see any processes blocked waiting for swap space or swap IO. Do you have any swap space configured on this machine? If you don't, does the problem go away when you add a swap device? Overall, I can't see anything that indicates that the filesystem has actually hung. I can see it having trouble allocating the memory it needs to make forwards progress, but the system itself is not deadlocked. Is there any IO being issued when the system is in this state? If there is Io being issued, then progress is being made and the system is merely slow because of the extreme memory pressure generated by the stress test. If there is not IO being issued, does the system start making progress again if you kill one of the memory hogs? i.e. does the equivalent of triggering an OOM-kill make the system responsive again? If it does, then the filesystem is not hung and the problem is that there isn't enough free memory to allow the filesystem to do IO and hence allow memory reclaim to make progress. In which case, does increasing /proc/sys/vm/min_free_kbytes make the problem go away? Cheers, Dave. -- Dave Chinner dchinner@redhat.com From Sunghost@gmx.de Tue Jun 24 17:15:49 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 45C477F3F for ; Tue, 24 Jun 2014 17:15:49 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id CFCC0AC007 for ; Tue, 24 Jun 2014 15:15:48 -0700 (PDT) X-ASG-Debug-ID: 1403648145-04bdf056695b8b00001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by cuda.sgi.com with ESMTP id J84Cow3IRqjAQ0BB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 15:15:47 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.17.21 Received: from [85.176.52.20] by 3capp-gmx-bs71.server.lan (via HTTP); Wed, 25 Jun 2014 00:15:45 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Wed, 25 Jun 2014 00:15:45 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:L3pc2ROCqTbTEKPxshuLc4KsaKuXClnxlfryXI9s63V CIc+HQ6gi4C/IZJmcZyDblTwGqO33puVxyrqgh6AmBv6tXO1gP ZFuCw7wPBGrNt3iVvWpLsAqjohCyzASc+qHdPmGzkgXJlBLwzM RVCI/fLruWNjhwQqQEYfixrtd6IQwsponX56D0ueRCmRFvahPO 8Un2khNsTI7rAKoYlouxoEKtv/qYsMVaS0HGeAOnEwaIh17Una 919rNZglXKAo8evvjcoQ8vO4GESLdUK6KqD7TakLUBD+Z37qYp WJrz68= X-Barracuda-Connect: mout.gmx.net[212.227.17.21] X-Barracuda-Start-Time: 1403648146 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6924 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hi,
yes read this, but i am new and dont know what this command will do and i dont want to lost my data. I read in the net, that some people couldnt start or boot from that disk, after running xfs_repair. I looked for a upgrade to latest xfsprogs version, but it seems difficult for amd64 systems. Do you have a changelog to latest version, could my installed version be ok, or better not to use?
Thx Stan and Eric
From stan@hardwarefreak.com Tue Jun 24 18:08:42 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id A50E97F3F for ; Tue, 24 Jun 2014 18:08:42 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7CCB9304062 for ; Tue, 24 Jun 2014 16:08:39 -0700 (PDT) X-ASG-Debug-ID: 1403651318-04cb6c76d12562a0001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id makRZGaKbqdBDI83 for ; Tue, 24 Jun 2014 16:08:38 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 1B2FE6C0C6; Tue, 24 Jun 2014 18:08:38 -0500 (CDT) Message-ID: <53AA04F5.5080000@hardwarefreak.com> Date: Tue, 24 Jun 2014 18:08:37 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1403651318 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 6/24/2014 5:15 PM, Dragon wrote: > Hi, > yes read this, but i am new and dont know what this command will do and i dont > want to lost my data. I read in the net, that some people couldnt start or boot > from that disk, after running xfs_repair. I looked for a upgrade to latest > xfsprogs version, but it seems difficult for amd64 systems. Do you have a > changelog to latest version, could my installed version be ok, or better not to use? > Thx Stan and Eric # xfs_repair -n -P /dev/device Post the output in your next reply, assuming it doesn't hang again. Cheers, Stan From Sunghost@gmx.de Tue Jun 24 18:41:11 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 66FFB7F3F for ; Tue, 24 Jun 2014 18:41:11 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4D32E304059 for ; Tue, 24 Jun 2014 16:41:11 -0700 (PDT) X-ASG-Debug-ID: 1403653269-04cb6c76d22582c0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by cuda.sgi.com with ESMTP id dccDJUqYnCGoqCt9 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 16:41:10 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.18 Received: from [85.176.52.20] by 3capp-gmx-bs71.server.lan (via HTTP); Wed, 25 Jun 2014 01:41:08 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Wed, 25 Jun 2014 01:41:08 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:H3HqfPnrqP35TBLLK7dKnpm6Mop6KyYYWjZnNVeaVRg WKdHrI4J6gj/taxalEi/kLN3/+AvQDRqh3oVYZTEE/pZYj+66B ElV+Zng+0m3R1t7Yt9hCMvteVyHRtF7dXTa1arG+zDH6BB6XNP 51h6buGnXK06bEetOiD7JxB+v6arYIkYUsZ77JPoZ/7Y0dvfy6 quvLZwsB0kh7bRFiyDemVV4JlPhlwC1NsDIuySCWvK54Aa5mIL O+G/1ZO969nnbuTj80pQlzZ10m6EpIvrJuSHnzPl2Lnz3oEGAV SNVhxM= X-Barracuda-Connect: mout.gmx.net[212.227.15.18] X-Barracuda-Start-Time: 1403653269 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6926 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hi,
actually the backup is running but i run this command yesterday and i remember the result. It passes step1-3 without errors and left step 4-6. I cann run it later again if this doesnt fit to you.

On 6/24/2014 5:15 PM, Dragon wrote:
Hi, yes read this, but i am new and dont know what this command will do and i dont want to lost my data. I read in the net, that some people couldnt start or boot from that disk, after running xfs_repair. I looked for a upgrade to latest xfsprogs version, but it seems difficult for amd64 systems. Do you have a changelog to latest version, could my installed version be ok, or better not to use? Thx Stan and Eric
# xfs_repair -n -P /dev/device Post the output in your next reply, assuming it doesn't hang again. Cheers, Stan
From david@fromorbit.com Tue Jun 24 20:22:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 4DE817F3F for ; Tue, 24 Jun 2014 20:22:20 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 2283B8F804C for ; Tue, 24 Jun 2014 18:22:16 -0700 (PDT) X-ASG-Debug-ID: 1403659331-04bdf056665c3740001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id dWKPMKezBrGq07Hv for ; Tue, 24 Jun 2014 18:22:11 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: An9EAKUiqlN5LEioPGdsb2JhbABagw1SqyIGmToBgQ8XBAEBAQE4NYQDAQEEATocIwULCAMYCSUPBSUDBxoTiDoHqRufKRMEFoVNiRkHhEMFmlCXQCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail04.adl6.internode.on.net with ESMTP; 25 Jun 2014 10:51:46 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzbuC-0003Su-2s; Wed, 25 Jun 2014 11:21:44 +1000 Date: Wed, 25 Jun 2014 11:21:44 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140625012144.GK9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403659331 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6928 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jun 24, 2014 at 11:50:52PM +0200, Fanael Linithien wrote: > Managed to get the "metadata CRC error" again. Trying to get useful > info from an initramfs recovery shell is fun. What kernel are you running? (uname -a, please) > dmesg: > > [ 4.215841] SGI XFS with ACLs, security attributes, realtime, large > block/inode numbers, no debug enabled > [ 4.224047] XFS (sda1): Mounting V5 Filesystem > [ 4.527156] XFS (sda1): Starting recovery (logdev: internal) > [ 4.546698] XFS (sda1): Metadata CRC error detected at > xfs_agi_read_verify+0x5e/0x110 [xfs], block 0x2 > [ 4.547083] XFS (sda1): Unmount and run xfs_repair > [ 4.547347] XFS (sda1): First 64 bytes of corrupted metadata buffer: > [ 4.547670] ffff8800364d3600: 58 41 47 49 00 00 00 01 00 00 00 00 > 00 13 d0 00 XAGI............ > [ 4.548027] ffff8800364d3610: 00 00 17 40 00 00 00 03 00 00 00 01 > 00 00 00 2b ...@...........+ > [ 4.548382] ffff8800364d3620: 00 0c 95 40 ff ff ff ff ff ff ff ff > ff ff ff ff ...@............ > [ 4.548752] ffff8800364d3630: ff ff ff ff ff ff ff ff ff ff ff ff > ff ff ff ff ................ > [ 4.549420] XFS (sda1): metadata I/O error: block 0x2 > ("xfs_trans_read_buf_map") error 74 numblks 1 > > > Metadata dump (xz + base64): https://clbin.com/4KYSR Yup, the CRC on disk is clearly wrong. Without mounting the filesystem, it has a value of: crc = 0x4e28030d (bad) And after re-writing a field in it with xfs_db to the same value: crc = 0x86a5538a (correct) And then it mounts and recovers just fine. But there's CRC errors in every AGI (all 4 on disk) and every inode btree block, too. Ok, dig further in to AGI 0 - the important bits form xfs_db: length = 1298432 count = 5952 root = 3 level = 1 freecount = 43 lsn = 0x30000017e Ok, so this version should match what is in the log checkpoint at lsn = 0x30000017e. What do we have there: LOG REC AT LSN cycle 3 block 382 (0x3, 0x17e) ============================================================================ TRANS: tid:0xc7ad5835 type:CHECKPOINT #items:25 trans:0xc7ad5835 q:0x660a40 INO: cnt:2 total:2 a:0x668c10 len:56 a:0x660ac0 len:176 INODE: #regs:2 ino:0x85cee flags:0x1 dsize:0 CORE inode: BUF: cnt:2 total:2 a:0x64f290 len:24 a:0x668c50 len:128 BUF: #regs:2 start blkno:0x2 len:1 bmap size:1 flags:0x3800 AGI Buffer: (XAGI) ver:1 seq#:0 len:1298432 cnt:5952 root:3 level:1 free#:0x2c newino:0xc9540 ^^^^^^^^^^ ..... 0x2c = 44. The value on disk is *43*. It must have been logged again... LOG REC AT LSN cycle 3 block 414 (0x3, 0x19e) ============================================================================ TRANS: tid:0x73c82586 type:CHECKPOINT #items:23 trans:0x73c82586 q:0x660a40 INO: cnt:2 total:2 a:0x668c50 len:56 a:0x669880 len:176 INODE: #regs:2 ino:0xc9553 flags:0x1 dsize:0 CORE inode: BUF: cnt:2 total:2 a:0x66a110 len:24 a:0x6693d0 len:128 BUF: #regs:2 start blkno:0x2 len:1 bmap size:1 flags:0x3800 AGI Buffer: (XAGI) ver:1 seq#:0 len:1298432 cnt:5952 root:3 level:1 free#:0x2b newino:0xc9540 Yup, there it is - value 0x2b, which is 43. But if that value was written to disk, then why is the LSN stamped in the buffer the previous LSN? I can't see how that is possible, nor is the CRC in the buffer consistent with just an updated LSN to match this transaction. OK: $ xfs_db -x -c "agi 0" -c "write freecount 44" -c "p crc" -f agi-crc-bad.img Metadata CRC error detected at block 0x2/0x200 xfs_db: cannot init perag data (74). Continuing anyway. freecount = 44 crc = 0x4e28030d (correct) $ Ok, so the CRC corresponds to the version of the AGI that was logged at lsn = 0x30000017e. That means the version on disk is a partial update without a CRC recalculation. Ok, so how can that happen? Given the lsn mismatch, I suspect log recovery has played a part as it will not update the LSN when replaying changes in the log. It should, however, always be attaching the appropriate verifier to the buffers being recovered so the CRC should be recalculated correctly. Given that the CRC errors seem to propagate through the XAGI and inode btree blocks *only*, it makes me think that unlinked inode list recovery *might* have caused this, but I cannot yet see the underlying cause of the initial corruption. What is clear, however, is that you are now tripping over a problem caused by a previous crash+recover cycle. Can you reproduce the problem on demand from a brand new filesystem? If so, can you run the cycle: mount write crash take metadump mount unmount run xfs_repair -n if clean do another iteration otherwise, something is wrong. record dmesg take a post-mount metadump post the pre- and post-mount metadumps for me to look at post the entire dmesg so I can look at it. Cheers, Dave. -- Dave Chinner david@fromorbit.com From austin@peloton-tech.com Tue Jun 24 22:05:33 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id AF3197F3F for ; Tue, 24 Jun 2014 22:05:33 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A38AC8F804B for ; Tue, 24 Jun 2014 20:05:30 -0700 (PDT) X-ASG-Debug-ID: 1403665527-04cbb065378cd30001-NocioJ Received: from mail-ie0-f169.google.com (mail-ie0-f169.google.com [209.85.223.169]) by cuda.sgi.com with ESMTP id Qqv8ZGmsSaQCf3Fs (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 20:05:28 -0700 (PDT) X-Barracuda-Envelope-From: austin@peloton-tech.com X-Barracuda-Apparent-Source-IP: 209.85.223.169 Received: by mail-ie0-f169.google.com with SMTP id at1so1122260iec.14 for ; Tue, 24 Jun 2014 20:05:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=EKNuqiDUvJS9daYpSDrIqM3Ums4XY4eiAi/Ay3w/dAU=; b=Zn9GtUb1wbicD/kb5+PgsHbEewH7BPZcPgETGiFKnZeUD+vMS5eCa3IdrnguSqMUkZ 7tOdVkIcbXtts9nJp0kzdZBZGupkmuZNT0SXZD7ZSzgWhq9fuRCPv2/NoCOsNSOCW3Wa 4siyM2vPhwGan+2IN0gHZwW3mUkJe4g0CJjhNCUiQDkS3jO9w+4++SXHFzAnF2roUu87 SSZ6fVHm+pd095IEwHWYE6qie5iQkAeQFLe37PCRk3XxpiXjT+6isfzIVXHIsDhyDbb6 0HcipiWLj82oiQdX/XAfiSdUxQ3qAe4SM2Xjp33Anv9BnS2ZFOJV6S2pTUfrLC9lAxoa 9YSw== X-Gm-Message-State: ALoCoQkIc9J3YKllxVcfypHanAd5VyAjKGlWSdq0g2JpJkA2UMECuin1NLXwNn9v0ZJ9MYJISgfy X-Received: by 10.50.36.106 with SMTP id p10mr39280541igj.9.1403665527666; Tue, 24 Jun 2014 20:05:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.93.5 with HTTP; Tue, 24 Jun 2014 20:05:07 -0700 (PDT) In-Reply-To: <20140624032521.GA12164@htj.dyndns.org> References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> From: Austin Schuh Date: Tue, 24 Jun 2014 20:05:07 -0700 Message-ID: Subject: Re: On-stack work item completion race? (was Re: XFS crash?) To: Tejun Heo X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) Cc: Dave Chinner , xfs , Thomas Gleixner , linux-kernel@vger.kernel.org Content-Type: multipart/alternative; boundary=089e0115ebd02914c004fca05925 X-Barracuda-Connect: mail-ie0-f169.google.com[209.85.223.169] X-Barracuda-Start-Time: 1403665528 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6930 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message --089e0115ebd02914c004fca05925 Content-Type: text/plain; charset=UTF-8 [Adding tglx to the cc] On Mon, Jun 23, 2014 at 8:25 PM, Tejun Heo wrote: > Hello, > > On Tue, Jun 24, 2014 at 01:02:40PM +1000, Dave Chinner wrote: > > start_flush_work() is effectively a special queue_work() > > implementation, so if if it's not safe to call complete() from the > > workqueue as the above patch implies then this code has the same > > problem. > > > > Tejun - is this "do it yourself completion" a known issue w.r.t. > > workqueues? I can't find any documentation that says "don't do > > that" so...? > > It's more complex than using flush_work() but there's nothing > fundamentally wrong with it. A work item is completely unlinked > before its execution starts. It's safe to free the work item once its > work function started, whether through kfree() or returning. > > One difference between flush_work() and manual completion would be > that if the work item gets requeued, flush_work() would wait for the > queued one to finish but given the work item is one-shot this doesn't > make any difference. > > I can see no reason why manual completion would behave differently > from flush_work() in this case. > I went looking for a short trace in my original log to show the problem, and instead found evidence of the second problem. I still like the shorter flush_work call, but that's not my call. I did find this comment in the process_one_work function. Sounds like this could be better documented. /* * It is permissible to free the struct work_struct from * inside the function that is called from it, this we need to * take into account for lockdep too. To avoid bogus "held * lock freed" warnings as well as problems when looking into * work->lockdep_map, make a copy and use that here. */ > As I understand it, what then happens is that the workqueue code > > grabs another kworker thread and runs the next work item in it's > > queue. IOWs, work items can block, but doing that does not prevent > > execution of other work items queued on other work queues or even on > > the same work queue. Tejun, did I get that correct? > > Yes, as long as the workqueue is under its @max_active limit and has > access to an existing kworker or can create a new one, it'll start > executing the next work item immediately; however, the guaranteed > level of concurrency is 1 even for WQ_RECLAIM workqueues. IOW, the > work items queued on a workqueue must be able to make forward progress > with single work item if the work items are being depended upon for > memory reclaim. I mentioned this to Dave when I initially started this thread, but I'm running a RT patched kernel. I don't see forwards progress. The workqueue is only used in 1 spot (xfs_alloc_wq), and has WQ_MEM_RECLAIM set. I started with a 10,000,000 line trace and pulled out the entries which referenced the workqueue and pool leading up to the lockup. scp-4110 [001] ....1.3 101.184640: workqueue_queue_work: work struct=ffff8803c782d900 function=xfs_bmapi_allocate_worker workqueue=ffff88040c9f5a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 scp-4110 [001] ....1.3 101.184641: workqueue_activate_work: work struct ffff8803c782d900 kworker/1:1-89 [001] ....1.1 101.184883: workqueue_nr_running: pool=ffff88042dae3fc0 nr_running=1 kworker/1:1-89 [001] ....1.. 101.184885: workqueue_execute_start: work struct ffff8803c782d900: function xfs_bmapi_allocate_worker irq/44-ahci-275 [001] ....1.5 101.185086: workqueue_queue_work: work struct=ffff8800ae3f01e0 function=xfs_end_io workqueue=ffff88040b459a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 irq/44-ahci-275 [001] ....1.5 101.185088: workqueue_activate_work: work struct ffff8800ae3f01e0 scp-4110 [001] ....1.. 101.187911: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs_iomap_write_allocate scp-4110 [001] ....1.3 101.187914: workqueue_queue_work: work struct=ffff8803c782d900 function=xfs_bmapi_allocate_worker workqueue=ffff88040c9f5a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 scp-4110 [001] ....1.3 101.187915: workqueue_activate_work: work struct ffff8803c782d900 scp-4110 [001] ....1.4 101.187926: workqueue_queue_work: work struct=ffff88040a6a01c8 function=blk_delay_work workqueue=ffff88040c9f4a00 pool=ffff88042dae44c0 req_cpu=512 cpu=1 scp-4110 [001] ....1.4 101.187926: workqueue_activate_work: work struct ffff88040a6a01c8 kworker/1:1-89 [001] ....1.. 101.187998: workqueue_execute_end: work struct ffff8803c782d900 kworker/1:1-89 [001] ....1.. 101.188000: workqueue_execute_start: work struct ffff8800ae3f01e0: function xfs_end_io kworker/1:1-89 [001] ....1.. 101.188001: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs_setfilesize The last work never runs. Hangcheck triggers shortly after. I spent some more time debugging, and I am seeing that tsk_is_pi_blocked is returning 1 in sched_submit_work (kernel/sched/core.c). It looks like sched_submit_work is not detecting that the worker task is blocked on a mutex. This looks very RT related right now. I see 2 problems from my reading (and experimentation). The first is that the second worker isn't getting started because tsk_is_pi_blocked is reporting that the task isn't blocked on a mutex. The second is that even if another worker needs to be scheduled because the original worker is blocked on a mutex, we need the pool lock to schedule another worker. The pool lock can be acquired by any CPU, and is a spin_lock. If we end up on the slow path for the pool lock, we hit BUG_ON(rt_mutex_real_waiter(task->pi_blocked_on)) in task_blocks_on_rt_mutex in rtmutex.c. I'm not sure how to deal with either problem. Hopefully I've got all my facts right... Debugging kernel code is a whole new world from userspace code. Thanks! Austin --089e0115ebd02914c004fca05925 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
[Add= ing tglx to the cc]

On Mon, Jun 23, 2014 at 8:25 PM, Tejun Heo = <tj@kernel.org>= ; wrote:
Hello,

On Tue, Jun 24, 2014 at 01:02:40PM +1000, Dave Chinner wrote:
> start_flush_work() is effectively a special queue_work()
> implementation, so if if it's not safe to call complete() from the=
> workqueue as the above patch implies then this code has the same
> problem.
>
> Tejun - is this "do it yourself completion" a known issue w.= r.t.
> workqueues? I can't find any documentation that says "don'= ;t do
> that" so...?

It's more complex than using flush_work() but there's nothing=
fundamentally wrong with it. =C2=A0A work item is completely unlinked
before its execution starts. =C2=A0It's safe to free the work item once= its
work function started, whether through kfree() or returning.

One difference between flush_work() and manual completion would be
that if the work item gets requeued, flush_work() would wait for the
queued one to finish but given the work item is one-shot this doesn't make any difference.

I can see no reason why manual completion would behave differently
from flush_work() in this case.

I went = looking for a short trace in my original log to show the problem, and inste= ad found evidence of the second problem. =C2=A0I still like the shorter flu= sh_work call, but that's not my call.

I did find this comment in the=C2=A0process_one_work fu= nction. =C2=A0Sounds like this could be better documented.

=C2=A0 /*
=C2=A0 =C2=A0* It is permissible to= free the struct work_struct from
=C2=A0 =C2=A0* inside the funct= ion that is called from it, this we need to
=C2=A0 =C2=A0* take i= nto account for lockdep too. =C2=A0To avoid bogus "held
=C2=A0 =C2=A0* lock freed" warnings as well as problems when look= ing into
=C2=A0 =C2=A0* work->lockdep_map, make a copy and use= that here.
=C2=A0 =C2=A0*/

> As I understand it, what then happens is that the workqueue code
> grabs another kworker thread and runs the next work item in it's > queue. IOWs, work items can block, but doing that does not prevent
> execution of other work items queued on other work queues or even on > the same work queue. Tejun, did I get that correct?

Yes, as long as the workqueue is under its @max_active limit and has<= br> access to an existing kworker or can create a new one, it'll start
executing the next work item immediately; however, the guaranteed
level of concurrency is 1 even for WQ_RECLAIM workqueues. =C2=A0IOW, the work items queued on a workqueue must be able to make forward progress
with single work item if the work items are being depended upon for
memory reclaim.

I mentioned this to Dave wh= en I initially started this thread, but I'm running a RT patched kernel= . =C2=A0I don't see forwards progress. =C2=A0The workqueue is only used= in 1 spot (xfs_alloc_wq), and has WQ_MEM_RECLAIM set. =C2=A0I started with= a 10,000,000 line trace and pulled out the entries which referenced the wo= rkqueue and pool leading up to the lockup.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sc= p-4110 =C2=A0[001] ....1.3 =C2=A0 101.184640: workqueue_queue_work: work st= ruct=3Dffff8803c782d900 function=3Dxfs_bmapi_allocate_worker workqueue=3Dff= ff88040c9f5a00 pool=3Dffff88042dae3fc0 req_cpu=3D512 cpu=3D1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-4110 =C2=A0[001] .= ...1.3 =C2=A0 101.184641: workqueue_activate_work: work struct ffff8803c782= d900
=C2=A0 =C2=A0 =C2=A0kworker/1:1-89 =C2=A0 =C2=A0[001] ....1.= 1 =C2=A0 101.184883: workqueue_nr_running: pool=3Dffff88042dae3fc0 nr_runni= ng=3D1
=C2=A0 =C2=A0 =C2=A0kworker/1:1-89 =C2=A0 =C2=A0[001] ....1.. =C2=A0 1= 01.184885: workqueue_execute_start: work struct ffff8803c782d900: function = xfs_bmapi_allocate_worker
=C2=A0 =C2=A0 =C2=A0irq/44-ahci-275 =C2= =A0 [001] ....1.5 =C2=A0 101.185086: workqueue_queue_work: work struct=3Dff= ff8800ae3f01e0 function=3Dxfs_end_io workqueue=3Dffff88040b459a00 pool=3Dff= ff88042dae3fc0 req_cpu=3D512 cpu=3D1
=C2=A0 =C2=A0 =C2=A0irq/44-ahci-275 =C2=A0 [001] ....1.5 =C2=A0 101.18= 5088: workqueue_activate_work: work struct ffff8800ae3f01e0
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-4110 =C2=A0[001] ....1.. = =C2=A0 101.187911: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs= _iomap_write_allocate
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-4110 =C2=A0[001] .= ...1.3 =C2=A0 101.187914: workqueue_queue_work: work struct=3Dffff8803c782d= 900 function=3Dxfs_bmapi_allocate_worker workqueue=3Dffff88040c9f5a00 pool= =3Dffff88042dae3fc0 req_cpu=3D512 cpu=3D1
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-4110 =C2=A0[001] ....1.3 =C2=A0 101.187915: = workqueue_activate_work: work struct ffff8803c782d900
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0scp-4110 =C2=A0[001] .= ...1.4 =C2=A0 101.187926: workqueue_queue_work: work struct=3Dffff88040a6a0= 1c8 function=3Dblk_delay_work workqueue=3Dffff88040c9f4a00 pool=3Dffff88042= dae44c0 req_cpu=3D512 cpu=3D1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0scp-4110 =C2=A0[001] ....1.4 =C2=A0 101.187926: workqueue_acti= vate_work: work struct ffff88040a6a01c8
=C2=A0 =C2=A0 =C2=A0kworker/1:1-89 =C2=A0 =C2=A0[001] ....1.. =C2=A0 1= 01.187998: workqueue_execute_end: work struct ffff8803c782d900
= =C2=A0 =C2=A0 =C2=A0kworker/1:1-89 =C2=A0 =C2=A0[001] ....1.. =C2=A0 101.18= 8000: workqueue_execute_start: work struct ffff8800ae3f01e0: function xfs_e= nd_io
=C2=A0 =C2=A0 =C2=A0kworker/1:1-89 =C2=A0 =C2=A0[001] ....1.. =C2=A0 1= 01.188001: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs_setfile= size

The last work never runs. =C2=A0Hangche= ck triggers shortly after.

I spent some more time debugging, and I am seeing that= =C2=A0tsk_is_pi_blocked is returning 1 in=C2=A0sched_submit_work (kernel/sc= hed/core.c). =C2=A0It looks like=C2=A0sched_submit_work is not detecting th= at the worker task is blocked on a mutex.

This looks very RT related right now. =C2=A0I see 2 pro= blems from my reading (and experimentation). =C2=A0The first is that the se= cond worker isn't getting started because tsk_is_pi_blocked is reportin= g that the task isn't blocked on a mutex. =C2=A0The second is that even= if another worker needs to be scheduled because the original worker is blo= cked on a mutex, we need the pool lock to schedule another worker. =C2=A0Th= e pool lock can be acquired by any CPU, and is a spin_lock. =C2=A0If we end= up on the slow path for the pool lock, we hit=C2=A0BUG_ON(rt_mutex_real_wa= iter(task->pi_blocked_on)) in=C2=A0task_blocks_on_rt_mutex in rtmutex.c.= =C2=A0I'm not sure how to deal with either problem.

Hopefully I've got all my facts right... =C2=A0Debu= gging kernel code is a whole new world from userspace code.

Thanks!
Austin
--089e0115ebd02914c004fca05925-- From austin@peloton-tech.com Tue Jun 24 22:16:52 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 8056E7F3F for ; Tue, 24 Jun 2014 22:16:52 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id EE6ADAC002 for ; Tue, 24 Jun 2014 20:16:48 -0700 (PDT) X-ASG-Debug-ID: 1403666206-04cbb065388d8e0001-NocioJ Received: from mail-ie0-f179.google.com (mail-ie0-f179.google.com [209.85.223.179]) by cuda.sgi.com with ESMTP id BkQpG6DetgXhjFX3 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 24 Jun 2014 20:16:47 -0700 (PDT) X-Barracuda-Envelope-From: austin@peloton-tech.com X-Barracuda-Apparent-Source-IP: 209.85.223.179 Received: by mail-ie0-f179.google.com with SMTP id tr6so1091080ieb.24 for ; Tue, 24 Jun 2014 20:16:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=A36WyeUmLzDmQOoY/gRQCfWWkMJFGfWy4LWiGdAyYhs=; b=JVLSewYHxkP1gVRrWkB91vIAG+0krl0IE/VEDYq/21+jh/ZsdgrGbfOLFGDSSToKoL i9OsjZ6HetEmQzv2/lLkbWlglixmn8UCvTngfTiHyNY9zlB68KHeblbrZY7WD0OIHiRH mVbTJjXwji22i0/yy8gNAXNCJJx6SMib5IsFZQiyoclc0nFJMM4WhDA6r1i5O6zATbKl ugpiMDALZKt6dbthtkk1Y+4IfZBKm7p7cYSbRIbPQlX9pL96Z4CPNIJ4/aT+rvblMP1e 7UK+bP1UcPbj/eIpZ+kNAfqG+4Oka+3/FZBLPtP8fIwSctInWELywmoqkb+eZPyqBxl6 govA== X-Gm-Message-State: ALoCoQl0OhOF9GfXOVSkkMFNGP/rrsXaGDZDDFPOucodEfZZIjDEkklvYd4B7pP/5SmeD4mofyGD X-Received: by 10.50.142.99 with SMTP id rv3mr6440315igb.48.1403666206806; Tue, 24 Jun 2014 20:16:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.93.5 with HTTP; Tue, 24 Jun 2014 20:16:26 -0700 (PDT) In-Reply-To: <20140624032521.GA12164@htj.dyndns.org> References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> From: Austin Schuh Date: Tue, 24 Jun 2014 20:16:26 -0700 Message-ID: Subject: Re: On-stack work item completion race? (was Re: XFS crash?) To: Tejun Heo X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) Cc: Dave Chinner , xfs , linux-kernel@vger.kernel.org, Thomas Gleixner Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-ie0-f179.google.com[209.85.223.179] X-Barracuda-Start-Time: 1403666207 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6930 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [Adding tglx to the cc. Sorry for any double sends] On Mon, Jun 23, 2014 at 8:25 PM, Tejun Heo wrote: > Hello, > > On Tue, Jun 24, 2014 at 01:02:40PM +1000, Dave Chinner wrote: >> start_flush_work() is effectively a special queue_work() >> implementation, so if if it's not safe to call complete() from the >> workqueue as the above patch implies then this code has the same >> problem. >> >> Tejun - is this "do it yourself completion" a known issue w.r.t. >> workqueues? I can't find any documentation that says "don't do >> that" so...? > > It's more complex than using flush_work() but there's nothing > fundamentally wrong with it. A work item is completely unlinked > before its execution starts. It's safe to free the work item once its > work function started, whether through kfree() or returning. > > One difference between flush_work() and manual completion would be > that if the work item gets requeued, flush_work() would wait for the > queued one to finish but given the work item is one-shot this doesn't > make any difference. > > I can see no reason why manual completion would behave differently > from flush_work() in this case. I went looking for a short trace in my original log to show the problem, and instead found evidence of the second problem. I still like the shorter flush_work call, but that's not my call. I did find this comment in the process_one_work function. Sounds like this could be better documented. /* * It is permissible to free the struct work_struct from * inside the function that is called from it, this we need to * take into account for lockdep too. To avoid bogus "held * lock freed" warnings as well as problems when looking into * work->lockdep_map, make a copy and use that here. */ >> As I understand it, what then happens is that the workqueue code >> grabs another kworker thread and runs the next work item in it's >> queue. IOWs, work items can block, but doing that does not prevent >> execution of other work items queued on other work queues or even on >> the same work queue. Tejun, did I get that correct? > > Yes, as long as the workqueue is under its @max_active limit and has > access to an existing kworker or can create a new one, it'll start > executing the next work item immediately; however, the guaranteed > level of concurrency is 1 even for WQ_RECLAIM workqueues. IOW, the > work items queued on a workqueue must be able to make forward progress > with single work item if the work items are being depended upon for > memory reclaim. I mentioned this to Dave when I initially started this thread, but I'm running a RT patched kernel. I don't see forwards progress. The workqueue is only used in 1 spot (xfs_alloc_wq), and has WQ_MEM_RECLAIM set. I started with a 10,000,000 line trace and pulled out the entries which referenced the workqueue and pool leading up to the lockup. scp-4110 [001] ....1.3 101.184640: workqueue_queue_work: work struct=ffff8803c782d900 function=xfs_bmapi_allocate_worker workqueue=ffff88040c9f5a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 scp-4110 [001] ....1.3 101.184641: workqueue_activate_work: work struct ffff8803c782d900 kworker/1:1-89 [001] ....1.1 101.184883: workqueue_nr_running: pool=ffff88042dae3fc0 nr_running=1 kworker/1:1-89 [001] ....1.. 101.184885: workqueue_execute_start: work struct ffff8803c782d900: function xfs_bmapi_allocate_worker irq/44-ahci-275 [001] ....1.5 101.185086: workqueue_queue_work: work struct=ffff8800ae3f01e0 function=xfs_end_io workqueue=ffff88040b459a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 irq/44-ahci-275 [001] ....1.5 101.185088: workqueue_activate_work: work struct ffff8800ae3f01e0 scp-4110 [001] ....1.. 101.187911: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs_iomap_write_allocate scp-4110 [001] ....1.3 101.187914: workqueue_queue_work: work struct=ffff8803c782d900 function=xfs_bmapi_allocate_worker workqueue=ffff88040c9f5a00 pool=ffff88042dae3fc0 req_cpu=512 cpu=1 scp-4110 [001] ....1.3 101.187915: workqueue_activate_work: work struct ffff8803c782d900 scp-4110 [001] ....1.4 101.187926: workqueue_queue_work: work struct=ffff88040a6a01c8 function=blk_delay_work workqueue=ffff88040c9f4a00 pool=ffff88042dae44c0 req_cpu=512 cpu=1 scp-4110 [001] ....1.4 101.187926: workqueue_activate_work: work struct ffff88040a6a01c8 kworker/1:1-89 [001] ....1.. 101.187998: workqueue_execute_end: work struct ffff8803c782d900 kworker/1:1-89 [001] ....1.. 101.188000: workqueue_execute_start: work struct ffff8800ae3f01e0: function xfs_end_io kworker/1:1-89 [001] ....1.. 101.188001: xfs_ilock: dev 8:5 ino 0xf9e flags ILOCK_EXCL caller xfs_setfilesize The last work never runs. Hangcheck triggers shortly after. I spent some more time debugging, and I am seeing that tsk_is_pi_blocked is returning 1 in sched_submit_work (kernel/sched/core.c). It looks like sched_submit_work is not detecting that the worker task is blocked on a mutex. This looks very RT related right now. I see 2 problems from my reading (and experimentation). The first is that the second worker isn't getting started because tsk_is_pi_blocked is reporting that the task isn't blocked on a mutex. The second is that even if another worker needs to be scheduled because the original worker is blocked on a mutex, we need the pool lock to schedule another worker. The pool lock can be acquired by any CPU, and is a spin_lock. If we end up on the slow path for the pool lock, we hit BUG_ON(rt_mutex_real_waiter(task->pi_blocked_on)) in task_blocks_on_rt_mutex in rtmutex.c. I'm not sure how to deal with either problem. Thomas, any ideas? Hopefully I've got all my facts right... Debugging kernel code is a whole new world from userspace code. Thanks! Austin From bounce@client5.aanyainfotech.com Wed Jun 25 00:36:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.1 required=5.0 tests=DATE_IN_PAST_06_12, HTML_MESSAGE,MPART_ALT_DIFF,NORMAL_HTTP_TO_IP autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 06CA67F3F for ; Wed, 25 Jun 2014 00:36:02 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D55678F804C for ; Tue, 24 Jun 2014 22:36:01 -0700 (PDT) X-ASG-Debug-ID: 1403674552-04cbb0653597aa0001-NocioJ Received: from server5.aanyainfotech.com (server5.aanyainfotech.com [65.181.118.124]) by cuda.sgi.com with ESMTP id TvURvKyriKNQoOwg (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 24 Jun 2014 22:35:53 -0700 (PDT) X-Barracuda-Envelope-From: bounce@client5.aanyainfotech.com X-Barracuda-Apparent-Source-IP: 65.181.118.124 Received: from client5a by server5.aanyainfotech.com with local (Exim 4.82) (envelope-from ) id 1Wzfs8-0001DK-6T for xfs@oss.sgi.com; Wed, 25 Jun 2014 01:35:52 -0400 To: xfs@oss.sgi.com Subject: Apni Holiday banayieen Yaadgaar hamare sath!!!! Message-ID: <95a764505232cf26b508abe4f055d24f@65.181.118.124> X-ASG-Orig-Subj: Apni Holiday banayieen Yaadgaar hamare sath!!!! Date: Tue, 24 Jun 2014 19:24:25 +0000 From: "Mohini Sharma" Reply-To: noreply@client5.aanyainfotech.com MIME-Version: 1.0 X-Mailer-LID: 9,5,8,2 List-Unsubscribe: X-Mailer-SID: 16 X-Mailer-Sent-By: 1 Content-Type: multipart/alternative; charset="UTF-8"; boundary="b1_44117ff7e1af6348c89dda78b4a9fd16" Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server5.aanyainfotech.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [501 501] / [47 12] X-AntiAbuse: Sender Address Domain - client5.aanyainfotech.com X-Get-Message-Sender-Via: server5.aanyainfotech.com: authenticated_id: client5a/from_h X-Source: /usr/bin/php X-Source-Args: /usr/bin/php -f /home/client5a/public_html/admin/cron/cron.php X-Source-Dir: client5.aanyainfotech.com:/public_html/admin/cron X-Barracuda-Connect: server5.aanyainfotech.com[65.181.118.124] X-Barracuda-Start-Time: 1403674553 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.72 X-Barracuda-Spam-Status: No, SCORE=1.72 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DATE_IN_PAST_06_12, DATE_IN_PAST_06_12_2, HTML_MESSAGE, MPART_ALT_DIFF, NORMAL_HTTP_TO_IP, PLING_PLING X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6932 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.01 DATE_IN_PAST_06_12 Date: is 6 to 12 hours before Received: date 0.00 NORMAL_HTTP_TO_IP URI: Uses a dotted-decimal IP address in URL 0.00 HTML_MESSAGE BODY: HTML included in message 0.14 MPART_ALT_DIFF BODY: HTML and text parts are different 0.46 PLING_PLING Subject has lots of exclamation marks 1.10 DATE_IN_PAST_06_12_2 DATE_IN_PAST_06_12_2 --b1_44117ff7e1af6348c89dda78b4a9fd16 Content-Type: text/plain; format=flowed; charset="UTF-8" Content-Transfer-Encoding: 8bit Your email client cannot read this email. To view it online, please go here: http://65.181.118.124/~client5a/display.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&S=16&L=9&N=2 To stop receiving these emails:http://65.181.118.124/~client5a/unsubscribe.php?M=1172971&C=99812448861710c68fe65a48f37ca99b&L=9&N=16 --b1_44117ff7e1af6348c89dda78b4a9fd16 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: 8bit
Helping travelers connect specialists...
Summer Holidays destinations
Apni holiday banaaye yaadgaar, chahe kisi ki ho sarkar!
Plan and get multiple quotes for your trip
 

Kashmir
Summer is the best time to visit Kashmir, when the sky glows in shades of orange and blue. You may stay in a houseboat, or simply take time to become one with the natural beauty.

 

Kashmir

 

Darjeeling/Sikkim

Darjeeling & Sikkim
These are very popular hilly destinations for intrepid travelers, nature lovers and honeymooners in summer. So, if you are one of them, don't wait..

 

 

Shimla/Manali
Shimla/Manali offers a wide variety of options from sightseeing to adventure activities. From temples to towns steeped in folklore, from tribal villages to beautiful lakes, Himachal has it all.

 

Shimla/Manali

 

Ladakh

Ladakh
Ladakh, the coldest desert in the world. As the highest inhabited land in the world, it is both fascinating and enchanting for travellers across the Globe. Ladakh means "land of high passes".

 

 

Jim Corbett
Jim Corbett is very famous among travelers, nature lovers and honeymooners for its virgin white sand beaches, crystal clear blue lagoon and various adventurous activities.

 

Jim Corbett

 

Kailash Mansarovar

Kailash Mansarovar
Mount Kailash is considered a sacred place in four religions: Bön, Buddhism, Hinduism and Jainism. Our agents can make your difficult journey easy

 

 
Hellotravel.com | E-14B Sector-8 Noida-201301

Unsubscribe me from this list
--b1_44117ff7e1af6348c89dda78b4a9fd16-- From david@fromorbit.com Wed Jun 25 00:56:51 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 0FF307F3F for ; Wed, 25 Jun 2014 00:56:51 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id E9BA1304051 for ; Tue, 24 Jun 2014 22:56:47 -0700 (PDT) X-ASG-Debug-ID: 1403675805-04cb6c76cf26e810001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id AT8qAtPCAMFCvzMj for ; Tue, 24 Jun 2014 22:56:46 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhBFAMVjqlN5LEioPGdsb2JhbABagw2IUKMmBpk6AYEQFwQBAQEBODWEAwEBBAE6HCMFCwgDDgoJJQ8FJQMHGhOIOgfIVRcWhU2IQlcHhEMFmlCXQCuBMg Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail06.adl2.internode.on.net with ESMTP; 25 Jun 2014 15:26:43 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzgCH-00042R-38; Wed, 25 Jun 2014 15:56:41 +1000 Date: Wed, 25 Jun 2014 15:56:41 +1000 From: Dave Chinner To: Tejun Heo Cc: Austin Schuh , xfs , linux-kernel@vger.kernel.org Subject: Re: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140625055641.GL9508@dastard> X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140624032521.GA12164@htj.dyndns.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403675805 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6933 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 23, 2014 at 11:25:21PM -0400, Tejun Heo wrote: > Hello, > > On Tue, Jun 24, 2014 at 01:02:40PM +1000, Dave Chinner wrote: > > As I understand it, what then happens is that the workqueue code > > grabs another kworker thread and runs the next work item in it's > > queue. IOWs, work items can block, but doing that does not prevent > > execution of other work items queued on other work queues or even on > > the same work queue. Tejun, did I get that correct? > > Yes, as long as the workqueue is under its @max_active limit and has > access to an existing kworker or can create a new one, it'll start > executing the next work item immediately; however, the guaranteed > level of concurrency is 1 even for WQ_RECLAIM workqueues. IOW, the > work items queued on a workqueue must be able to make forward progress > with single work item if the work items are being depended upon for > memory reclaim. Hmmm - that's different from my understanding of what the original behaviour WQ_MEM_RECLAIM gave us. i.e. that WQ_MEM_RECLAIM workqueues had a rescuer thread created to guarantee that the *workqueue* could make forward progress executing work in a reclaim context. The concept that the *work being executed* needs to guarantee forwards progress is something I've never heard stated before. That worries me a lot, especially with all the memory reclaim problems that have surfaced in the past couple of months.... > As long as a WQ_RECLAIM workqueue dosen't depend upon itself, > forward-progress is guaranteed. I can't find any documentation that actually defines what WQ_MEM_RECLAIM means, so I can't tell when or how this requirement came about. If it's true, then I suspect most of the WQ_MEM_RECLAIM workqueues in filesystems violate it. Can you point me at documentation/commits/code describing the constraints of WQ_MEM_RECLAIM and the reasons for it? Cheers, Dave. -- Dave Chinner david@fromorbit.com From dgc@oss.sgi.com Wed Jun 25 01:03:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id 87CBA7F47; Wed, 25 Jun 2014 01:03:05 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, xfs-libxfs-restructure, updated. xfs-for-linus-3.16-rc1-13107-g2451337 X-Git-Refname: refs/heads/xfs-libxfs-restructure X-Git-Reftype: branch X-Git-Oldrev: c59a5aca071806ce2ed7279bbaf78336da49ce85 X-Git-Newrev: 2451337dd043901b5270b7586942abe564443e3d Message-Id: <20140625060305.87CBA7F47@oss.sgi.com> Date: Wed, 25 Jun 2014 01:03:04 -0500 (CDT) 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, xfs-libxfs-restructure has been updated discards c59a5aca071806ce2ed7279bbaf78336da49ce85 (commit) discards 63d512e1df8acffc3aa0068c6efab100c623968f (commit) discards 547a71f18113e33ff2420ad8b1712c6ab497a1dc (commit) discards 62c94547670f715923950a326daf8b129ca05ee5 (commit) 2451337 xfs: global error sign conversion 30f712c libxfs: move source files 84be0ff libxfs: move header files 69116a1 xfs: create libxfs infrastructure from c59a5aca071806ce2ed7279bbaf78336da49ce85 (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 2451337dd043901b5270b7586942abe564443e3d Author: Dave Chinner Date: Wed Jun 25 14:58:08 2014 +1000 xfs: global error sign conversion Convert all the errors the core XFs code to negative error signs like the rest of the kernel and remove all the sign conversion we do in the interface layers. Errors for conversion (and comparison) found via searches like: $ git grep " E" fs/xfs $ git grep "return E" fs/xfs $ git grep " E[A-Z].*;$" fs/xfs Negation points found via searches like: $ git grep "= -[a-z,A-Z]" fs/xfs $ git grep "return -[a-z,A-D,F-Z]" fs/xfs $ git grep " -[a-z].*;" fs/xfs [ with some bits I missed from Brian Foster ] Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 30f712c9dd69348aa51351d5cb6d366bf4fae31d Author: Dave Chinner Date: Wed Jun 25 14:57:53 2014 +1000 libxfs: move source files Move all the source files that are shared with userspace into libxfs/. This is done as one big chunk simpy to get it done quickly Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 84be0ffc9043f7c56044294eb775a2200452c76d Author: Dave Chinner Date: Wed Jun 25 14:57:36 2014 +1000 libxfs: move header files Move all the header files that are shared with userspace into libxfs. This is done as one big chunk simpy to get it done quickly. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 69116a1317ce3d2292e062bfb1a22757b95dcd06 Author: Dave Chinner Date: Wed Jun 25 14:57:22 2014 +1000 xfs: create libxfs infrastructure To minimise the differences between kernel and userspace code, split the kernel code into the same structure as the userspace code. That is, the gneric core functionality of XFS is moved to a libxfs/ directory and treat it as a layering barrier in the XFS code. This patch introduces the libxfs directory, the build infrastructure and an initial source and header file to build. The libxfs directory will contain the header files that are needed to build libxfs - most of userspace does not care about the location of these header files as they are accessed indirectly. Hence keeping them inside libxfs makes it easy to track the changes and script the sync process as the directory structure will be identical. To allow this changeover to occur in the kernel code, there are some temporary infrastructure in the makefiles to grab the header filesystem from both locations. Once all the files are moved, modifications will be made in the source code that will make the need for these include directives go away. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: hooks/post-receive -- XFS development tree From dgc@oss.sgi.com Wed Jun 25 01:03:26 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=NO_RELAYS autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: by oss.sgi.com (Postfix, from userid 10266) id EE3C47F51; Wed, 25 Jun 2014 01:03:26 -0500 (CDT) From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. xfs-for-linus-3.16-rc1-13107-g2451337 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee X-Git-Newrev: 2451337dd043901b5270b7586942abe564443e3d Message-Id: <20140625060326.EE3C47F51@oss.sgi.com> Date: Wed, 25 Jun 2014 01:03:25 -0500 (CDT) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated 2451337 xfs: global error sign conversion 30f712c libxfs: move source files 84be0ff libxfs: move header files 69116a1 xfs: create libxfs infrastructure b474c7a xfs: Nuke XFS_ERROR macro d99831f xfs: return is not a function from a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee (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 2451337dd043901b5270b7586942abe564443e3d Author: Dave Chinner Date: Wed Jun 25 14:58:08 2014 +1000 xfs: global error sign conversion Convert all the errors the core XFs code to negative error signs like the rest of the kernel and remove all the sign conversion we do in the interface layers. Errors for conversion (and comparison) found via searches like: $ git grep " E" fs/xfs $ git grep "return E" fs/xfs $ git grep " E[A-Z].*;$" fs/xfs Negation points found via searches like: $ git grep "= -[a-z,A-Z]" fs/xfs $ git grep "return -[a-z,A-D,F-Z]" fs/xfs $ git grep " -[a-z].*;" fs/xfs [ with some bits I missed from Brian Foster ] Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 30f712c9dd69348aa51351d5cb6d366bf4fae31d Author: Dave Chinner Date: Wed Jun 25 14:57:53 2014 +1000 libxfs: move source files Move all the source files that are shared with userspace into libxfs/. This is done as one big chunk simpy to get it done quickly Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 84be0ffc9043f7c56044294eb775a2200452c76d Author: Dave Chinner Date: Wed Jun 25 14:57:36 2014 +1000 libxfs: move header files Move all the header files that are shared with userspace into libxfs. This is done as one big chunk simpy to get it done quickly. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit 69116a1317ce3d2292e062bfb1a22757b95dcd06 Author: Dave Chinner Date: Wed Jun 25 14:57:22 2014 +1000 xfs: create libxfs infrastructure To minimise the differences between kernel and userspace code, split the kernel code into the same structure as the userspace code. That is, the gneric core functionality of XFS is moved to a libxfs/ directory and treat it as a layering barrier in the XFS code. This patch introduces the libxfs directory, the build infrastructure and an initial source and header file to build. The libxfs directory will contain the header files that are needed to build libxfs - most of userspace does not care about the location of these header files as they are accessed indirectly. Hence keeping them inside libxfs makes it easy to track the changes and script the sync process as the directory structure will be identical. To allow this changeover to occur in the kernel code, there are some temporary infrastructure in the makefiles to grab the header filesystem from both locations. Once all the files are moved, modifications will be made in the source code that will make the need for these include directives go away. Signed-off-by: Dave Chinner Reviewed-by: Brian Foster Signed-off-by: Dave Chinner commit b474c7ae4395ba684e85fde8f55c8cf44a39afaf Author: Eric Sandeen Date: Sun Jun 22 15:04:54 2014 +1000 xfs: Nuke XFS_ERROR macro XFS_ERROR was designed long ago to trap return values, but it's not runtime configurable, it's not consistently used, and we can do similar error trapping with ftrace scripts and triggers from userspace. Just nuke XFS_ERROR and associated bits. Signed-off-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner commit d99831ff393ff2e28d6110b41f24d9fecf986222 Author: Eric Sandeen Date: Sun Jun 22 15:03:54 2014 +1000 xfs: return is not a function return is not a function. "return(EIO);" is silly; "return (EIO);" moreso. return is not a function. Nuke the pointless parens. [dchinner: catch a couple of extra cases in xfs_attr_list.c, xfs_acl.c and xfs_linux.h.] Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner ----------------------------------------------------------------------- Summary of changes: fs/xfs/Makefile | 70 +++++---- fs/xfs/{ => libxfs}/xfs_ag.h | 0 fs/xfs/{ => libxfs}/xfs_alloc.c | 20 +-- fs/xfs/{ => libxfs}/xfs_alloc.h | 0 fs/xfs/{ => libxfs}/xfs_alloc_btree.c | 6 +- fs/xfs/{ => libxfs}/xfs_alloc_btree.h | 0 fs/xfs/{ => libxfs}/xfs_attr.c | 92 +++++------ fs/xfs/{ => libxfs}/xfs_attr_leaf.c | 78 +++++----- fs/xfs/{ => libxfs}/xfs_attr_leaf.h | 0 fs/xfs/{ => libxfs}/xfs_attr_remote.c | 22 +-- fs/xfs/{ => libxfs}/xfs_attr_remote.h | 0 fs/xfs/{ => libxfs}/xfs_attr_sf.h | 0 fs/xfs/{ => libxfs}/xfs_bit.h | 0 fs/xfs/{ => libxfs}/xfs_bmap.c | 52 +++---- fs/xfs/{ => libxfs}/xfs_bmap.h | 0 fs/xfs/{ => libxfs}/xfs_bmap_btree.c | 10 +- fs/xfs/{ => libxfs}/xfs_bmap_btree.h | 0 fs/xfs/{ => libxfs}/xfs_btree.c | 14 +- fs/xfs/{ => libxfs}/xfs_btree.h | 0 fs/xfs/{ => libxfs}/xfs_cksum.h | 0 fs/xfs/{ => libxfs}/xfs_da_btree.c | 110 ++++++------- fs/xfs/{ => libxfs}/xfs_da_btree.h | 0 fs/xfs/{ => libxfs}/xfs_da_format.c | 0 fs/xfs/{ => libxfs}/xfs_da_format.h | 0 fs/xfs/{ => libxfs}/xfs_dinode.h | 0 fs/xfs/{ => libxfs}/xfs_dir2.c | 24 +-- fs/xfs/{ => libxfs}/xfs_dir2.h | 0 fs/xfs/{ => libxfs}/xfs_dir2_block.c | 18 +-- fs/xfs/{ => libxfs}/xfs_dir2_data.c | 10 +- fs/xfs/{ => libxfs}/xfs_dir2_leaf.c | 24 +-- fs/xfs/{ => libxfs}/xfs_dir2_node.c | 40 ++--- fs/xfs/{ => libxfs}/xfs_dir2_priv.h | 0 fs/xfs/{ => libxfs}/xfs_dir2_sf.c | 30 ++-- fs/xfs/{ => libxfs}/xfs_dquot_buf.c | 6 +- fs/xfs/{ => libxfs}/xfs_format.h | 0 fs/xfs/{ => libxfs}/xfs_ialloc.c | 34 ++-- fs/xfs/{ => libxfs}/xfs_ialloc.h | 0 fs/xfs/{ => libxfs}/xfs_ialloc_btree.c | 6 +- fs/xfs/{ => libxfs}/xfs_ialloc_btree.h | 0 fs/xfs/{ => libxfs}/xfs_inode_buf.c | 10 +- fs/xfs/{ => libxfs}/xfs_inode_buf.h | 0 fs/xfs/{ => libxfs}/xfs_inode_fork.c | 32 ++-- fs/xfs/{ => libxfs}/xfs_inode_fork.h | 0 fs/xfs/{ => libxfs}/xfs_inum.h | 0 fs/xfs/{ => libxfs}/xfs_log_format.h | 0 fs/xfs/{ => libxfs}/xfs_log_recover.h | 0 fs/xfs/{ => libxfs}/xfs_log_rlimit.c | 0 fs/xfs/{ => libxfs}/xfs_quota_defs.h | 0 fs/xfs/{ => libxfs}/xfs_rtbitmap.c | 0 fs/xfs/{ => libxfs}/xfs_sb.c | 32 ++-- fs/xfs/{ => libxfs}/xfs_sb.h | 0 fs/xfs/{ => libxfs}/xfs_shared.h | 0 fs/xfs/{ => libxfs}/xfs_symlink_remote.c | 6 +- fs/xfs/{ => libxfs}/xfs_trans_resv.c | 0 fs/xfs/{ => libxfs}/xfs_trans_resv.h | 0 fs/xfs/{ => libxfs}/xfs_trans_space.h | 0 fs/xfs/xfs_acl.c | 8 +- fs/xfs/xfs_aops.c | 18 +-- fs/xfs/xfs_attr_inactive.c | 22 +-- fs/xfs/xfs_attr_list.c | 38 ++--- fs/xfs/xfs_bmap_util.c | 78 +++++----- fs/xfs/xfs_buf.c | 26 ++-- fs/xfs/xfs_buf.h | 2 +- fs/xfs/xfs_buf_item.c | 4 +- fs/xfs/xfs_dir2_readdir.c | 4 +- fs/xfs/xfs_discard.c | 18 +-- fs/xfs/xfs_dquot.c | 38 ++--- fs/xfs/xfs_error.c | 25 +-- fs/xfs/xfs_error.h | 13 +- fs/xfs/xfs_export.c | 10 +- fs/xfs/xfs_extfree_item.c | 2 +- fs/xfs/xfs_file.c | 42 ++--- fs/xfs/xfs_filestream.c | 4 +- fs/xfs/xfs_fsops.c | 42 ++--- fs/xfs/xfs_icache.c | 52 +++---- fs/xfs/xfs_icache.h | 10 +- fs/xfs/xfs_inode.c | 66 ++++---- fs/xfs/xfs_inode_item.c | 2 +- fs/xfs/xfs_ioctl.c | 256 +++++++++++++++---------------- fs/xfs/xfs_ioctl32.c | 106 ++++++------- fs/xfs/xfs_iomap.c | 34 ++-- fs/xfs/xfs_iops.c | 68 ++++---- fs/xfs/xfs_itable.c | 24 +-- fs/xfs/xfs_linux.h | 2 +- fs/xfs/xfs_log.c | 52 +++---- fs/xfs/xfs_log_cil.c | 6 +- fs/xfs/xfs_log_recover.c | 191 +++++++++++------------ fs/xfs/xfs_mount.c | 70 ++++----- fs/xfs/xfs_mru_cache.c | 14 +- fs/xfs/xfs_qm.c | 32 ++-- fs/xfs/xfs_qm_bhv.c | 2 +- fs/xfs/xfs_qm_syscalls.c | 46 +++--- fs/xfs/xfs_quotaops.c | 18 +-- fs/xfs/xfs_rtalloc.c | 20 +-- fs/xfs/xfs_rtalloc.h | 2 +- fs/xfs/xfs_super.c | 88 +++++------ fs/xfs/xfs_symlink.c | 30 ++-- fs/xfs/xfs_trans.c | 10 +- fs/xfs/xfs_trans_ail.c | 4 +- fs/xfs/xfs_trans_buf.c | 37 +++-- fs/xfs/xfs_trans_dquot.c | 4 +- fs/xfs/xfs_xattr.c | 6 +- 102 files changed, 1180 insertions(+), 1212 deletions(-) rename fs/xfs/{ => libxfs}/xfs_ag.h (100%) rename fs/xfs/{ => libxfs}/xfs_alloc.c (99%) rename fs/xfs/{ => libxfs}/xfs_alloc.h (100%) rename fs/xfs/{ => libxfs}/xfs_alloc_btree.c (99%) rename fs/xfs/{ => libxfs}/xfs_alloc_btree.h (100%) rename fs/xfs/{ => libxfs}/xfs_attr.c (97%) rename fs/xfs/{ => libxfs}/xfs_attr_leaf.c (98%) rename fs/xfs/{ => libxfs}/xfs_attr_leaf.h (100%) rename fs/xfs/{ => libxfs}/xfs_attr_remote.c (98%) rename fs/xfs/{ => libxfs}/xfs_attr_remote.h (100%) rename fs/xfs/{ => libxfs}/xfs_attr_sf.h (100%) rename fs/xfs/{ => libxfs}/xfs_bit.h (100%) rename fs/xfs/{ => libxfs}/xfs_bmap.c (99%) rename fs/xfs/{ => libxfs}/xfs_bmap.h (100%) rename fs/xfs/{ => libxfs}/xfs_bmap_btree.c (99%) rename fs/xfs/{ => libxfs}/xfs_bmap_btree.h (100%) rename fs/xfs/{ => libxfs}/xfs_btree.c (99%) rename fs/xfs/{ => libxfs}/xfs_btree.h (100%) rename fs/xfs/{ => libxfs}/xfs_cksum.h (100%) rename fs/xfs/{ => libxfs}/xfs_da_btree.c (97%) rename fs/xfs/{ => libxfs}/xfs_da_btree.h (100%) rename fs/xfs/{ => libxfs}/xfs_da_format.c (100%) rename fs/xfs/{ => libxfs}/xfs_da_format.h (100%) rename fs/xfs/{ => libxfs}/xfs_dinode.h (100%) rename fs/xfs/{ => libxfs}/xfs_dir2.c (98%) rename fs/xfs/{ => libxfs}/xfs_dir2.h (100%) rename fs/xfs/{ => libxfs}/xfs_dir2_block.c (99%) rename fs/xfs/{ => libxfs}/xfs_dir2_data.c (99%) rename fs/xfs/{ => libxfs}/xfs_dir2_leaf.c (99%) rename fs/xfs/{ => libxfs}/xfs_dir2_node.c (98%) rename fs/xfs/{ => libxfs}/xfs_dir2_priv.h (100%) rename fs/xfs/{ => libxfs}/xfs_dir2_sf.c (98%) rename fs/xfs/{ => libxfs}/xfs_dquot_buf.c (98%) rename fs/xfs/{ => libxfs}/xfs_format.h (100%) rename fs/xfs/{ => libxfs}/xfs_ialloc.c (99%) rename fs/xfs/{ => libxfs}/xfs_ialloc.h (100%) rename fs/xfs/{ => libxfs}/xfs_ialloc_btree.c (98%) rename fs/xfs/{ => libxfs}/xfs_ialloc_btree.h (100%) rename fs/xfs/{ => libxfs}/xfs_inode_buf.c (98%) rename fs/xfs/{ => libxfs}/xfs_inode_buf.h (100%) rename fs/xfs/{ => libxfs}/xfs_inode_fork.c (99%) rename fs/xfs/{ => libxfs}/xfs_inode_fork.h (100%) rename fs/xfs/{ => libxfs}/xfs_inum.h (100%) rename fs/xfs/{ => libxfs}/xfs_log_format.h (100%) rename fs/xfs/{ => libxfs}/xfs_log_recover.h (100%) rename fs/xfs/{ => libxfs}/xfs_log_rlimit.c (100%) rename fs/xfs/{ => libxfs}/xfs_quota_defs.h (100%) rename fs/xfs/{ => libxfs}/xfs_rtbitmap.c (100%) rename fs/xfs/{ => libxfs}/xfs_sb.c (97%) rename fs/xfs/{ => libxfs}/xfs_sb.h (100%) rename fs/xfs/{ => libxfs}/xfs_shared.h (100%) rename fs/xfs/{ => libxfs}/xfs_symlink_remote.c (97%) rename fs/xfs/{ => libxfs}/xfs_trans_resv.c (100%) rename fs/xfs/{ => libxfs}/xfs_trans_resv.h (100%) rename fs/xfs/{ => libxfs}/xfs_trans_space.h (100%) hooks/post-receive -- XFS development tree From sss.mmm.1967@list.ru Wed Jun 25 02:52:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=HTML_MESSAGE,SUBJ_ALL_CAPS, T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 35E827F3F for ; Wed, 25 Jun 2014 02:52:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 3F38AAC004 for ; Wed, 25 Jun 2014 00:51:58 -0700 (PDT) X-ASG-Debug-ID: 1403682713-04cb6c76cf276610001-NocioJ Received: from f225.i.mail.ru (f225.i.mail.ru [94.100.185.77]) by cuda.sgi.com with ESMTP id HWIT3yXdU7ZUcZAm (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 25 Jun 2014 00:51:54 -0700 (PDT) X-Barracuda-Envelope-From: sss.mmm.1967@list.ru X-Barracuda-Apparent-Source-IP: 94.100.185.77 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail; h=Content-Type:Message-ID:Reply-To:Date:Mime-Version:Subject:To:From; bh=M8CVTIgIa2VRCSYt9g2obW2Q79lSzjEQ248uBCOEmYs=; b=l87Kp4bCWcHi5inGIy+bY7s5oHCXsY4zmFUiAIdl2Zjl/FdrJsAleKTra+Pj5V0SkR+cMBbLLWX2KEEGkV3Z1LM30SC4VegDe8gA8IoaBn17MVjNMEedje0uelYhGaGm5UNObFrrqUGiHcq1QVSonXtVuPPn3Ye+qL0HekXPaB0=; Received: from mail by f225.i.mail.ru with local (envelope-from ) id 1Wzhzi-0000I2-Uf; Wed, 25 Jun 2014 11:51:52 +0400 Received: from [105.229.162.114] by e.mail.ru with HTTP; Wed, 25 Jun 2014 11:51:50 +0400 From: =?UTF-8?B?U1NTIE1NTQ==?= To: stevemadiba04@hotmail.co.uk Subject: =?UTF-8?B?SSBORUVEIFlPVVIgQVNTSVNUQU5DRQ==?= Mime-Version: 1.0 X-ASG-Orig-Subj: =?UTF-8?B?SSBORUVEIFlPVVIgQVNTSVNUQU5DRQ==?= X-Mailer: Mail.Ru Mailer 1.0 X-Originating-IP: [105.229.162.114] Date: Wed, 25 Jun 2014 11:51:50 +0400 Reply-To: =?UTF-8?B?U1NTIE1NTQ==?= X-Priority: 3 (Normal) Message-ID: <1403682710.258670482@f225.i.mail.ru> Content-Type: multipart/mixed; boundary="----uqZ1AHXg-H9OgITQL7UT20eRT:1403682710" X-Mras: Ok X-Spam: undefined X-Barracuda-Connect: f225.i.mail.ru[94.100.185.77] X-Barracuda-Start-Time: 1403682714 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.70 X-Barracuda-Spam-Status: No, SCORE=2.70 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, FROM_EXCESS_BASE64, FROM_EXCESS_BASE64_2, HTML_MESSAGE, SUBJ_ALL_CAPS, SUBJ_ALL_CAPS_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6935 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message 0.01 FROM_EXCESS_BASE64 From: base64 encoded unnecessarily 0.01 SUBJ_ALL_CAPS Subject is all capitals 1.05 FROM_EXCESS_BASE64_2 From: base64 encoded unnecessarily 1.62 SUBJ_ALL_CAPS_2 SUBJ_ALL_CAPS_2 ------uqZ1AHXg-H9OgITQL7UT20eRT:1403682710 Content-Type: multipart/alternative; boundary="--ALT--uqZ1AHXg1403682710" ----ALT--uqZ1AHXg1403682710 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 CgoKLS0gClNTUyBNTU0= ----ALT--uqZ1AHXg1403682710 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 CjxIVE1MPjxCT0RZPjxicj48YnI+PGJyPi0tIDxicj5TU1MgTU1NPC9CT0RZPjwvSFRNTD4K ----ALT--uqZ1AHXg1403682710-- ------uqZ1AHXg-H9OgITQL7UT20eRT:1403682710 Content-Type: image/jpeg; name="=?UTF-8?B?U1RFVkUuSlBH?=" Content-Disposition: attachment Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/4QAWRXhpZgAASUkqAAgAAAAAAAAAAAD/2wBDAAEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/ 2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQH/wAARCAJlAkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4 eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi 4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl 8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImK kpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP0 9fb3+Pn6/9oADAMBAAIRAxEAPwD+2DRP2k/hLr3xH1H4WaB4g1TV/FOkT3um3mop4Q8ZSeBpvEGi vrMeu+D9K+KZ8OJ8MNe+IXhc6Frsni74c+HPGFx4w8IwWsz6l4VtIQZT1Xwb+MPw8+PPw18E/Gv4 V+J5PFvw2+JXhjTPF/gjXn0jV9AfWPDOt2outI1R9E8SaL4e8SaOLuBlljg12ztp0jZvMhiYkx/n fp3w3+xftJeLvhN8NPh/431T4BfGK9+Lt3+2H8F/i78LtVi/ZyH/AAsHSfH8upfEL4V+LfEfgCTw n8Q/Ffx7+INxaj4ufDDw1448XeDpfCviXxP438ceC/BPji9uF8bfB3wp/Zm+Ifw6/wCCVHwH+Cnw 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 vWzwxa54Z8T6RofifwrdmLz/AAx4q0jQtUsngmsYpk78A9m4BJzk8ZzjO719BwOmOuXbwM5JI9en 19MD/Oa8tVasLc9ZJuSdrtWlaKurPVuyeqTejv23spW0Ur+8tE/ml0/DfzPn7xX+zz8CfHfjLSvi F41+Cvwq8V+PNKtdJ03SPGvin4ceE/EvjTS9P0HxhoHj7QotG1/WtHu9fsrbw/8AEDw74c8V2Uas kVr4u0Pwx4xQ29/oNpLH00Hwa+FVt8RNR+MUHwx8B23xa1PQ7Tw1ffE2LwjoafEa/wDC2mytNp2g XPjT+yR4hbRIyzkeH3ufssLyytHEGAL+sZbJxkHP93vz7Ed+Dn5v0pSWHGQcjrjPvzkdgR+Yzyed Via8oKPtGnbS8m0tYtaba2W19dUnbQUFdWVrtPor2S6teS+/d6Hzx8M/2Z/2ffgn4l8a+Lfg/wDB T4U/Cnxd8Tb5r/4i+LPht8NfCHg3xL491H+0rjW11Hxjr2gaJDeeI5/7Z1jWbppfEct0/natczK6 u7yS/RJXglecnjJGBng47emOvNNw2MscD9Bz6AD9R+PSlPA68HnIGDxjHGRx3/Ws3KrOSnVlz1LW 5e2kdbrRbfPokW1qteq21ta1tbWb9PvuS0UUVZIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfn3ov7LHxW+Gfjjx1qnwI+O3hX4bfCn4u/Enxv8A FT4kfD3W/grpfi3xJo/jTxppWkx+KtQ+CfjnTPH3hHwz4DuPEfi3S9Z+Jfi6T4p/Cv8AaFbU/G3i TxPeRrbWtytkfBb7/gmbb6l+2F4C/avfx/4H1LX/AIY/GPxt8U9I1PVPgpLqfx11rwv8Q/hl8ZfA Gs/B/Xf2iL/x3Pqs/wAKvDF58U9E8RfCPwj4d8HeGvDvgmw8BQeDLq18ZS3Nt4o8M/YXw+/ag8O/ FfxxrnhXwR4C+I3iDwdoHirxt8PJfjJZW/g7UvhdL8UPhnrfiHQ/HPgmVrbxZc/EfR9a8Ga/4L1z w1f+IvEPgzw34DHjC3k8HQ+Mrjxk1vYj0vwz8dPg3478eeOfhb4K+Lfw98WfE74YHTX+Inw40Hxr 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 OfE79p34s+P/AAh4w1X/AIVZbaB8Plm8W+HPEWk+J5YfDnhnwk0MurvayeCvBl2t74Usv0Sw+WJf zAwyqkADkDGTkkjv04/A08s/GF3YHQcDP8R3EZ47jGeOARXPLNqtfDPDPD06alUU+fRTeiu732d3 3SGqT9pz8ys0nyt9LRv5WdtdFt6MtL0H0H8qWkGcDPXAz9e9LXKtl6Lz/HqMKKKKYBRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJgeg/IUt FFL3d9PXT1/4P4gFFFJkeo/P/PqPzoVntb5W/rovuAMD0HPXjrRgZzgZ9cc/nRkeo56c9aTcuSNy 5XG4ZGRnpkZyM9s9e1Gmr003fbbf8PwAdRSZHqPzFLStF2a5Xay6aJtf5aAJgeg/IUYA6AD8KWin ZdlorL07emi7gFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigD8UviB+2PqWk+F/jF+018Rv2gfiV8AfgL8Ffjx8Tfg7p2k/DL9 mnWfjbaahD8GItd8MeM/F37SUeg/Bf4pfEXw94AHxC8N+M9dg8TeELz4OeELbwNF4RmuvHzT+MI5 br63+N37WHjPwT8S7v4T/Bb4V+HvjB428KfDrTvjZ8W9K8TfE24+Fi+EfhJreq+ItC8PX/hNovh5 8SH8c+P/ABVqvgbxxD4O8LXQ8GeDJZPDmsp4t+IXhOQ2E17ifGv9gH4efGqL4ieG7/4h/FzwN8L/ AI6LrA/aK+DHgPXvAlt4G+PA1nwjoXw+1NvEt14i+HHi34keBHHhXQtIV5fgR42+Ek3ia4XzPG7a hNKXf0f42fsmaB8ZfEln4xsPiN8Vvg94kuvDUHw58c6x8JNT8JaVqPxO+Ei6tc6xL8NPGEvjvwJ4 wl0LRC2raubfxd8Nj4I+L3hU+JPEDeBviF4Zurma4f2p1Mtm4e5pZ6K3RQ5b21eq1fV77u0ylJct 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 9vc8elfjn/wSU+LHj34m+Gv2p9L8T+KNM8TeF/hb+0Vo/hr4QyaB8fPHX7U2g2fwr139mP8AZr+K mipof7S3xS8PeEfiR8YNI8R63451vxdD4g8ZW13c7vEL29l4t8UeB18JSj9it5wDgjILEnOARjr7 nPB44BJ6Yr57FYN4KtOl7RSVOzlZpqUmova9rrVX8tBxm6lNzlFLl0V+2ltPm7d9t9rQ4AHoBS0i 9B9B/KlrFO6T7pP7ywooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFAEexPv7E3YznaM5x64z+tJ5MO3Z5SbM527Rtz64xj/wCvRRT5pLZtfN9N gSS2VtttNtvu6DvKj2eXsTy/7m0beuenTrzSGGJgFaNGAAADKGwB0xnOKKKE2tm977vd9d9AHYX7 m1du3GMDGOm3GMY9untSCOMHcEQN/eCqD+eM0UUXfd676gIYYiMGKMj0KKR+WMUeTFgDyo8DgDYv H044/Ciijml3f3sBhtbYqUMEJU9VMaEH6gjn8c07yIdrJ5Uexsbl2LhsdNwxzjtnpRRRzSe8pb3+ J7q2u/khWXZfchY440H7uNIwwyQiqv8A6CBT8D0H5Ciik9d9fXUYtFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Z ------uqZ1AHXg-H9OgITQL7UT20eRT:1403682710-- From webmaster@getit5.subvalue.com Wed Jun 25 08:28:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 694427F3F for ; Wed, 25 Jun 2014 08:28:36 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 3BF96304053 for ; Wed, 25 Jun 2014 06:28:32 -0700 (PDT) X-ASG-Debug-ID: 1403702906-04bdf056685f5640001-NocioJ Received: from server3.subvalue.com (server3.subvalue.com [115.124.106.60]) by cuda.sgi.com with ESMTP id Nw49M0v9Hz2Kroyf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 25 Jun 2014 06:28:28 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit5.subvalue.com X-Barracuda-Apparent-Source-IP: 115.124.106.60 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit5.subvalue.com; s=default; h=Content-Type:Content-Transfer-Encoding:MIME-Version:List-Unsubscribe:Message-ID:Reply-To:From:Date:Subject:To; bh=PwhGqCE+wnu5Q7UAjZ6CQWU0r1Uu3maz0bSPNY5e7Ys=; b=E6+yT1cU0weANXFb8sDmayiqFbZCw5UON6TUmxouKn2TaYkdpQtYKCM0bWbJ5uCbUpP8Mp6+jrJvvhU8XQOrZhqSrmGSCmb8mXNmtgHsTm8pC+GcUHBe0PWbJ42NPJRqjPiBC5ne9cw2RMaRSoeFJdVTQqoR5Del0+Zc1sjJ1As=; Received: from nobody by server3.subvalue.com with local (Exim 4.82) (envelope-from ) id 1WznFP-0005AN-50 for xfs@oss.sgi.com; Wed, 25 Jun 2014 13:28:23 +0000 To: xfs@oss.sgi.com Subject: Goodbye from our newsletter X-PHP-Script: getit5.subvalue.com/mailz/index.php for 66.249.73.88 X-ASG-Orig-Subj: Goodbye from our newsletter Received: from crawl-66-249-73-88.googlebot.com [66.249.73.88] by getit5.subvalue.com with HTTP; Wed, 25 Jun 2014 13:28:22 +0000 Date: Wed, 25 Jun 2014 13:28:23 +0000 From: Webmaster Reply-To: Webmaster Message-ID: <84d3e822314f4abafc3caf5ba8c750c8@getit5.subvalue.com> X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: systemmessage X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit5.subvalue.com List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server3.subvalue.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 32007] / [47 12] X-AntiAbuse: Sender Address Domain - getit5.subvalue.com X-Get-Message-Sender-Via: server3.subvalue.com: uid via acl_c_vhost_owner from authenticated_id: getit5su from //getit5.subvalue.com/mailz/index.php for 66.249.73.88 /from_h X-Source: X-Source-Args: /usr/local/apache/bin/httpd -k start -DSSL X-Source-Dir: getit5.subvalue.com:/public_html/mailz X-Barracuda-Connect: server3.subvalue.com[115.124.106.60] X-Barracuda-Start-Time: 1403702907 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6940 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Goodbye from our Newsletter, sorry to see you go. You have been unsubscribed from our newsletters. This is the last email you will receive from us. Our newsletter system, phpList, will refuse to send you any further messages, without manual intervention by our administrator. If there is an error in this information, you can re-subscribe: please go to http://getit5.subvalue.com/mailz/?p=subscribe and follow the steps. Thank you From htejun@gmail.com Wed Jun 25 09:00:11 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 52FE67F3F for ; Wed, 25 Jun 2014 09:00:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id E5CD3304039 for ; Wed, 25 Jun 2014 07:00:10 -0700 (PDT) X-ASG-Debug-ID: 1403704808-04bdf056685f8ba0001-NocioJ Received: from mail-qc0-f182.google.com (mail-qc0-f182.google.com [209.85.216.182]) by cuda.sgi.com with ESMTP id VFcpMOuA8qTCeGPz (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 07:00:09 -0700 (PDT) X-Barracuda-Envelope-From: htejun@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.182 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.182] Received: by mail-qc0-f182.google.com with SMTP id m20so1739468qcx.13 for ; Wed, 25 Jun 2014 07:00:08 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.182] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.182] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=HTMJtlNRrvTZuPURYOjYqGC7ruoxZtAJhNM6zCu1mXw=; b=vADPNGOlBM+w/yoB5hTaFT5Gk2GN2e/B6m8Tu1dVa7IyUKdq2QFq+tftOivwfCubI9 gqNa2XaEAyYySc44MNCquGWvA1qMufz8tYTqNYsT4SMEdw31yR7OBjG+I7g6yPCDZNOE 9R16kPKFx1Wq7eVSDXVLhP6r0X0kQn74PkL852qcWtKbELcfU4BbvhY6oKfiDooDsq/Q 97wIzGhSCMKJswoRnXLdAeQ3ojbrdn17B6kM0WmEnTWCgFhzJSZ2sdBkMkA0zQu6rl6s WCb1in0GvQ3zT4fJJgWbdgRV70zNuvJKW9lOwB70MVaxBvxhHOiDVRo++TidSYSqJubx yQOg== X-Received: by 10.140.25.120 with SMTP id 111mr5493948qgs.95.1403704808433; Wed, 25 Jun 2014 07:00:08 -0700 (PDT) Received: from htj.dyndns.org (207-38-225-25.c3-0.43d-ubr1.qens-43d.ny.cable.rcn.com. [207.38.225.25]) by mx.google.com with ESMTPSA id g4sm6080550qay.6.2014.06.25.07.00.07 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jun 2014 07:00:07 -0700 (PDT) Sender: Tejun Heo Date: Wed, 25 Jun 2014 10:00:05 -0400 From: Tejun Heo To: Austin Schuh Cc: Dave Chinner , xfs , Thomas Gleixner , linux-kernel@vger.kernel.org Subject: Re: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140625140005.GB26883@htj.dyndns.org> X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Barracuda-Connect: mail-qc0-f182.google.com[209.85.216.182] X-Barracuda-Start-Time: 1403704809 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6941 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello, On Tue, Jun 24, 2014 at 08:05:07PM -0700, Austin Schuh wrote: > > I can see no reason why manual completion would behave differently > > from flush_work() in this case. > > I went looking for a short trace in my original log to show the problem, > and instead found evidence of the second problem. I still like the shorter > flush_work call, but that's not my call. So, are you saying that the original issue you reported isn't actually a problem? But didn't you imply that changing the waiting mechanism fixed a deadlock or was that a false positive? > I did find this comment in the process_one_work function. Sounds like this > could be better documented. Yeah, we prolly should beef up Documentation/workqueue.txt with information on general usage. > I spent some more time debugging, and I am seeing that tsk_is_pi_blocked is > returning 1 in sched_submit_work (kernel/sched/core.c). It looks > like sched_submit_work is not detecting that the worker task is blocked on > a mutex. The function unplugs the block layer and doesn't have much to do with workqueue although it has "_work" in its name. > This looks very RT related right now. I see 2 problems from my reading > (and experimentation). The first is that the second worker isn't getting > started because tsk_is_pi_blocked is reporting that the task isn't blocked > on a mutex. The second is that even if another worker needs to be > scheduled because the original worker is blocked on a mutex, we need the > pool lock to schedule another worker. The pool lock can be acquired by any > CPU, and is a spin_lock. If we end up on the slow path for the pool lock, > we hit BUG_ON(rt_mutex_real_waiter(task->pi_blocked_on)) > in task_blocks_on_rt_mutex in rtmutex.c. I'm not sure how to deal with > either problem. > > Hopefully I've got all my facts right... Debugging kernel code is a whole > new world from userspace code. I don't have much idea how RT kernel works either. Can you reproduce the issues that you see on mainline? Thanks. -- tejun From htejun@gmail.com Wed Jun 25 09:18:47 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 324777F3F for ; Wed, 25 Jun 2014 09:18:47 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 146898F8052 for ; Wed, 25 Jun 2014 07:18:47 -0700 (PDT) X-ASG-Debug-ID: 1403705922-04cbb06537bdd70001-NocioJ Received: from mail-qg0-f47.google.com (mail-qg0-f47.google.com [209.85.192.47]) by cuda.sgi.com with ESMTP id UtaDiQ3IkpBLCDPj (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 07:18:42 -0700 (PDT) X-Barracuda-Envelope-From: htejun@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.47 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] Received: by mail-qg0-f47.google.com with SMTP id q108so1713575qgd.34 for ; Wed, 25 Jun 2014 07:18:42 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.47] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=q6bZajDqpH/OQoCHZ1RFpWe5oIJOql8kruXDUL0eHQ0=; b=f3pHlywDXaqvFV0ZxDvcOwrWvrj8shYuhoqjcV2UYnshXRlPLzwPD381Xhtc1iNK7L ohF5sYvrsmNmUoLAleCvXc7qml213UgYBYkTa8q0B5lFYPYWND07YzZWFPS2EwhrOZ08 KbPne1LFIUFko9uY6lIloxZUewYIpO5jgWw3zy+GI1RtzRplqjw5xRycugwwaPRI6tQX XrFRhEscKQus0XhuCekrpBdDm7kuUdVLiK/v7srdECmU0aBCdlwcCkRQnbs1xQbIVEp2 Drnb1dckK72epaOLtyNe/j/xrbzT2Ni+fuAxrZxuTxb1J3MKTa2V6VLetaT8nx1L3bRi rOgQ== X-Received: by 10.140.31.131 with SMTP id f3mr11004372qgf.59.1403705922334; Wed, 25 Jun 2014 07:18:42 -0700 (PDT) Received: from htj.dyndns.org (207-38-225-25.c3-0.43d-ubr1.qens-43d.ny.cable.rcn.com. [207.38.225.25]) by mx.google.com with ESMTPSA id j79sm2293233qge.34.2014.06.25.07.18.39 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jun 2014 07:18:40 -0700 (PDT) Sender: Tejun Heo Date: Wed, 25 Jun 2014 10:18:36 -0400 From: Tejun Heo To: Dave Chinner Cc: Austin Schuh , xfs , linux-kernel@vger.kernel.org Subject: Re: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140625141836.GC26883@htj.dyndns.org> X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> <20140625055641.GL9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140625055641.GL9508@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Barracuda-Connect: mail-qg0-f47.google.com[209.85.192.47] X-Barracuda-Start-Time: 1403705922 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6941 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello, Dave. On Wed, Jun 25, 2014 at 03:56:41PM +1000, Dave Chinner wrote: > Hmmm - that's different from my understanding of what the original > behaviour WQ_MEM_RECLAIM gave us. i.e. that WQ_MEM_RECLAIM > workqueues had a rescuer thread created to guarantee that the > *workqueue* could make forward progress executing work in a > reclaim context. >From Documentation/workqueue.txt WQ_MEM_RECLAIM All wq which might be used in the memory reclaim paths _MUST_ have this flag set. The wq is guaranteed to have at least one execution context regardless of memory pressure. So, all that's guaranteed is that the workqueue has at least one worker executing its work items. If that one worker is serving a work item which can't make forward progress, the workqueue is not guaranteed to make forward progress. > The concept that the *work being executed* needs to guarantee > forwards progress is something I've never heard stated before. > That worries me a lot, especially with all the memory reclaim > problems that have surfaced in the past couple of months.... I'd love to provide that but guaranteeing that at least one work is always being executed requires unlimited task allocation (the ones which get blocked gotta store their context somewhere). > > As long as a WQ_RECLAIM workqueue dosen't depend upon itself, > > forward-progress is guaranteed. > > I can't find any documentation that actually defines what > WQ_MEM_RECLAIM means, so I can't tell when or how this requirement > came about. If it's true, then I suspect most of the WQ_MEM_RECLAIM > workqueues in filesystems violate it. Can you point me at > documentation/commits/code describing the constraints of > WQ_MEM_RECLAIM and the reasons for it? Documentation/workqueue.txt should be it but maybe we should be more explicit. The behavior is maintaining what the pre-concurrency-management workqueue provided with static per-workqueue workers. Each workqueue reserved its workers (either one per cpu or one globally) and it only supported single level of concurrency on each CPU. WQ_MEM_RECLAIM is providing equivalent amount of forward progress guarantee and all the existing users shouldn't have issues on this front. If we have grown incorrect usages from then on, we need to fix them. Thanks. -- tejun From fanael4@gmail.com Wed Jun 25 10:29:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id EE5B87F3F for ; Wed, 25 Jun 2014 10:29:01 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id C3FBB8F8068 for ; Wed, 25 Jun 2014 08:28:58 -0700 (PDT) X-ASG-Debug-ID: 1403710126-04cbb06536c6740001-NocioJ Received: from mail-qg0-f45.google.com (mail-qg0-f45.google.com [209.85.192.45]) by cuda.sgi.com with ESMTP id xRM3CV1uoyL1hzuB (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 08:28:47 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.45 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.45] Received: by mail-qg0-f45.google.com with SMTP id 63so1815078qgz.32 for ; Wed, 25 Jun 2014 08:28:46 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.45] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.45] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=TbsznoJFE/peryeW+mhXVQEoR8PCeUoNCh31+r64ois=; b=CepnGi/GKnGFInK9BoFcmSo6n2yxQV0KxFvIz3Hp0IAAnU78uWjf+mf1RJPYFmN150 G50Q2JZ25e/RYzyivvt8VC8rSXSdzfPwpmO6Us/UdXGz6NDK0tr0J0q9yVnIg5b/82vb sdE3HmGg2a2DrWde1zHbfjIJDYAwQawzPgUMVnoPbazF9YvcehY8sMXsHtGkqaRAgi9U dSnvWx6agafwCYM296Jr5zxdaccEpVMmnof902heUSvrFgil3wEvZEdSL6Yd6k27zVyA C6JvPc1h3XCTeCx5Fhanc5WkCm532g2fJtp2ay7KKrDrGJx3AZxWPeGO4qkLdE7eWX2+ OFWQ== MIME-Version: 1.0 X-Received: by 10.140.47.16 with SMTP id l16mr11859922qga.24.1403710126657; Wed, 25 Jun 2014 08:28:46 -0700 (PDT) Received: by 10.224.198.68 with HTTP; Wed, 25 Jun 2014 08:28:46 -0700 (PDT) In-Reply-To: <20140625012144.GK9508@dastard> References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> Date: Wed, 25 Jun 2014 17:28:46 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qg0-f45.google.com[209.85.192.45] X-Barracuda-Start-Time: 1403710127 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6942 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-25 3:21 GMT+02:00 Dave Chinner : > What kernel are you running? (uname -a, please) Linux (none) 3.15.1-1-ARCH #1 SMP PREEMPT Tue Jun 17 09:32:20 CEST 2014 x86_64 GNU/Linux > Can you reproduce the problem on demand from a brand new filesystem? > If so, can you run the cycle: > > mount > write > crash > > take metadump > mount > unmount > run xfs_repair -n > if clean > do another iteration > otherwise, something is wrong. > record dmesg > take a post-mount metadump > post the pre- and post-mount metadumps for me to look at > post the entire dmesg so I can look at it. I can try. From fanael4@gmail.com Wed Jun 25 11:09:12 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D85C37F3F for ; Wed, 25 Jun 2014 11:09:12 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id AFA588F8068 for ; Wed, 25 Jun 2014 09:09:09 -0700 (PDT) X-ASG-Debug-ID: 1403712547-04cbb06535caea0001-NocioJ Received: from mail-qa0-f68.google.com (mail-qa0-f68.google.com [209.85.216.68]) by cuda.sgi.com with ESMTP id b5dT3QAYPW2AB8zA (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 09:09:07 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.216.68 X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.68] Received: by mail-qa0-f68.google.com with SMTP id v10so521074qac.3 for ; Wed, 25 Jun 2014 09:09:07 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.68] X-Barracuda-IPDD: Level1 [gmail.com/209.85.216.68] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=M8vasncv0uSRyqerv7E6CYSfM6tGMG3LsfffGDG3hfQ=; b=dnwmE+ByKZTChOd8oChcujz3laZMzjawVnc4vgeGk9KcAnIE4YauKPhygj83uVg+FP 5UdgfNG69QSn/1wuteXFy3J6PYO+oHgsBOQdsgWxqbkaSePeVylHAV9+swyYf/55LBqN VUDo43nlQ6xpXtMwN6uQjXyjZcpU2aiIx4ZsEj+l4XxBow+6iMf3CaDwRKyUMDB2vxpA pQ9M5reBZo8z+SMQf8evGPunXjios0epzV54UVJ4F1iDw7tUCSClWEb8B4yzZ+UbzTdt 2C5MMh14y72bLNgVbUNPtPj1PIE6vftg0johRLRKpMqF0wXo8erxYdA36xUO+FOpqNs/ sHyA== MIME-Version: 1.0 X-Received: by 10.224.130.136 with SMTP id t8mr13849693qas.49.1403712547510; Wed, 25 Jun 2014 09:09:07 -0700 (PDT) Received: by 10.224.198.68 with HTTP; Wed, 25 Jun 2014 09:09:07 -0700 (PDT) In-Reply-To: <20140625012144.GK9508@dastard> References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> Date: Wed, 25 Jun 2014 18:09:07 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qa0-f68.google.com[209.85.216.68] X-Barracuda-Start-Time: 1403712547 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6943 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature First try, and something is wrong already. Dmesg: https://clbin.com/e8HwM Pre-mount metadata: https://clbin.com/0thyz Post-mount metadata: https://clbin.com/WTIuF From jack@suse.cz Wed Jun 25 11:49:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 299F27F3F for ; Wed, 25 Jun 2014 11:49:59 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id F397A304053 for ; Wed, 25 Jun 2014 09:49:55 -0700 (PDT) X-ASG-Debug-ID: 1403714993-04cb6c76cf2a3830001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id XYCN6LDbqgLTzJhw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 25 Jun 2014 09:49:54 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 1A2F5AC7E for ; Wed, 25 Jun 2014 16:49:41 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id E8D5481ED3; Wed, 25 Jun 2014 18:49:39 +0200 (CEST) Date: Wed, 25 Jun 2014 18:49:39 +0200 From: Jan Kara To: xfs@oss.sgi.com Subject: XFS CRC errors after a crash Message-ID: <20140625164939.GA27620@quack.suse.cz> X-ASG-Orig-Subj: XFS CRC errors after a crash MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1403714994 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6944 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, so I've been crash-testing XFS (just killing KVM with XFS filesystem mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty easily hit CRC mismatches after that. Kernel complains like: [518184.794175] XFS (sdb3): Mounting V5 Filesystem [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 [518187.118870] XFS (sdb3): Unmount and run xfs_repair [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 So it seem like the checksum doesn't get updated properly in all the cases. Looking into the logdump, there doesn't seem to be any modifications for this AGF block in unrelayed part of the log but there are some modifications in the older parts of the log - the latest LSN where block 1 was updated is 1,4639 (and the buffer contents in the log corresponds to the data I see in block 1). However the lsn field in AGF structure in that block shows 1,3616 so that really seems stale (and I've checked and in that transaction the block has been modified as well). I'm looking into how the mismatch could happen but if anybody more knowledgeable wants to have a look I have an unmodified fs image available (however it has ~20G so if there's a way to make that smaller it would be good). Honza -- Jan Kara SUSE Labs, CR From austin@peloton-tech.com Wed Jun 25 12:04:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id E058B7F3F for ; Wed, 25 Jun 2014 12:04:39 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 9530FAC008 for ; Wed, 25 Jun 2014 10:04:36 -0700 (PDT) X-ASG-Debug-ID: 1403715874-04bdf0566660be20001-NocioJ Received: from mail-ie0-f175.google.com (mail-ie0-f175.google.com [209.85.223.175]) by cuda.sgi.com with ESMTP id G6bGQuYlf7P2nsEY (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 10:04:34 -0700 (PDT) X-Barracuda-Envelope-From: austin@peloton-tech.com X-Barracuda-Apparent-Source-IP: 209.85.223.175 Received: by mail-ie0-f175.google.com with SMTP id tp5so1936778ieb.34 for ; Wed, 25 Jun 2014 10:04:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=9do6Nwbs5pzz0JjSMyZrkp4LrDzO2pPEfRMFn5wOXu4=; b=AbTt+/lt5DFuCda6RtT8e1Ri6FgPlyarPLcvm2PPEtYhZKiE0Lj8dLrMbMFbv/5njI swYE16ZPNWYk34d5m9i+Ra6wAuxTwHiyAxhsNmj+Nn+mqlkEYSUV4iCDLFAEzlMBtIY7 qUO5AKySmF12poGbDmzcJfFDKczMqsIZ9fhfVvYiUc5Bzw3Zey06bQUzJKaB27aQbeNS C49ZRE97NOmq0mLpcIEMWzAKESMOV1PdqaCdjOQE0DdtJZjNL0Mgl6KWhaqCu5nv+BYT SMDvg+PV+rF8L+9WUoy0cwA/JtJKj2JQpG7su8LUiohg3G0Zr18N7vhrB8WAAgusY2BQ YX5w== X-Gm-Message-State: ALoCoQnGhhA22a1vp6vnwL5ameebnBlPOjMNK1WK6H1w1mHJAom2cCWae2wXslTReSV99f54g5Uo X-Received: by 10.50.152.98 with SMTP id ux2mr44020617igb.27.1403715873876; Wed, 25 Jun 2014 10:04:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.93.5 with HTTP; Wed, 25 Jun 2014 10:04:13 -0700 (PDT) In-Reply-To: <20140625140005.GB26883@htj.dyndns.org> References: <20140513034647.GA5421@dastard> <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> <20140625140005.GB26883@htj.dyndns.org> From: Austin Schuh Date: Wed, 25 Jun 2014 10:04:13 -0700 Message-ID: Subject: Re: On-stack work item completion race? (was Re: XFS crash?) To: Tejun Heo X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) Cc: Dave Chinner , xfs , Thomas Gleixner , linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-ie0-f175.google.com[209.85.223.175] X-Barracuda-Start-Time: 1403715874 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6944 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 25, 2014 at 7:00 AM, Tejun Heo wrote: > > Hello, > > On Tue, Jun 24, 2014 at 08:05:07PM -0700, Austin Schuh wrote: > > > I can see no reason why manual completion would behave differently > > > from flush_work() in this case. > > > > I went looking for a short trace in my original log to show the problem, > > and instead found evidence of the second problem. I still like the shorter > > flush_work call, but that's not my call. > > So, are you saying that the original issue you reported isn't actually > a problem? But didn't you imply that changing the waiting mechanism > fixed a deadlock or was that a false positive? Correct, that was a false positive. Sorry for the noise. > > I spent some more time debugging, and I am seeing that tsk_is_pi_blocked is > > returning 1 in sched_submit_work (kernel/sched/core.c). It looks > > like sched_submit_work is not detecting that the worker task is blocked on > > a mutex. > > The function unplugs the block layer and doesn't have much to do with > workqueue although it has "_work" in its name. Thomas moved + if (tsk->flags & PF_WQ_WORKER) + wq_worker_sleeping(tsk); into sched_submit_work as part of the RT patchset. > > This looks very RT related right now. I see 2 problems from my reading > > (and experimentation). The first is that the second worker isn't getting > > started because tsk_is_pi_blocked is reporting that the task isn't blocked > > on a mutex. The second is that even if another worker needs to be > > scheduled because the original worker is blocked on a mutex, we need the > > pool lock to schedule another worker. The pool lock can be acquired by any > > CPU, and is a spin_lock. If we end up on the slow path for the pool lock, > > we hit BUG_ON(rt_mutex_real_waiter(task->pi_blocked_on)) > > in task_blocks_on_rt_mutex in rtmutex.c. I'm not sure how to deal with > > either problem. > > > > Hopefully I've got all my facts right... Debugging kernel code is a whole > > new world from userspace code. > > I don't have much idea how RT kernel works either. Can you reproduce > the issues that you see on mainline? > > Thanks. > > -- > tejun I'll see what I can do. Thanks! Austin From webmaster@getit6.subvalue.com Wed Jun 25 15:48:38 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id ECB677F3F for ; Wed, 25 Jun 2014 15:48:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 8C655AC007 for ; Wed, 25 Jun 2014 13:48:34 -0700 (PDT) X-ASG-Debug-ID: 1403729307-04cb6c76d12bbc20001-NocioJ Received: from server3.subvalue.com (server3.subvalue.com [115.124.106.60]) by cuda.sgi.com with ESMTP id XKZjaEvljIHGsKAS (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 25 Jun 2014 13:48:29 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit6.subvalue.com X-Barracuda-Apparent-Source-IP: 115.124.106.60 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit6.subvalue.com; s=default; h=Content-Type:Content-Transfer-Encoding:MIME-Version:List-Unsubscribe:Message-ID:Reply-To:From:Date:Subject:To; bh=wZp7oU5obp4tRr5r6cJLIgrDBhBYN2TLnbKfXUPe6fk=; b=n9W1hsjuKeaaKWHt8GjKu1UaaSgCTYYqXIBYdthtzxUN28rF8d+d5yhE9swzsW5cDVDTY5M8aS0sCIGSYIkEasOEWrwDDAmlgtkaQ47rWtHXOjF85Ezq4C2ZjrMdDgos+DYpGcNudNYTKhq8tILvLkf19+Wr8kscfa/eQUD6Vr4=; Received: from nobody by server3.subvalue.com with local (Exim 4.82) (envelope-from ) id 1Wzu7D-00037v-JM for xfs@oss.sgi.com; Wed, 25 Jun 2014 20:48:23 +0000 To: xfs@oss.sgi.com Subject: Goodbye from our newsletter X-PHP-Script: getit6.subvalue.com/mailz/index.php for 66.249.73.50 X-ASG-Orig-Subj: Goodbye from our newsletter Received: from crawl-66-249-73-50.googlebot.com [66.249.73.50] by getit6.subvalue.com with HTTP; Wed, 25 Jun 2014 20:48:23 +0000 Date: Wed, 25 Jun 2014 20:48:23 +0000 From: Webmaster Reply-To: Webmaster Message-ID: <4d486065a1bb6c5b96441c5acdcf8eee@getit6.subvalue.com> X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: systemmessage X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit6.subvalue.com List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server3.subvalue.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 32007] / [47 12] X-AntiAbuse: Sender Address Domain - getit6.subvalue.com X-Get-Message-Sender-Via: server3.subvalue.com: uid via acl_c_vhost_owner from authenticated_id: getit6su from //getit6.subvalue.com/mailz/index.php for 66.249.73.50 /from_h X-Source: X-Source-Args: /usr/local/apache/bin/httpd -k start -DSSL X-Source-Dir: getit6.subvalue.com:/public_html/mailz X-Barracuda-Connect: server3.subvalue.com[115.124.106.60] X-Barracuda-Start-Time: 1403729308 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6948 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Goodbye from our Newsletter, sorry to see you go. You have been unsubscribed from our newsletters. This is the last email you will receive from us. Our newsletter system, phpList, will refuse to send you any further messages, without manual intervention by our administrator. If there is an error in this information, you can re-subscribe: please go to http://getit6.subvalue.com/mailz/?p=subscribe and follow the steps. Thank you From david@fromorbit.com Wed Jun 25 17:00:10 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 29BDA7F3F for ; Wed, 25 Jun 2014 17:00:10 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id D0DDD304048 for ; Wed, 25 Jun 2014 15:00:09 -0700 (PDT) X-ASG-Debug-ID: 1403733606-04bdf05668629530001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id WzwgZKe19Mi9zmMK for ; Wed, 25 Jun 2014 15:00:07 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvIGAEtFq1N5LEio/2dsb2JhbABYgw1SjgOcbwaZOgGBDRd1hAMBAQU6HCMQCAMOCgklDwUlAyETiEEOw34WhU2HEYEmEQFQB4RDBZpQk2yDVCsvgQs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 07:30:05 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzvEO-0006aY-G7; Thu, 26 Jun 2014 07:59:52 +1000 Date: Thu, 26 Jun 2014 07:59:52 +1000 From: Dave Chinner To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: XFS CRC errors after a crash Message-ID: <20140625215952.GM9508@dastard> X-ASG-Orig-Subj: Re: XFS CRC errors after a crash References: <20140625164939.GA27620@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140625164939.GA27620@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403733607 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6949 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 25, 2014 at 06:49:39PM +0200, Jan Kara wrote: > Hello, > > so I've been crash-testing XFS (just killing KVM with XFS filesystem > mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty > easily hit CRC mismatches after that. Kernel complains like: Yes, we had that reported yesterday by another person, using virtual box. I've been unable to reproduce it on my local KVM VMs, so I'm wondering what your configuration KVM configuration is? > [518184.794175] XFS (sdb3): Mounting V5 Filesystem > [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) > [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 > [518187.118870] XFS (sdb3): Unmount and run xfs_repair > [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: > [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ > [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... > [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ > [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ > [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 > > So it seem like the checksum doesn't get updated properly in all the cases. > Looking into the logdump, there doesn't seem to be any modifications for > this AGF block in unrelayed part of the log but there are some modifications > in the older parts of the log - the latest LSN where block 1 was updated is > 1,4639 (and the buffer contents in the log corresponds to the data I see in > block 1). However the lsn field in AGF structure in that block shows 1,3616 > so that really seems stale (and I've checked and in that transaction the > block has been modified as well). That tallies with what has been reported -it was the AGI block, however. What I know so far is that the CRC matches for the version of the structure logged at the apparent LSN, but the data is more recent. Now the only way I can see the data getting updated without the LSN being updates is through log recovery, the analysis is here: http://oss.sgi.com/pipermail/xfs/2014-June/036938.html At the bottom of the email is a request for a information resulting from a reproduction cycle. Can you run that cycle and provide the metadumps and dmesg when a problem is first found? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 17:03:55 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id BD59B7F3F for ; Wed, 25 Jun 2014 17:03:55 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 61A64AC002 for ; Wed, 25 Jun 2014 15:03:52 -0700 (PDT) X-ASG-Debug-ID: 1403733829-04cb6c76d22c1230001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 2vUvoGjbCEkZUEWx for ; Wed, 25 Jun 2014 15:03:49 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AskGAG1Gq1N5LEio/2dsb2JhbABYgw1SqnIGmToBgQ0XdYQDAQEFOhwjEAgDGAklDwUlAyETiEHDexMEFoVNiRkHhEMFmlCTbINUKw Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 07:33:49 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzvI0-0006bs-9e; Thu, 26 Jun 2014 08:03:36 +1000 Date: Thu, 26 Jun 2014 08:03:36 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140625220336.GN9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403733829 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6949 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 25, 2014 at 06:09:07PM +0200, Fanael Linithien wrote: > First try, and something is wrong already. > > Dmesg: https://clbin.com/e8HwM > Pre-mount metadata: https://clbin.com/0thyz > Post-mount metadata: https://clbin.com/WTIuF Ok, that's the log crc error, which is likely a different problem (probably an incomplete write due to the VM being terminated). I'll concentrate on that one after the one originally reported in this thread. Can you try to reproduce the AGI or AGF/freespace corruption issue and post the results? Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 17:09:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 3665D7F50 for ; Wed, 25 Jun 2014 17:09:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 1E35D8F8033 for ; Wed, 25 Jun 2014 15:08:56 -0700 (PDT) X-ASG-Debug-ID: 1403734134-04cbb06537eed90001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id acXsNrN7sqw4YaRp for ; Wed, 25 Jun 2014 15:08:54 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgGAJlHq1N5LEio/2dsb2JhbABYgw2rRAaZOgGBDRd1hAMBAQQBOhwjEAgDDgoJJQ8FJQMhE4g6B8N9FxaFTYkZB4RDBZpQk2yDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 07:38:53 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzvMu-0006cw-PO; Thu, 26 Jun 2014 08:08:40 +1000 Date: Thu, 26 Jun 2014 08:08:40 +1000 From: Dave Chinner To: Tejun Heo Cc: Austin Schuh , xfs , linux-kernel@vger.kernel.org Subject: Re: On-stack work item completion race? (was Re: XFS crash?) Message-ID: <20140625220840.GO9508@dastard> X-ASG-Orig-Subj: Re: On-stack work item completion race? (was Re: XFS crash?) References: <20140513063943.GQ26353@dastard> <20140513090321.GR26353@dastard> <20140624030240.GB9508@dastard> <20140624032521.GA12164@htj.dyndns.org> <20140625055641.GL9508@dastard> <20140625141836.GC26883@htj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140625141836.GC26883@htj.dyndns.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403734134 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6949 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 25, 2014 at 10:18:36AM -0400, Tejun Heo wrote: > Hello, Dave. > > On Wed, Jun 25, 2014 at 03:56:41PM +1000, Dave Chinner wrote: > > Hmmm - that's different from my understanding of what the original > > behaviour WQ_MEM_RECLAIM gave us. i.e. that WQ_MEM_RECLAIM > > workqueues had a rescuer thread created to guarantee that the > > *workqueue* could make forward progress executing work in a > > reclaim context. > > From Documentation/workqueue.txt > > WQ_MEM_RECLAIM > > All wq which might be used in the memory reclaim paths _MUST_ > have this flag set. The wq is guaranteed to have at least one > execution context regardless of memory pressure. > > So, all that's guaranteed is that the workqueue has at least one > worker executing its work items. If that one worker is serving a work > item which can't make forward progress, the workqueue is not > guaranteed to make forward progress. Adding that to the docco might be useful ;) > > > As long as a WQ_RECLAIM workqueue dosen't depend upon itself, > > > forward-progress is guaranteed. > > > > I can't find any documentation that actually defines what > > WQ_MEM_RECLAIM means, so I can't tell when or how this requirement > > came about. If it's true, then I suspect most of the WQ_MEM_RECLAIM > > workqueues in filesystems violate it. Can you point me at > > documentation/commits/code describing the constraints of > > WQ_MEM_RECLAIM and the reasons for it? > > Documentation/workqueue.txt should be it but maybe we should be more > explicit. The behavior is maintaining what the > pre-concurrency-management workqueue provided with static > per-workqueue workers. Each workqueue reserved its workers (either > one per cpu or one globally) and it only supported single level of > concurrency on each CPU. WQ_MEM_RECLAIM is providing equivalent > amount of forward progress guarantee and all the existing users > shouldn't have issues on this front. If we have grown incorrect > usages from then on, we need to fix them. Ok, so it hasn't changed. We're still usingthem like we used the original workqueues, and we never, ever provided a guarantee of forwards progress for them, either. So if the workqueues haven't changed, and we haven't changed how we use workqueues, then something else is causing all our recent problems.... Thanks for the clarification, Tejun! Cheers, Dave. -- Dave Chinner david@fromorbit.com From fanael4@gmail.com Wed Jun 25 17:33:08 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 18D637F54 for ; Wed, 25 Jun 2014 17:33:08 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 0160A8F804C for ; Wed, 25 Jun 2014 15:33:07 -0700 (PDT) X-ASG-Debug-ID: 1403735586-04cb6c76d22c2b10001-NocioJ Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) by cuda.sgi.com with ESMTP id biOShushkbvbCk5S (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 15:33:06 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.52 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.52] Received: by mail-qg0-f52.google.com with SMTP id f51so2346474qge.11 for ; Wed, 25 Jun 2014 15:33:06 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.52] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.52] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=WOt0rGmACvm/9QSCgP1qa8afQK40UYJcJwPYSsyFYRs=; b=oSWIXUTXfOdGibHRyIOknt637z7B/lsHOm6FKxS8gQm453gqZR+AOcmBZjrI/0prJ+ Nf1ATjNc7v+F/AGwZVxeaQKb128srngmWGw6MCTa9B6VHgHFPTa0Fx0i62WzraWcNDbI sdQpranmLI7+6TTNq5dB99ogzyjODb/sehmXVo5teGgIXOI4qm3IKhXPhJcP/CcrPUFJ efVLPWb+G9YdpDgVigCKsm/gyyESKuB8ENxw8X6WAiKr15wAZ8eI+VUoGaxPW0og07Ch ewcGJNalBjMEujiAK/sS2k01FPbMBVk6cRXNxl124Cl8Gx6R9hiZVScmZaZ/8Mn7kbjj DQnQ== MIME-Version: 1.0 X-Received: by 10.229.234.3 with SMTP id ka3mr8148177qcb.16.1403735586222; Wed, 25 Jun 2014 15:33:06 -0700 (PDT) Received: by 10.224.198.68 with HTTP; Wed, 25 Jun 2014 15:33:06 -0700 (PDT) In-Reply-To: <20140625220336.GN9508@dastard> References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140625220336.GN9508@dastard> Date: Thu, 26 Jun 2014 00:33:06 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qg0-f52.google.com[209.85.192.52] X-Barracuda-Start-Time: 1403735586 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6949 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-26 0:03 GMT+02:00 Dave Chinner : > Can you try to reproduce the AGI or AGF/freespace corruption issue > and post the results? Sure, looks like the bug heard you and decided to manifest itself right now. dmesg: https://clbin.com/g52eu (the second mount error is because I typo'd and tried to mount wrong partition) Metadata before an attempt to mount: https://clbin.com/YDZBV Metadata after an attempt to mount: https://clbin.com/2jayF From david@fromorbit.com Wed Jun 25 18:22:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 43ABC7F56 for ; Wed, 25 Jun 2014 18:22:45 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2D6D730404E for ; Wed, 25 Jun 2014 16:22:42 -0700 (PDT) X-ASG-Debug-ID: 1403738556-04cbb06535f3740001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 8gaJeiM3GMX1GtYL for ; Wed, 25 Jun 2014 16:22:36 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AskGAGVZq1N5LEio/2dsb2JhbABYgw1SqnUGmToBgQsXdYQDAQEEATocIwULCAMYCSUPBSUDIROIOgfDdhMEFoVNiRkHhEMFmlCTbINUKw Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 08:52:35 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzwWE-0006or-IJ; Thu, 26 Jun 2014 09:22:22 +1000 Date: Thu, 26 Jun 2014 09:22:22 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140625232222.GS4453@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140625220336.GN9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403738556 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6951 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 12:33:06AM +0200, Fanael Linithien wrote: > 2014-06-26 0:03 GMT+02:00 Dave Chinner : > > Can you try to reproduce the AGI or AGF/freespace corruption issue > > and post the results? > > Sure, looks like the bug heard you and decided to manifest itself right now. > > dmesg: https://clbin.com/g52eu (the second mount error is because I > typo'd and tried to mount wrong partition) > Metadata before an attempt to mount: https://clbin.com/YDZBV Curious. Completely clean log. head/tail at 2/16292. Yet the AGF head and a couple of btree blocks are have bad CRCs. They were on disk *before* the system crashed. > Metadata after an attempt to mount: https://clbin.com/2jayF Dirty log. tail at 2/16292, head at 2/16332. The before-mount image shows the CRC error, so it didn't come from log recovery. It may have come from recovery in the previous iteration, - do you still have the pre-mount images from the prior iteration before the crash error was detected? Cheers, Dave. -- Dave Chinner david@fromorbit.com From fanael4@gmail.com Wed Jun 25 18:33:01 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 70E627F58 for ; Wed, 25 Jun 2014 18:33:01 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0E699AC003 for ; Wed, 25 Jun 2014 16:32:57 -0700 (PDT) X-ASG-Debug-ID: 1403739176-04cbb06535f46a0001-NocioJ Received: from mail-qg0-f49.google.com (mail-qg0-f49.google.com [209.85.192.49]) by cuda.sgi.com with ESMTP id 8y8WDzN9MTmRflNK (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 16:32:56 -0700 (PDT) X-Barracuda-Envelope-From: fanael4@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.192.49 X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.49] Received: by mail-qg0-f49.google.com with SMTP id f51so2343054qge.36 for ; Wed, 25 Jun 2014 16:32:56 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.49] X-Barracuda-IPDD: Level1 [gmail.com/209.85.192.49] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=/Y38aFUJj+wXNUTaaxqhnQ6SeKdV8VFYoSQv/8Al4Yk=; b=xEZf8od2ySoy5tMgajME+fd0m+t9WEug/FaSnYubg7dAIGLqcDJg48+/oL27zWVZV6 5iFsYODqN0bMMiDEtU+XdptJZOSgBbXaTh4cmng8kxo0kWqXEmkqOZjXHcDCklDV/oYy orexLFB7fBMssy7zAS65sSgUBNCDPqDK3BUwxv7YyOl3Nzy6IF1mUeebrJJN/0TVRpxM 88T8yj5/R7F+u5M2yIdOZ8lQqE8WuKVttW+8asOsy5USt7A0Esrqudh6e0lMPARN0lwB Y85Lf1IM3KhRAnnS8rRjNdH/QolEemCeIV7RBwQcH8tnqf/sQr+fVGYL6nnqdjM+ITnq jTrA== MIME-Version: 1.0 X-Received: by 10.140.32.197 with SMTP id h63mr15876355qgh.10.1403739176148; Wed, 25 Jun 2014 16:32:56 -0700 (PDT) Received: by 10.224.198.68 with HTTP; Wed, 25 Jun 2014 16:32:56 -0700 (PDT) In-Reply-To: <20140625232222.GS4453@dastard> References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140625220336.GN9508@dastard> <20140625232222.GS4453@dastard> Date: Thu, 26 Jun 2014 01:32:56 +0200 Message-ID: Subject: Re: Metadata CRC error upon unclean unmount From: Fanael Linithien X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount To: Dave Chinner Cc: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 X-Barracuda-Connect: mail-qg0-f49.google.com[209.85.192.49] X-Barracuda-Start-Time: 1403739176 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6951 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 2014-06-26 1:22 GMT+02:00 Dave Chinner : > The before-mount image shows the CRC error, so it didn't come from > log recovery. It may have come from recovery in the previous > iteration, - do you still have the pre-mount images from the prior > iteration before the crash error was detected? I don't have anything from between that log CRC eror and these. Should I try again? From david@fromorbit.com Wed Jun 25 18:53:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D77327F5A for ; Wed, 25 Jun 2014 18:53:02 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id A724B8F8039 for ; Wed, 25 Jun 2014 16:53:02 -0700 (PDT) X-ASG-Debug-ID: 1403740379-04bdf05666631b30001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 4IO1UwRJMEBzLFu9 for ; Wed, 25 Jun 2014 16:53:00 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgGAHdgq1N5LEio/2dsb2JhbABYgw2rRwaZOgGBBxd1hAMBAQU6HCMQCAMYCSUPBSUDIROIQcQBFxaFTYkZB4RDBZpQk2yDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 09:22:59 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1Wzwze-0006sR-5V; Thu, 26 Jun 2014 09:52:46 +1000 Date: Thu, 26 Jun 2014 09:52:46 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140625235246.GP9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140625220336.GN9508@dastard> <20140625232222.GS4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403740379 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6952 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 01:32:56AM +0200, Fanael Linithien wrote: > 2014-06-26 1:22 GMT+02:00 Dave Chinner : > > The before-mount image shows the CRC error, so it didn't come from > > log recovery. It may have come from recovery in the previous > > iteration, - do you still have the pre-mount images from the prior > > iteration before the crash error was detected? > > I don't have anything from between that log CRC eror and these. Should > I try again? It would be aprreciated if you could - I'm trying to reproduce it here but I'm having no luck. I've been crashing CRC enabled filesystems for the past 18 months and I can count on one hand the number of times I've had a CRC error of any time during/after recovery, so I'm not really surprised that... Cheers, Dave -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 19:29:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 01BE77F5E for ; Wed, 25 Jun 2014 19:29:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id D337B8F8071 for ; Wed, 25 Jun 2014 17:29:27 -0700 (PDT) X-ASG-Debug-ID: 1403742553-04cbb06535f9670001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id pYoz8oqk3VyermeK for ; Wed, 25 Jun 2014 17:29:13 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgGAHJoq1N5LEio/2dsb2JhbABYgw2rRwaZOgGBBxd1hAMBAQU6HCMQCAMYCSUPBSUDIROIQcQCFxaFTYkZB4RDBZpQk2yDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 09:59:12 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzxYh-0006x7-O6; Thu, 26 Jun 2014 10:28:59 +1000 Date: Thu, 26 Jun 2014 10:28:59 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140626002859.GQ9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140625012144.GK9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403742553 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6952 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Wed, Jun 25, 2014 at 11:21:44AM +1000, Dave Chinner wrote: > On Tue, Jun 24, 2014 at 11:50:52PM +0200, Fanael Linithien wrote: > Ok, so the CRC corresponds to the version of the AGI that was logged > at lsn = 0x30000017e. That means the version on disk is a partial > update without a CRC recalculation. Ok, so how can that happen? > > Given the lsn mismatch, I suspect log recovery has played a part as > it will not update the LSN when replaying changes in the log. It > should, however, always be attaching the appropriate verifier to > the buffers being recovered so the CRC should be recalculated > correctly. Ok, I have confirmed that this is occurring and behaving correctly. [ 24.437878] XFS (vdb): Mounting V5 Filesystem [ 24.554429] XFS (vdb): Starting recovery (logdev: internal) [ 24.623466] XFS (vdb): xfs_agi_write_verify: lsn reset block 0x2 [ 24.625263] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x8 [ 24.627307] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x10 [ 24.628729] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x18 [ 24.630085] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20000 [ 24.631504] XFS (vdb): xfs_da3_node_write_verify: lsn reset block 0x20008 [ 24.632935] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20010 [ 24.634360] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20018 [ 24.635622] XFS (vdb): xfs_dir3_free_write_verify: lsn reset block 0x201e0 [ 24.636656] XFS (vdb): __write_verify: lsn reset block 0x201e8 [ 24.637510] XFS (vdb): __write_verify: lsn reset block 0x201f0 [ 24.638365] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x201f8 [ 24.639378] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202c0 [ 24.640397] XFS (vdb): __write_verify: lsn reset block 0x202c8 [ 24.641260] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202d0 [ 24.664330] XFS (vdb): Ending recovery (logdev: internal) But that also confirms that log recovery is recalculating the CRC after replaying changes into that block: # xfs_db -c "agi 0" -c "p lsn" -c "p crc" /dev/vdb lsn = 0xffffffffffffffff crc = 0x788c4f63 (correct) So the common log recovery path for buffers is working as it is designed to do. What I still don't understand yet is how changes after this recovery phase are getting to disk without updating the CRC. That implies buffers without verifiers being written.... More debug to come... Cheers, Dave. -- Dave Chinner david@fromorbit.com From 3l3yrUwsJA-AUGETGVGbLFTIOCKN.EQOZHUQUU.UIK.EQO@trix.bounces.google.com Wed Jun 25 20:51:24 2014 Return-Path: <3l3yrUwsJA-AUGETGVGbLFTIOCKN.EQOZHUQUU.UIK.EQO@trix.bounces.google.com> X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=FREEMAIL_FROM,FREEMAIL_REPLY, HTML_MESSAGE,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 68E727F60 for ; Wed, 25 Jun 2014 20:51:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 531E930404E for ; Wed, 25 Jun 2014 18:51:24 -0700 (PDT) X-ASG-Debug-ID: 1403747479-04cb6c76cf2cff30001-NocioJ Received: from mail-ve0-f199.google.com (mail-ve0-f199.google.com [209.85.128.199]) by cuda.sgi.com with ESMTP id NDjTpCvEPcBDnZei (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 25 Jun 2014 18:51:20 -0700 (PDT) X-Barracuda-Envelope-From: 3l3yrUwsJA-AUGETGVGbLFTIOCKN.EQOZHUQUU.UIK.EQO@trix.bounces.google.com X-Barracuda-Apparent-Source-IP: 209.85.128.199 X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.128.199] Received: by mail-ve0-f199.google.com with SMTP id oy12so5632411veb.2 for ; Wed, 25 Jun 2014 18:51:19 -0700 (PDT) X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.128.199] X-Barracuda-IPDD: Level1 [trix.bounces.google.com/209.85.128.199] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:message-id:date:subject:from:to:content-type; bh=AHbqUmOJudkKWyiHAHGMFW18n8K6vo9XYuJrYm2joLA=; b=PtWu9XB77/Nm1KadvtuH+on74Yk99NG/FbSBbpGeGNMYizez/duz8e9ZkUmIIv8MRi sMSSNEXB3+RL5xnMW4qEW6ghwndB8AzsQ3pvJro2I4yaf8E+lPRlW3JuGJ3/D1ls53iZ 1WjsXn/xe5vM4boTFjep1pZBCgv4QQgc9PcPhAoCh5m+i3THl2n200Ke2T7scy+1gyCd tNB9F3XK2icilndCCTzaM1aQshJbGJe2Ce0XnDHgh7maDYPZ1J5MdBsKe6JhhnGpcTBB cH5Tju5DiOYVr2TAxKyx/7bn6EwAATlym0gextRBpHd0eVQ1DNooJ1KsHObnlzDcqU86 rRLw== MIME-Version: 1.0 X-Received: by 10.58.147.69 with SMTP id ti5mt9743278veb.8.1403747479295; Wed, 25 Jun 2014 18:51:19 -0700 (PDT) Message-ID: <047d7b677b7edba18304fcb36dd4@google.com> Date: Thu, 26 Jun 2014 01:51:19 +0000 Subject: =?GB2312?B?zeLDs9b3tq/KvdOqz/qzyc6qzeLDs9eq0M3QwsK3vrY=?= From: secretezjdr@gmail.com X-ASG-Orig-Subj: =?GB2312?B?zeLDs9b3tq/KvdOqz/qzyc6qzeLDs9eq0M3QwsK3vrY=?= To: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=047d7b677b7eddbc9104fcb36d5c X-Barracuda-Connect: mail-ve0-f199.google.com[209.85.128.199] X-Barracuda-Start-Time: 1403747480 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, NO_REAL_NAME X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6954 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 NO_REAL_NAME From: does not include a real name -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --047d7b677b7eddbc9104fcb36d5c Content-Type: text/plain; charset=GB2312; format=flowed; delsp=yes Content-Transfer-Encoding: base64 vbW1zc3iw7PStc7x1LG/zbunv6q3osPFvPejrLK7wMu30cqxvOTU2sCsu/jRr8XMye3Jzw0KyKvH 8tb3wfe/zbunv6q3ore9yr2jug0Kzt7C27TzoaLW0KGi0KHG89K1u/Jzb2hv08O7p7a8v8nKytPD o6yy2df3vPK1paOsudzA7bj8x+HLyaGivNu48cq1u92how0Ky6vPssjtvP4gzeLDs7/Nu6fL0cv3 0+u/qreiyO28/s+1zbOhqqGq1ve2r7/sy9nL0cv3yKvH8sS/seq/zbunyLqjrNbHxNzSuw0KttTS u9fUtq+3osvN08q8/sfhy8m/qreiv827p6GjDQrE+s/rytTK1Nb3tq+z9rv3v6q3osr009rE+rXE taW2wNPF1sq/zbun0a/FzMLwo78NCg0KMjUzNTg0NzE4NkBxcS5jb20gwarPtVFR08rP5A0Ku/LW sb3TvNNRUcGqz7WjrLj4xPrU2s/fstnX99Hdyr7I7bz+tcS/zbuny9HL976r17y2yLyw0Ke5+w0K 16Ojusn60uLQy8Kho6ENCg0KDQoNCg0KDQoNCg0KztLS0dH7x+vE+szu0LSx7bWlIM60w/zD+7XE se21paGjINKqzO7QtLTLse21paOsx+u3w87Ko7oNCmh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2Zv cm1zL2QvMUM5WHFKUzExczlNM1pRNGUwQmhfR2RiMmhsZ0U2Qjk2b2pNb2ZfY0RUMDAvdmlld2Zv cm0/Yz0wJnc9MSZ1c3A9bWFpbF9mb3JtX2xpbmsNCg== --047d7b677b7eddbc9104fcb36d5c Content-Type: text/html; charset=GB2312 Content-Transfer-Encoding: quoted-printable

=BD=B5=B5=CD=CD=E2=C3=B3=D2=B5=CE=F1= =D4=B1=BF=CD=BB=A7=BF=AA=B7=A2=C3=C5=BC=F7=A3=AC=B2=BB=C0=CB=B7=D1=CA=B1=BC= =E4=D4=DA=C0=AC=BB=F8=D1=AF=C5=CC=C9=ED=C9=CF

=C8=AB=C7=F2=D6=F7=C1=F7=BF= =CD=BB=A7=BF=AA=B7=A2=B7=BD=CA=BD=A3=BA

=CE=DE=C2=DB=B4=F3=A1=A2=D6=D0= =A1=A2=D0=A1=C6=F3=D2=B5=BB=F2soho=D3=C3=BB=A7=B6=BC=BF=C9=CA=CA=D3=C3=A3= =AC=B2=D9=D7=F7=BC=F2=B5=A5=A3=AC=B9=DC=C0=ED=B8=FC=C7=E1=CB=C9=A1=A2=BC=DB= =B8=F1=CA=B5=BB=DD=A1=A3

=CB=AB=CF=B2=C8=ED=BC=FE =CD=E2=C3=B3=BF=CD=BB= =A7=CB=D1=CB=F7=D3=EB=BF=AA=B7=A2=C8=ED=BC=FE=CF=B5=CD=B3=A1=AA=A1=AA=D6=F7= =B6=AF=BF=EC=CB=D9=CB=D1=CB=F7=C8=AB=C7=F2=C4=BF=B1=EA=BF=CD=BB=A7=C8=BA=A3= =AC=D6=C7=C4=DC=D2=BB=B6=D4=D2=BB=D7=D4=B6=AF=B7=A2=CB=CD=D3=CA=BC=FE=C7=E1= =CB=C9=BF=AA=B7=A2=BF=CD=BB=A7=A1=A3

=C4=FA=CF=EB=CA=D4=CA=D4=D6=F7=B6=AF= =B3=F6=BB=F7=BF=AA=B7=A2=CA=F4=D3=DA=C4=FA=B5=C4=B5=A5=B6=C0=D3=C5=D6=CA=BF= =CD=BB=A7=D1=AF=C5=CC=C2=F0=A3=BF


2535847186@qq.com =C1=AA=CF=B5QQ=D3=CA=CF=E4

=BB=F2=D6= =B1=BD=D3=BC=D3QQ=C1=AA=CF=B5=A3=AC=B8=F8=C4=FA=D4=DA=CF=DF=B2=D9=D7=F7=D1= =DD=CA=BE=C8=ED=BC=FE=B5=C4=BF=CD=BB=A7=CB=D1=CB=F7=BE=AB=D7=BC=B6=C8=BC=B0= =D0=A7=B9=FB

=D7=A3=A3=BA=C9=FA= =D2=E2=D0=CB=C2=A1=A3=A1

=C8=E7=B9=FB=B2=E9=BF=B4=BB=F2=CC=E1=BD=BB=B8=C3=B1=ED=B5=A5=CA=B1=D3=D0=CE= =CA=CC=E2=A3=AC=C7=EB=D4=DA=CF=DF=CC=EE=D0=B4=B8=C3=B1=ED=B5=A5=A3=BA
= https://docs.google.com/forms/d/1C9XqJS11s9M3ZQ4e0Bh_Gdb2hlgE6B96ojMof_cDT0= 0/viewform?c=3D0&w=3D1&usp=3Dmail_form_link

=CE=B4=C3=FC=C3=FB= =B5=C4=B1=ED=B5=A5

    = =C7=D0=CE=F0=CD=A8=B9=FD Google =B1=ED=B5=A5=CC=E1=BD=BB=C3=DC=C2=EB=A1=A3<= /div>
= =BC=BC=CA=F5=CC=E1=B9=A9=A3=BA
3D"Google
=B4=CB=C4=DA=C8=DD=B2=BB=CA=C7= =D3=C9 Google =CB=F9=B4=B4=BD=A8=A3=ACGoogle =B2=BB=B6=D4=C6=E4=D7=F7=C8=CE= =BA=CE=B5=A3=B1=A3=A1=A3
=BE=D9=B1=A8=C0=C4=D3=C3=D0=D0=CE=AA - =B7=FE=CE=F1=CC= =F5=BF=EE - =C6=E4= =CB=FB=CC=F5=BF=EE

<= /html> --047d7b677b7eddbc9104fcb36d5c-- From david@fromorbit.com Wed Jun 25 21:23:58 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 37C047F62 for ; Wed, 25 Jun 2014 21:23:58 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id B5360AC001 for ; Wed, 25 Jun 2014 19:23:54 -0700 (PDT) X-ASG-Debug-ID: 1403749428-04cbb06536fee80001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 9dIL71DwivtjzOfn for ; Wed, 25 Jun 2014 19:23:49 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgGAJmDq1N5LEio/2dsb2JhbABYgw2rTAaZOgGBCBd1hAMBAQUnExwjEAgDGAklDwUlAyETiEHEBBcWhU2INWQHhEMFmlCTbINUK4Ex Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 11:53:47 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1WzzLa-0007D4-II; Thu, 26 Jun 2014 12:23:34 +1000 Date: Thu, 26 Jun 2014 12:23:34 +1000 From: Dave Chinner To: Fanael Linithien Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140626022334.GR9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626002859.GQ9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403749428 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6954 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 10:28:59AM +1000, Dave Chinner wrote: > On Wed, Jun 25, 2014 at 11:21:44AM +1000, Dave Chinner wrote: > > On Tue, Jun 24, 2014 at 11:50:52PM +0200, Fanael Linithien wrote: > > Ok, so the CRC corresponds to the version of the AGI that was logged > > at lsn = 0x30000017e. That means the version on disk is a partial > > update without a CRC recalculation. Ok, so how can that happen? > > > > Given the lsn mismatch, I suspect log recovery has played a part as > > it will not update the LSN when replaying changes in the log. It > > should, however, always be attaching the appropriate verifier to > > the buffers being recovered so the CRC should be recalculated > > correctly. > > Ok, I have confirmed that this is occurring and behaving correctly. > > [ 24.437878] XFS (vdb): Mounting V5 Filesystem > [ 24.554429] XFS (vdb): Starting recovery (logdev: internal) > [ 24.623466] XFS (vdb): xfs_agi_write_verify: lsn reset block 0x2 > [ 24.625263] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x8 > [ 24.627307] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x10 > [ 24.628729] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x18 > [ 24.630085] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20000 > [ 24.631504] XFS (vdb): xfs_da3_node_write_verify: lsn reset block 0x20008 > [ 24.632935] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20010 > [ 24.634360] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20018 > [ 24.635622] XFS (vdb): xfs_dir3_free_write_verify: lsn reset block 0x201e0 > [ 24.636656] XFS (vdb): __write_verify: lsn reset block 0x201e8 > [ 24.637510] XFS (vdb): __write_verify: lsn reset block 0x201f0 > [ 24.638365] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x201f8 > [ 24.639378] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202c0 > [ 24.640397] XFS (vdb): __write_verify: lsn reset block 0x202c8 > [ 24.641260] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202d0 > [ 24.664330] XFS (vdb): Ending recovery (logdev: internal) > > But that also confirms that log recovery is recalculating the CRC > after replaying changes into that block: > > # xfs_db -c "agi 0" -c "p lsn" -c "p crc" /dev/vdb > lsn = 0xffffffffffffffff > crc = 0x788c4f63 (correct) > > So the common log recovery path for buffers is working as it is > designed to do. > > What I still don't understand yet is how changes after this recovery > phase are getting to disk without updating the CRC. That implies > buffers without verifiers being written.... > > More debug to come... Can you apply this patch and run your tests? If should spew warnings to dmesg if a metadata buffer is ever written without an ops structure attached to it (i.e. won't have CRCs recalculated). Cheers, Dave. -- Dave Chinner david@fromorbit.com xfs: spew warnings on cached buffers without b_ops callbacks. Signed-off-by: Dave Chinner --- fs/xfs/xfs_buf.c | 6 ++++++ fs/xfs/xfs_log.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index a6dc83e..95e5516 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1330,6 +1330,12 @@ _xfs_buf_ioapply( SHUTDOWN_CORRUPT_INCORE); return; } + } else if (bp->b_bn != -1LL) { + xfs_warn(bp->b_target->bt_mount, + "%s: no ops on block 0x%llx/0x%llx", + __func__, bp->b_bn, bp->b_maps[0].bm_bn); + xfs_hex_dump(bp->b_addr, 64); + dump_stack(); } } else if (bp->b_flags & XBF_READ_AHEAD) { rw = READA; diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 7647818..ecf2048 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -1369,8 +1369,13 @@ xlog_alloc_log( xlog_get_iclog_buffer_size(mp, log); + /* + * Use a block number of -1 for the extra log buffer used during splits + * so that it will trigger errors if we ever try to do IO on it without + * first having set it up properly. + */ error = -ENOMEM; - bp = xfs_buf_alloc(mp->m_logdev_targp, 0, BTOBB(log->l_iclog_size), 0); + bp = xfs_buf_alloc(mp->m_logdev_targp, -1LL, BTOBB(log->l_iclog_size), 0); if (!bp) goto out_free_log; From david@fromorbit.com Wed Jun 25 23:10:43 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id A02FA7F66 for ; Wed, 25 Jun 2014 23:10:43 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 556E78F804C for ; Wed, 25 Jun 2014 21:10:40 -0700 (PDT) X-ASG-Debug-ID: 1403755837-04bdf0566763fb70001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id Ya2ewsLDszcqiBny for ; Wed, 25 Jun 2014 21:10:37 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqMGAHGcq1N5LEio/2dsb2JhbABYgw2rUpk6AYEIF3WEAwEBBTocIxAIAw4KCSUPBSUDIROIQcN6FxaFTYV3AYMhB4RDAQSaUIs3iDWDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 13:40:17 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X010d-0007Q2-Sg; Thu, 26 Jun 2014 14:10:03 +1000 Date: Thu, 26 Jun 2014 14:10:03 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() Message-ID: <20140626041003.GU4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-2-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-2-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403755837 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6956 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:29AM -0400, Brian Foster wrote: > xfs_mountfs() has a couple failure conditions that do not jump to the > correct labels. Specifically: > > - xfs_initialize_perag_data() failure does not deallocate the log even > though it occurs after log initialization > - xfs_mount_reset_sbqflags() failure returns the error directly rather > than jump to the error sequence > > Signed-off-by: Brian Foster Looks good. Reviewed-by: Dave Chinner Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 23:13:47 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id CF8CC7F66 for ; Wed, 25 Jun 2014 23:13:47 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 774EE8F8035 for ; Wed, 25 Jun 2014 21:13:47 -0700 (PDT) X-ASG-Debug-ID: 1403756025-04bdf0566663fe40001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id HFXNE6achCUJOWNH for ; Wed, 25 Jun 2014 21:13:45 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgGAJ2dq1N5LEio/2dsb2JhbABYgw2rTAaZOgGBCBd1hAMBAQU6HCMQCAMOCgklDwUlAyETiEHDehcWhU2JGQeEQwWaUJNsg1Qr Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 13:43:43 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X013y-0007Qo-8b; Thu, 26 Jun 2014 14:13:30 +1000 Date: Thu, 26 Jun 2014 14:13:30 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 2/6] xfs: add a sysfs kset Message-ID: <20140626041330.GV4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 2/6] xfs: add a sysfs kset References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-3-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-3-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403756025 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6956 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:30AM -0400, Brian Foster wrote: > Create a sysfs kset to contain all sub-objects associated with the XFS > module. The kset is created and removed on module initialization and > removal respectively. The kset uses fs_obj as a parent. This leads to > the creation of a /sys/fs/xfs directory when the kset exists. > > Signed-off-by: Brian Foster Looks good. Reviewed-by: Dave Chinner Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 23:29:57 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 4276C7F6B for ; Wed, 25 Jun 2014 23:29:57 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0942C304048 for ; Wed, 25 Jun 2014 21:29:56 -0700 (PDT) X-ASG-Debug-ID: 1403756979-04cbb06535104ab0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id hXDcKfFPwE5pVtn4 for ; Wed, 25 Jun 2014 21:29:39 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApEHACGhq1N5LEio/2dsb2JhbABZgw2DSad/AQEBAQEBBplZAYEJF3WEAwEBBTocIxAIAw4KCSUPBSUDIROIQcMvFxeFTYkcB4RDBZpXiziIOINUKw Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 13:59:38 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X01JN-0007SU-M9; Thu, 26 Jun 2014 14:29:25 +1000 Date: Thu, 26 Jun 2014 14:29:25 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 3/6] xfs: add xfs_mount sysfs kobject Message-ID: <20140626042925.GW4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 3/6] xfs: add xfs_mount sysfs kobject References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-4-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-4-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403756979 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6956 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:31AM -0400, Brian Foster wrote: > Embed a base kobject into xfs_mount. This creates a kobject associated > with each XFS mount and a subdirectory in sysfs with the name of the > filesystem. The subdirectory lifecycle matches that of the mount. Also > add the new xfs_sysfs.[c,h] source files with some XFS sysfs > infrastructure to facilitate attribute creation. > > Note that there are currently no attributes exported as part of the > xfs_mount kobject. It exists solely to serve as a per-mount container > for child objects. > > Signed-off-by: Brian Foster .... > +#include > +#include "xfs.h" > +#include "xfs_types.h" > +#include "xfs_sb.h" > +#include "xfs_trans_resv.h" > +#include "xfs_ag.h" > +#include "xfs_mount.h" > + > +struct xfs_sysfs_attr { > + struct attribute attr; > + ssize_t (*show)(char *buf, void *data); > + ssize_t (*store)(const char *buf, size_t count, void *data); > +}; > + > +#define XFS_SYSFS_ATTR_RW(name) \ > + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RW(name) > +#define XFS_SYSFS_ATTR_RO(name) \ > + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RO(name) > + > +#define ATTR_LIST(name) &xfs_sysfs_attr_##name.attr Not a fan of the sysfs attribute stuff, but it's a generic pattern so at least the pain is shared by everyone... Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 23:47:40 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E21EE7F6D for ; Wed, 25 Jun 2014 23:47:40 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 8AF598F804B for ; Wed, 25 Jun 2014 21:47:40 -0700 (PDT) X-ASG-Debug-ID: 1403758057-04cb6c76d02d80f0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id hAAHP3R47BTU7vSs for ; Wed, 25 Jun 2014 21:47:37 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApEHAKWkq1N5LEio/2dsb2JhbABZgw2DSad/AQEBAQEBBplZAYEJF3WEAwEBBScTHCMQCAMOCgklDwUlAyETiEHDMxcXhU2JHAeEQwWaV5Nwg1Qr Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 14:17:33 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X01ah-0007UD-QE; Thu, 26 Jun 2014 14:47:19 +1000 Date: Thu, 26 Jun 2014 14:47:19 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers Message-ID: <20140626044719.GX4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-5-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-5-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403758057 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6957 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:32AM -0400, Brian Foster wrote: > Embed a kobject into the xfs log data structure (xlog). This creates a > 'log' subdirectory for every XFS mount instance in sysfs. The lifecycle > of the log kobject is tied to the lifecycle of the log. > > Also define a set of generic attribute handlers associated with the log > kobject in preparation for the addition of attributes. The code works fine, but.... > > Signed-off-by: Brian Foster > --- > fs/xfs/xfs_log.c | 9 +++++++++ > fs/xfs/xfs_log_priv.h | 3 +++ > fs/xfs/xfs_sysfs.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ > fs/xfs/xfs_sysfs.h | 1 + > 4 files changed, 66 insertions(+) > > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > index 292308d..8eb10d5 100644 > --- a/fs/xfs/xfs_log.c > +++ b/fs/xfs/xfs_log.c > @@ -34,6 +34,7 @@ > #include "xfs_trace.h" > #include "xfs_fsops.h" > #include "xfs_cksum.h" > +#include "xfs_sysfs.h" > > kmem_zone_t *xfs_log_ticket_zone; > > @@ -707,6 +708,11 @@ xfs_log_mount( > } > } > > + error = xfs_sysfs_init(&mp->m_log->l_kobject, &xfs_log_ktype, > + &mp->m_log->l_kobject_complete, &mp->m_kobject, "log"); > + if (error) > + goto out_destroy_ail; ... that's, ummm, rather verbose. At minimum, a local log variable, but I suspect that if the pattern of "all sysfs dirs have a kobject and a completion" and they are always used together that maybe we should have a: struct xfs_kobj { struct kobject kobj; struct completion complete; }; And we pass them around instead. that would make this: error = xfs_sysfs_init(&log->l_kobj, &xfs_log_ktype, &mp->m_kobj, "log"); which is much easier to read.... > + > /* Normal transactions can now occur */ > mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; > > @@ -947,6 +953,9 @@ xfs_log_unmount( > xfs_log_quiesce(mp); > > xfs_trans_ail_destroy(mp); > + > + xfs_sysfs_del(&mp->m_log->l_kobject, &mp->m_log->l_kobject_complete); And that would become: xfs_sysfs_del(&log->l_kobj); > + > xlog_dealloc_log(mp->m_log); > } > > diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h > index 9bc403a..ce1eee2 100644 > --- a/fs/xfs/xfs_log_priv.h > +++ b/fs/xfs/xfs_log_priv.h > @@ -405,6 +405,9 @@ struct xlog { > struct xlog_grant_head l_reserve_head; > struct xlog_grant_head l_write_head; > > + struct kobject l_kobject; > + struct completion l_kobject_complete; struct xfs_kobj l_kobj; > + > /* The following field are used for debugging; need to hold icloglock */ > #ifdef DEBUG > char *l_iclog_bak[XLOG_MAX_ICLOGS]; > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > index 41365fe..f837527 100644 > --- a/fs/xfs/xfs_sysfs.c > +++ b/fs/xfs/xfs_sysfs.c > @@ -54,3 +54,56 @@ xfs_mp_release(struct kobject *kobj) > struct kobj_type xfs_mp_ktype = { > .release = xfs_mp_release, > }; > + > +/* xlog */ > + > +static struct attribute *xfs_log_attrs[] = { > + NULL, > +}; > + > +STATIC ssize_t > +xfs_log_show( > + struct kobject *kobj, > + struct attribute *attr, > + char *buf) > +{ > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > + struct xfs_sysfs_attr *xfs_attr = container_of(attr, > + struct xfs_sysfs_attr, attr); > + > + return xfs_attr->show ? xfs_attr->show(buf, log) : 0; I think this could be made much less verbose: static inline struct xlog * to_xlog(struct kobject *kobj) { return container_of(...) } static inline struct xfs_sysfs_attr * to_attr(struct attribute *attr) { return container_of(...) } so this becomes: { struct xlog *log = to_xlog(kobj); struct xfs_sysfs_attr *attr = to_attr(kattr); return attr->show ? attr->show(buf, log) : 0; } > +} > + > +STATIC ssize_t > +xfs_log_store( > + struct kobject *kobj, > + struct attribute *attr, > + const char *buf, > + size_t count) > +{ > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > + struct xfs_sysfs_attr *xfs_attr = container_of(attr, > + struct xfs_sysfs_attr, attr); > + > + return xfs_attr->store ? xfs_attr->store(buf, count, log) : 0; > +} > + > +static struct sysfs_ops xfs_log_ops = { > + .show = xfs_log_show, > + .store = xfs_log_store, > +}; > + > +STATIC void > +xfs_log_release(struct kobject *kobj) > +{ > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > + > + complete(&log->l_kobject_complete); > +} If the release funtion is common with other types, then the xfs_kobj structure is perfect for this use - it will prevent a heap of duplicated release functions... Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Wed Jun 25 23:53:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id E18E57F6D for ; Wed, 25 Jun 2014 23:53:36 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id B80978F8054 for ; Wed, 25 Jun 2014 21:53:36 -0700 (PDT) X-ASG-Debug-ID: 1403758414-04cbb06536105d50001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id ofuuVWptODoYITyB for ; Wed, 25 Jun 2014 21:53:34 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApMHAMWmq1N5LEio/2dsb2JhbABZgw2DSad/AQEBAQEBBpg4gSEBgQkXdYQDAQEFJxMcIxAIAw4KCSUPBSUDIROIQcMvFxeFTYkcB4RDBZpXk3CDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 14:23:10 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X01g8-0007Uy-4z; Thu, 26 Jun 2014 14:52:56 +1000 Date: Thu, 26 Jun 2014 14:52:56 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data Message-ID: <20140626045256.GY4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-6-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-6-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403758414 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6957 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:33AM -0400, Brian Foster wrote: > Create log attributes to export the current runtime state of the log to > sysfs. Note that the filesystem should be frozen for consistency across > attributes. > > The following per-mount attributes are created: log_head_lsn, > log_tail_lsn, reserve_grant_head and write_grant_head. These represent > the physical log head, tail and reserve and write grant heads > respectively. Attribute values are exported in the following format: > > "cycle:[block,byte]" > > ... where cycle represents the log cycle and [block,bytes] represents > either the basic block or byte offset of the log, depending on the > attribute. Log sequence number (LSN) values are encoded in basic blocks > and grant heads are encoded in bytes. All values are in decimal format. > > Signed-off-by: Brian Foster > --- > fs/xfs/xfs_sysfs.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 66 insertions(+) > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > index f837527..fbd82d5 100644 > --- a/fs/xfs/xfs_sysfs.c > +++ b/fs/xfs/xfs_sysfs.c > @@ -23,6 +23,9 @@ > #include "xfs_trans_resv.h" > #include "xfs_ag.h" > #include "xfs_mount.h" > +#include "xfs_log_format.h" > +#include "xfs_log.h" > +#include "xfs_log_priv.h" > > struct xfs_sysfs_attr { > struct attribute attr; > @@ -57,7 +60,70 @@ struct kobj_type xfs_mp_ktype = { > > /* xlog */ > > +STATIC ssize_t > +log_head_lsn_show( > + char *buf, > + void *data) > +{ > + struct xlog *log = data; > + int ret; > + > + spin_lock(&log->l_icloglock); > + ret = snprintf(buf, PAGE_SIZE, "%d:%d\n", log->l_curr_cycle, > + log->l_curr_block); > + spin_unlock(&log->l_icloglock); I'd keep the snprintf() outside the iclog lock, just so sampling perturbs behaviour as little as possible. i.e. use cycle/block locals as per all the others. Otherwise, looks good. Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Jun 26 00:04:29 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C1C997F74 for ; Thu, 26 Jun 2014 00:04:29 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 51E9EAC003 for ; Wed, 25 Jun 2014 22:04:26 -0700 (PDT) X-ASG-Debug-ID: 1403759063-04bdf056666427f0001-NocioJ Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by cuda.sgi.com with ESMTP id 1cJLFCBqCf3fGALO for ; Wed, 25 Jun 2014 22:04:23 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.131 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApEHAB2pq1N5LEio/2dsb2JhbABZgw2DSad/AQEBAQEBBplZAYEJF3WEAwEBBTocIxAIAw4KCSUPBSUDIROIQcMwFxeFTYkcB4RDBZpXk3CDVCs Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail07.adl2.internode.on.net with ESMTP; 26 Jun 2014 14:33:59 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X01qb-0007XH-Sr; Thu, 26 Jun 2014 15:03:45 +1000 Date: Thu, 26 Jun 2014 15:03:45 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI Message-ID: <20140626050345.GZ4453@dastard> X-ASG-Orig-Subj: Re: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-7-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1402060414-22075-7-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail07.adl2.internode.on.net[150.101.137.131] X-Barracuda-Start-Time: 1403759063 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6957 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 06, 2014 at 09:13:34AM -0400, Brian Foster wrote: > Create a sysfs-fs-xfs ABI documentation file for newly added sysfs > attributes. This is created under the testing section. > > Signed-off-by: Brian Foster Looks fine, but I'm not sure we ever want people to think these are going to form part of the stable XFS ABI - they are encodings of deeply internal functionality of XFS. We're not going to be tied to an implementation because of diagnostic information we expose to to sysfs, so users need to know that this is a volatile interface. Hence I'd suggest adding a disclaimer indicating that these not ever guaranteed to be stable and could change or be removed at any time without warning. Say, for example, we add another description line like this: Stability: Volatile We can then point out the entries that are we'll never guarantee are stable, those that we are stabilising, and those that are considered stable easily? Cheers, Dave. -- Dave Chinner david@fromorbit.com From bfoster@redhat.com Thu Jun 26 07:29:00 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 12DD07F75 for ; Thu, 26 Jun 2014 07:29:00 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id E50548F804C for ; Thu, 26 Jun 2014 05:28:59 -0700 (PDT) X-ASG-Debug-ID: 1403785738-04cbb06537131a90001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 6LQBaGs26B3xLcWQ (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 05:28:58 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCSuK3028941 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jun 2014 08:28:56 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCSu4O030268; Thu, 26 Jun 2014 08:28:56 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 2B061120188; Thu, 26 Jun 2014 08:28:55 -0400 (EDT) Date: Thu, 26 Jun 2014 08:28:55 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers Message-ID: <20140626122854.GA37470@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-5-git-send-email-bfoster@redhat.com> <20140626044719.GX4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626044719.GX4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403785738 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 26, 2014 at 02:47:19PM +1000, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 09:13:32AM -0400, Brian Foster wrote: > > Embed a kobject into the xfs log data structure (xlog). This creates a > > 'log' subdirectory for every XFS mount instance in sysfs. The lifecycle > > of the log kobject is tied to the lifecycle of the log. > > > > Also define a set of generic attribute handlers associated with the log > > kobject in preparation for the addition of attributes. > > The code works fine, but.... > > > > Signed-off-by: Brian Foster > > --- > > fs/xfs/xfs_log.c | 9 +++++++++ > > fs/xfs/xfs_log_priv.h | 3 +++ > > fs/xfs/xfs_sysfs.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ > > fs/xfs/xfs_sysfs.h | 1 + > > 4 files changed, 66 insertions(+) > > > > diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c > > index 292308d..8eb10d5 100644 > > --- a/fs/xfs/xfs_log.c > > +++ b/fs/xfs/xfs_log.c > > @@ -34,6 +34,7 @@ > > #include "xfs_trace.h" > > #include "xfs_fsops.h" > > #include "xfs_cksum.h" > > +#include "xfs_sysfs.h" > > > > kmem_zone_t *xfs_log_ticket_zone; > > > > @@ -707,6 +708,11 @@ xfs_log_mount( > > } > > } > > > > + error = xfs_sysfs_init(&mp->m_log->l_kobject, &xfs_log_ktype, > > + &mp->m_log->l_kobject_complete, &mp->m_kobject, "log"); > > + if (error) > > + goto out_destroy_ail; > > ... that's, ummm, rather verbose. At minimum, a local log variable, > but I suspect that if the pattern of "all sysfs dirs have a kobject > and a completion" and they are always used together that maybe > we should have a: > > struct xfs_kobj { > struct kobject kobj; > struct completion complete; > }; > > And we pass them around instead. that would make this: > > error = xfs_sysfs_init(&log->l_kobj, &xfs_log_ktype, > &mp->m_kobj, "log"); > > which is much easier to read.... > Indeed, that's a nice cleanup. > > + > > /* Normal transactions can now occur */ > > mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; > > > > @@ -947,6 +953,9 @@ xfs_log_unmount( > > xfs_log_quiesce(mp); > > > > xfs_trans_ail_destroy(mp); > > + > > + xfs_sysfs_del(&mp->m_log->l_kobject, &mp->m_log->l_kobject_complete); > > And that would become: > > xfs_sysfs_del(&log->l_kobj); > > > + > > xlog_dealloc_log(mp->m_log); > > } > > > > diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h > > index 9bc403a..ce1eee2 100644 > > --- a/fs/xfs/xfs_log_priv.h > > +++ b/fs/xfs/xfs_log_priv.h > > @@ -405,6 +405,9 @@ struct xlog { > > struct xlog_grant_head l_reserve_head; > > struct xlog_grant_head l_write_head; > > > > + struct kobject l_kobject; > > + struct completion l_kobject_complete; > > struct xfs_kobj l_kobj; > > > + > > /* The following field are used for debugging; need to hold icloglock */ > > #ifdef DEBUG > > char *l_iclog_bak[XLOG_MAX_ICLOGS]; > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > > index 41365fe..f837527 100644 > > --- a/fs/xfs/xfs_sysfs.c > > +++ b/fs/xfs/xfs_sysfs.c > > @@ -54,3 +54,56 @@ xfs_mp_release(struct kobject *kobj) > > struct kobj_type xfs_mp_ktype = { > > .release = xfs_mp_release, > > }; > > + > > +/* xlog */ > > + > > +static struct attribute *xfs_log_attrs[] = { > > + NULL, > > +}; > > + > > +STATIC ssize_t > > +xfs_log_show( > > + struct kobject *kobj, > > + struct attribute *attr, > > + char *buf) > > +{ > > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > > > + struct xfs_sysfs_attr *xfs_attr = container_of(attr, > > + struct xfs_sysfs_attr, attr); > > + > > + return xfs_attr->show ? xfs_attr->show(buf, log) : 0; > > I think this could be made much less verbose: > > static inline struct xlog * > to_xlog(struct kobject *kobj) > { > return container_of(...) > } > > static inline struct xfs_sysfs_attr * > to_attr(struct attribute *attr) > { > return container_of(...) > } > > so this becomes: > > { > struct xlog *log = to_xlog(kobj); > struct xfs_sysfs_attr *attr = to_attr(kattr); > > return attr->show ? attr->show(buf, log) : 0; > } > OK. > > > +} > > + > > +STATIC ssize_t > > +xfs_log_store( > > + struct kobject *kobj, > > + struct attribute *attr, > > + const char *buf, > > + size_t count) > > +{ > > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > > + struct xfs_sysfs_attr *xfs_attr = container_of(attr, > > + struct xfs_sysfs_attr, attr); > > + > > + return xfs_attr->store ? xfs_attr->store(buf, count, log) : 0; > > +} > > + > > +static struct sysfs_ops xfs_log_ops = { > > + .show = xfs_log_show, > > + .store = xfs_log_store, > > +}; > > + > > +STATIC void > > +xfs_log_release(struct kobject *kobj) > > +{ > > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > > + > > + complete(&log->l_kobject_complete); > > +} > > If the release funtion is common with other types, then the xfs_kobj > structure is perfect for this use - it will prevent a heap of > duplicated release functions... > It's going to look virtually the same for every kobject. Unfortunately, it needs to go from kobj->xfs_object->xfs_kobj, so each type requires a unique definition. We might be able to just turn it into a macro or something that takes the appropriate info and reduces the clutter. I'll play around with it. Thanks. Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Thu Jun 26 07:29:36 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 763197F75 for ; Thu, 26 Jun 2014 07:29:36 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 0C6B6AC002 for ; Thu, 26 Jun 2014 05:29:32 -0700 (PDT) X-ASG-Debug-ID: 1403785771-04bdf05667670a60001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id p6lbVOmCRwpfkKzR (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 05:29:31 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCTUV7022025 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jun 2014 08:29:30 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCTUCp030448; Thu, 26 Jun 2014 08:29:30 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 4CBD1120188; Thu, 26 Jun 2014 08:29:29 -0400 (EDT) Date: Thu, 26 Jun 2014 08:29:29 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data Message-ID: <20140626122928.GB37470@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 5/6] xfs: add log attributes for log lsn and grant head data References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-6-git-send-email-bfoster@redhat.com> <20140626045256.GY4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626045256.GY4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403785771 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 26, 2014 at 02:52:56PM +1000, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 09:13:33AM -0400, Brian Foster wrote: > > Create log attributes to export the current runtime state of the log to > > sysfs. Note that the filesystem should be frozen for consistency across > > attributes. > > > > The following per-mount attributes are created: log_head_lsn, > > log_tail_lsn, reserve_grant_head and write_grant_head. These represent > > the physical log head, tail and reserve and write grant heads > > respectively. Attribute values are exported in the following format: > > > > "cycle:[block,byte]" > > > > ... where cycle represents the log cycle and [block,bytes] represents > > either the basic block or byte offset of the log, depending on the > > attribute. Log sequence number (LSN) values are encoded in basic blocks > > and grant heads are encoded in bytes. All values are in decimal format. > > > > Signed-off-by: Brian Foster > > --- > > fs/xfs/xfs_sysfs.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 66 insertions(+) > > > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > > index f837527..fbd82d5 100644 > > --- a/fs/xfs/xfs_sysfs.c > > +++ b/fs/xfs/xfs_sysfs.c > > @@ -23,6 +23,9 @@ > > #include "xfs_trans_resv.h" > > #include "xfs_ag.h" > > #include "xfs_mount.h" > > +#include "xfs_log_format.h" > > +#include "xfs_log.h" > > +#include "xfs_log_priv.h" > > > > struct xfs_sysfs_attr { > > struct attribute attr; > > @@ -57,7 +60,70 @@ struct kobj_type xfs_mp_ktype = { > > > > /* xlog */ > > > > +STATIC ssize_t > > +log_head_lsn_show( > > + char *buf, > > + void *data) > > +{ > > + struct xlog *log = data; > > + int ret; > > + > > + spin_lock(&log->l_icloglock); > > + ret = snprintf(buf, PAGE_SIZE, "%d:%d\n", log->l_curr_cycle, > > + log->l_curr_block); > > + spin_unlock(&log->l_icloglock); > > I'd keep the snprintf() outside the iclog lock, just so sampling > perturbs behaviour as little as possible. i.e. use cycle/block > locals as per all the others. > Ok, will fix... > Otherwise, looks good. > > Reviewed-by: Dave Chinner > Thanks! Brian > -- > Dave Chinner > david@fromorbit.com From bfoster@redhat.com Thu Jun 26 07:30:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C39D27F75 for ; Thu, 26 Jun 2014 07:30:27 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 45E27AC002 for ; Thu, 26 Jun 2014 05:30:27 -0700 (PDT) X-ASG-Debug-ID: 1403785825-04cb6c76d2304fc0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id bFm1AidHb3AU3h0X (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 05:30:25 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCUOGs022247 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jun 2014 08:30:24 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5QCUN3L027256; Thu, 26 Jun 2014 08:30:24 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 02156120188; Thu, 26 Jun 2014 08:30:22 -0400 (EDT) Date: Thu, 26 Jun 2014 08:30:22 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI Message-ID: <20140626123022.GC37470@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 6/6] xfs: document log sysfs attributes in testing ABI References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-7-git-send-email-bfoster@redhat.com> <20140626050345.GZ4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626050345.GZ4453@dastard> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403785825 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 26, 2014 at 03:03:45PM +1000, Dave Chinner wrote: > On Fri, Jun 06, 2014 at 09:13:34AM -0400, Brian Foster wrote: > > Create a sysfs-fs-xfs ABI documentation file for newly added sysfs > > attributes. This is created under the testing section. > > > > Signed-off-by: Brian Foster > > Looks fine, but I'm not sure we ever want people to think these are > going to form part of the stable XFS ABI - they are encodings of > deeply internal functionality of XFS. We're not going to be tied to > an implementation because of diagnostic information we expose to > to sysfs, so users need to know that this is a volatile interface. > I was under the impression that sysfs in general was considered a stable ABI. Perhaps not to the degree of things like system call interfaces, but the Documentation/ABI/README describes the expected lifecycle for these attributes (i.e., testing->stable->obsolete->removed). > Hence I'd suggest adding a disclaimer indicating that these not ever > guaranteed to be stable and could change or be removed at any time > without warning. Say, for example, we add another description line > like this: > > Stability: Volatile > > We can then point out the entries that are we'll never guarantee are > stable, those that we are stabilising, and those that are considered > stable easily? > I'm not against adding another keyword, though I'm curious how this is different from the above. Wouldn't we use the location of the documentation to identify how stable the interface is expected to be? To put it another way, this seems fine under the testing section (but that suggests volatility already), but I wouldn't ever place a "Stability: volatile" attribute under the stable section. Taking a look at the ABI/testing/sysfs-fs-ext4 file, it goes back to 2009 with the most recent update in 2012 and it's still under the testing section. It's not clear if that's by design or just stale documentation, but perhaps that is technically the right approach. E.g., while clearly those attributes aren't still under "testing," they aren't ever going to be considered "stable ABI." That means use them for informational and tuning purposes, don't ever build userspace programs with significant dependence on them, etc. Anything that does grow unique importance (i.e., a future spaceman dependency) can get moved over to stable as we'll expect to provide some kind of deprecation warning and period of backwards compatibility for supported tools. Thoughts? Brian > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com From webmaster@getit11.subsprice.com Thu Jun 26 07:50:45 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,RCVD_NUMERIC_HELO, T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 362C57F7E for ; Thu, 26 Jun 2014 07:50:45 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id DC9838F8066 for ; Thu, 26 Jun 2014 05:50:44 -0700 (PDT) X-ASG-Debug-ID: 1403787036-04bdf05666672da0001-NocioJ Received: from server2.subsprice.com (server2.subsprice.com [115.124.106.61]) by cuda.sgi.com with ESMTP id oMuAcr81ECzKtkmd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 05:50:39 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit11.subsprice.com X-Barracuda-Apparent-Source-IP: 115.124.106.61 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit11.subsprice.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=3WQfZUusE0fGUzQP25OoR3fixKRlHDIx//HheAlNT9k=; b=lrggi3a08fohPlLUWfZyzWjXgTvDAID/veM2OpdGmMyg0+3BefdDIrD0SGTOAk3d7Mk+aovBlyJgW9lEGa3XblIPr26ETh+TM3tTsnx7Bc0Bz9TYoZYVIYAt+PEsN64RCsBZzfDN6w4ykkJuKDup6z3qfjlvdGBKfLMzf94IOhw=; Received: from nobody by server2.subsprice.com with local (Exim 4.82) (envelope-from ) id 1X098M-0005e9-IW for xfs@oss.sgi.com; Thu, 26 Jun 2014 12:50:34 +0000 To: xfs@oss.sgi.com Subject: Looking for an iPhone !! Your search ends here ! Received: from 115.240.10.43 [115.240.10.43] by getit11.subsprice.com with HTTP; Thu, 26 Jun 2014 12:28:17 +0000 X-ASG-Orig-Subj: Looking for an iPhone !! Your search ends here ! Date: Thu, 26 Jun 2014 12:50:34 +0000 From: Lucky Day Reply-To: Lucky Day Message-ID: X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 19 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit11.subsprice.com List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_c3db18bf59f9876bab3e1617814f0e53" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server2.subsprice.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [47 12] X-AntiAbuse: Sender Address Domain - getit11.subsprice.com X-Get-Message-Sender-Via: server2.subsprice.com: uid via acl_c_vhost_owner from authenticated_id: getit11s from //getit11.subsprice.com/mailz/admin/?page=pageaction&action=processqueue&ajaxed=tr /from_h X-Barracuda-Connect: server2.subsprice.com[115.124.106.61] X-Barracuda-Start-Time: 1403787038 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.25 X-Barracuda-Spam-Status: No, SCORE=1.25 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6965 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO --b1_c3db18bf59f9876bab3e1617814f0e53 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Pick Your Gifts From The Below List iPhone 5 Apple iPhone 5 has a 4 LED backlit IPS TFT touchscreen with 326 ppi pixel density.=0A Claim Now=0A Galaxy S5=0A 16 MP Primary Camera IP67 Certificated Dust and Water Resistant Android v4.4.2 OS=0A Claim Now=0A iPhone 5S=0A 8 MP iSight Camera with 15% Large Images Sensor and Aperture of f/2.2 iOS 7 . Claim Now=0A Having trouble to Claim? Call us - 0886-7100355 Email us - info@yepvi.com -- This message was sent to xfs@oss.sgi.com by sonal@getit11.subsprice.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A Or you can opt-out completely=0A from all future mailings. =20 --b1_c3db18bf59f9876bab3e1617814f0e53 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =0A =0A

 

 
3D=
3D"" Pick Your Gifts From The B= elow List =3D""
3D"1"
 
iPhone 5
 
Apple iPhone 5 has a 4 LED backlit IPS TFT touchscreen with= 326 ppi pixel density.
 
Claim Now
3D"2"
 
Galaxy S5
 
16 MP Primary Camera IP67 Certificated Dust and Water Resis= tant Android v4.4.2 OS
 
Claim Now
3D"3"
 
iPhone 5S
 
8 MP iSight Camera with 15% Large Images Sensor and Apertur= e of f/2.2 iOS 7 .
 
Claim Now
&= nbsp;
3D"Hurry!
 
Having trouble to Claim?
Call us - 0886-7100355 Email us - info@yepvi.com

-- =20

This message was sent to xfs@oss.sgi.com by sonal@getit11.subspric= e.com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can opt-out completely from all future mailings.

=0A --b1_c3db18bf59f9876bab3e1617814f0e53-- From roska@mbnet.fi Thu Jun 26 08:02:26 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=HK_LOTTO,HK_RANDOM_REPLYTO autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C6A167F82 for ; Thu, 26 Jun 2014 08:02:26 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id A40D4304062 for ; Thu, 26 Jun 2014 06:02:23 -0700 (PDT) X-ASG-Debug-ID: 1403787734-04cbb06536134410001-NocioJ Received: from sd-mail-sa-02.sanoma.fi (sd-mail-sa-02.sanoma.fi [158.127.30.135]) by cuda.sgi.com with ESMTP id h3fDSTX9phgLwXaC; Thu, 26 Jun 2014 06:02:15 -0700 (PDT) X-Barracuda-Envelope-From: roska@mbnet.fi X-Barracuda-Apparent-Source-IP: 158.127.30.135 Received: from localhost (localhost [127.0.0.1]) by sd-mail-sa-02.sanoma.fi (Postfix) with ESMTP id 1AA5E56067E; Thu, 26 Jun 2014 16:02:14 +0300 (EEST) Received: from sd-mail-sa-02.sanoma.fi ([127.0.0.1]) by localhost (sd-mail-sa-02.sanoma.fi [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MJiy0LeCQ43K; Thu, 26 Jun 2014 16:02:13 +0300 (EEST) Received: from sd-mail-sa-02.sanoma.fi (localhost [127.0.0.1]) by sd-mail-sa-02.sanoma.fi (Postfix) with ESMTP id 4206A560604; Thu, 26 Jun 2014 16:02:10 +0300 (EEST) Received: from webmail.mbnet.fi (158.127.30.141) by sd-mail-sa-02.sanoma.fi (F-Secure/fsigk_smtp/406/sd-mail-sa-02.sanoma.fi); Thu, 26 Jun 2014 16:02:10 +0300 (EEST) X-Virus-Status: clean(F-Secure/fsigk_smtp/406/sd-mail-sa-02.sanoma.fi) Received: from 105.224.36.143 (SquirrelMail authenticated user roska) by webmail.mbnet.fi with HTTP; Thu, 26 Jun 2014 16:02:09 +0300 (EEST) Message-ID: <63008.105.224.36.143.1403787729.squirrel@webmail.mbnet.fi> Date: Thu, 26 Jun 2014 16:02:09 +0300 (EEST) Subject: UNFCCC Raffle Draw From: "Aatu Heino" X-ASG-Orig-Subj: UNFCCC Raffle Draw Reply-To: unfcccc2014@outlook.com User-Agent: SquirrelMail/1.4.3a MIME-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20140626160209_73414" To: undisclosed-recipients:; X-Barracuda-Connect: sd-mail-sa-02.sanoma.fi[158.127.30.135] X-Barracuda-Start-Time: 1403787735 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6965 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- ------=_20140626160209_73414 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit This is to inform you that the United Nations Framework Convention on Climate Change (UNFCCC) in Collaboration with the Nelson Mandela Foundation and William J. Clinton Foundation has held an Internet Raffle Draw, and your Email Address was among the 18 Email Addresses that was picked through the Computer ballot system. For more information kindly view the attached file and contact the Consultant. Ms. Christiana Figueres Executive Secretary ------=_20140626160209_73414 Content-Type: application/pdf; name="UNFCCC.pdf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="UNFCCC.pdf" JVBERi0xLjMKJeLjz9MKMiAwIG9iago8PAovQ3JlYXRpb25EYXRlIChEOjIwMTQwMTA5MDY0MjI0 LTA4JzAwJykKL01vZERhdGUgKEQ6MjAxNDAxMDkwNjQyMjQtMDgnMDAnKQovUHJvZHVjZXIgKEJD TCBlYXN5UERGIDcuMDAuNTMpCi9DcmVhdG9yIChlYXN5UERGIFNESyA3LjApCj4+CmVuZG9iagoK NyAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL05hbWUgL0ltNwovV2lk dGggNzQ2Ci9IZWlnaHQgMTgzOAovQml0c1BlckNvbXBvbmVudCA4Ci9Db2xvclNwYWNlIC9EZXZp Y2VSR0IKL0xlbmd0aCAyNDI0OTQKL0ZpbHRlciAvRENURGVjb2RlCj4+CnN0cmVhbQr/2P/gABBK RklGAAEBAQBgAGAAAP/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicg IiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIBy4C6gMBIgACEQEDEQH/ xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMA BBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVG R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEB AQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2Fx EyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZ WmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TF 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 m3R5NS4qWrMtXaKv20/3P1qZJd+OOtRPaoO5qn9qkjkKrjAOK1UFL4TFzlF2bNakIyCKopdyMB0q 3C5dST61Dg4msaibsVpLDzMfPjHtSxRfZEK53c5q5THjD9aOdvR7EypreO5Ue/24/d9feo2ueM7a sNYxtjJPFL9hjx1NaKVNGcoVGUnHylvWoguTuzWibWMjaScUCyiAxk1SqJGSpTuUQu/2qT+zTJ/y 0x+FWxZRjoTU6qF6VEqv8prCi18QyGHygBnOBipaKKybudCVtgooopDCiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqGa5S E/MCfpTSb2E2luTUVVF9GVztaj7dGf4Wp8kuxPtI9ywzqv3iBTGlQjhxn61UlmWfG0EY9agXAY1p GnpqYzrdESvI/nn5jt/SmsS3Gc5pQhl+Vep9aljs5FdSSuAau6RgoymxtvADnfH+Yq8saLyqgGnV Bc3KWqBnBIPpWLk5M7IwUESeYhO0MM+lNTcZnznHaoIYWeQTDG1uRVsDApOyGrt6gFAOQBmggMME ZFLRUljGXahCjHHaoYZNmfNbGem6rNVLy3eZlKkfL1zVxaejM5RafMi3wagmhTYSIxn6UiXSEYwe KnByAfWlrFj92asZbI6yZ2kKKC7bhsY49q0Jo2kjZR3FUktnhQqxGfatozTWpyzpuOxNHLjO5/zN WkdWXhgayGqxDMsKhWByeeKUqfYcKvK7M0aKqi9j/utTmu0UZway5Jdjp9pHuWMCjFV/taY6Gpkc OgYdDSaa3KTT2HUUUUhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVa4tfPOd2Ks0U02thNJ7mebbYpXdnFQl dpxnNajRq3UVGbaInJWtY1O5zyotvQoqu3PNSpabznfjNWvs8X92nqgXoKTqdhQoNP3iGK28tgd2 cVYFFIxwCazbb3OiMVFaCM20ZrMMh1MmHHl7ec9aku7iRWQI3B645q1BaxQnei4YjmrXuq5F+d26 EkSeXEqZztGM0+iiszUKKKKACg8iiigCjJF5A3ZzmpIbne4j2496sPGsgwwzVGQeUWZBgg8GtU1J We5hJODutjQqN49564pttIXhUuwLGpqz1TNWlJalI2Of+Wn6VBLHtPXoK1MVE1vG2cr1rSNR9TGd BP4TMRt+e2KnVfOO3OMVaWzhXov609II0OVHNU6i6CVF9SEWnA+ep408tAuc4p9FZOTe5uopBRRR UlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUNyjPC6qMkrgVNRQnYTVzN0u1lgD+cmM9 MnNaVFFNu7uCVlYKKKKQwooooAKKKKACo5kLRkKMmpKKadhNXMsWs/2tX2nbn1rUoopyk5bijGwU UUVJQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHL+MvFdz4RtIbz+zYru1k cRZ+0mNw5DH7uwjGF65/CtHU9T1HTPD02pNp9tJPbo0s0C3bBQigk7X8vk4A4KjqeeOeU+MaM3g+ 2KqSFvkLEDoNjjJ/Ej8663xOrP4T1lEUszWMyqoGSSUOAK5+aXPNX2S/U5eefPUV9krfiX7R7mS1 R7uGOGc/fjilMirzx8xVc8Y7f41NXnPxmijPhaymMaGVb1VVyPmAKOSAfQ7R+Q9KdfrHafGKwsYo oxa6jpzLdxFcrNgS8uP4j8oGTnih1uWXLbt+ISxHLPkttZfedlpGqT6hp8t1e6dNppjldDHcMM7V P38jsf8A9WRgmTSNVt9a01L+1yYHeRUb+8FdkyPY7c/jXmXgZFf4QeJQ6hhm5OCM8iBCD+dXPD9x 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 fC+l0yye8DKwuGgUyZGMHdjORgY+lXqKOVbWFyxtaxSvdI0zUnR7/TrS6ZBhTPArlR7ZHFO/srTv 7O/s/wCwWv2H/n28lfL67vu4x15+tW6KOVdg5Y72KNlouladMZrHTLK1lZdpeCBUYjrjIHTgflTL rQNGvbh7i70iwuJ3xukltkdmwMDJIz0AFaNFLlja1g5I2tYZHDFDAkEUaJCihFjVQFVQMAAdhjtV aHSNNtrlrmDTrSKdvvSxwqrH6kDNXKKdkOyK97p9lqMIhvrS3uolbcEnjDqD0zgjryfzp1ra29lb pb2lvFbwJnbHEgRVycnAHHUk1NRRZXuFle5DJaW00Qilt4njD+ZtZARuzu3Y9c859amoopjsFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF AHEfFLxzJ4D8Krf2iQS6hPOsNvHOpZD3YkAg4Cg9+pFZfwl+JN947TVLbV7a2ttRsXU7IEZFMbZH RmY5DKc9Oorz34pz6t44+LVtoOg6dHqT6JGHNvKVEcjZVpNxLAbfuKRkHgiqWlXniTwV8abLWvFG j2+lHXZDFNHbMpiIcqGYYdsfPtdsnPU9xQB6FoHx00bXfHTaJ5P2bT5G8mzvH3s11MXVUAQL8gbL H5vQZx0o0D46aNrvjptE8n7Np8jeTZ3j72a6mLqqAIF+QNlj83oM46VxHgrTtM8P/tCaxY63psFu k0sx0qGS1DKrmdXhaMAELhAcMMYxjIPFHgrTtM8P/tCaxY63psFuk0sx0qGS1DKrmdXhaMAELhAc MMYxjIPFAHtmvePvC3hi9js9Y1m3tbmTGIiGdhnoWCg7R7nAqTV/G3hzQtCttbv9UjTTLpxHDcxI 0quxBIxsB7K35V8/eLdN1LQ/ih4pl1fVLvTbTVoJo4bqPTBdfa45Nu23QEgBto27sggp1Gc0/wAX aPLon7P+lW7y3zxSa4JYEvrRbaSNDFJwUDvwSGbJOfm6UAe9Wnj7wtfa9HodrrVvLqUib0hXdyMZ xuxjdjnbnPtXFaB8dNG13x02ieT9m0+RvJs7x97NdTF1VAEC/IGyx+b0GcdK8wurG10v4ifCw2Fv Ham50/SppjCoTzJHlIdmx1JHBPetjwVp2meH/wBoTWLHW9Ngt0mlmOlQyWoZVczq8LRgAhcIDhhj GMZB4oA9P8K+Nr7W/iHregT6hoc1vY+fsgtIblblNkqoPMaRRGcA4O0nnGOK1z8SfBq64dGPiCzF 8G2FCTt3Zxt3425z2zmvG/AttdXnxp+ItrZT+RdzW2pRwS4z5bm4UK34Eg1yBsLsfD8+B/7MvP8A hJ/+Eg+1fZPszbvJ8ny927GNu/jrjv0oA+ndV8beHdE1620TUtTS21C5i86KN43wUywyXA2j7jdS OlP8PeMfD/iprpdE1SG8a1fZMEDAr78gZB7MMg+teE/EPTX/AOFvfD/S9WKXj/Y9Ot7suoKzH7Q6 vkdMHnj3rQ+EcUdn8efGNnbIsNrGt4qQxjaihbpAoAHHA4HpQB7F4Y8beHfGP2r+wNQ+2fZdnnfu ZI9u7O376jOdrdPSsP4ofEUfD3SrSWKx+13d47LErEqihQMliPqMDvz6VzfwL1fw7qn9vf2B4X/s Py/s/nf6fJc+dnzNv3wNuMN067vat74u3EVv4ahN34P/AOEksTIfNVJ2je3OPlddqMf7wJBGOOue ABngnxn4x1LXpNG8V+E5LBxGXS+tY3a2Jxnbvyy9D1DHkY60zRPiJNceMvElhqeq6G2m6RFdTMlp b3QuYkikAJkLrsbC5zszk4xkVwXwglvp/iPcSeFodSt/BJjYtDfMSqnZ0Xkru8zPf7uc1i6P/wAl D+LX/YK1j/0aKAPddN+JPhDV7mwtrDWY5579mW3iEUgdyM5JUrlRweTgcGvPPEvxf8SafpWiXukW WlXX9r317Bbh45GDRxSrHEQRIOTk5PQ8YArC+E8enaT8IPEvio2No+rWUtwttdSxBnjPkIFCt1AJ c5wRnNaXjbSRouqfBvSWwxtrpIn4wGYPbbjj3OaAOo8VfE+/0z4baF4h0iztZ9Q1NFcwy7mSNViZ 5TwQTt2kdf8ACt3wd43TVfhrZeK/EM9lYCXzPOdSUiXbKyLjcSecDuck14/b6NOt34o0Ke3VbLwf pWqm1beST9oVimR/uE1q2moXmmfsxaTdWejWmqFZpfNW7t1mjgTz5cylDwcHA9t2egoA9U0P4k+D /Eepf2dpWuQT3ecLEyPGX6/d3gbuh6ZqHxZ8Q9D8Ow6nZLqtn/btvZTXENpISQXWMuqtjpnj5cgk Hivn9J55viF8O9SN7eTrMLFDJLbC2jjYSjfDCoVR5ahgMgEHJ57Dc1Kzu9F+KXj2HVLe5nl1jSb1 NOZbdnEhk2mPBAOAoG0scAbeSKAPTfhz8SX8R+Br7xH4mk0/T47W9a3Mke6OMKEjIzuYnJLkdfTi t3Q/iT4P8R6l/Z2la5BPd5wsTI8Zfr93eBu6HpmvC/CWoXmmfs+6tdWejWmqFdbPmrd26zRwJ5Me ZSh4ODge27PQVmpPPN8Qvh3qRvbydZhYoZJbYW0cbCUb4YVCqPLUMBkAg5PPYAH0HL8TvBsE2qQz a3FHJpbmO7V4pF2MGKlRlfnOQRhc0svxN8Fw2lhdSeIbRYb7/UMS2T1yWGMpggj5sYPFeBWWnWWo fEP4p/bLWG4+zWGrXEPmoG8uRZfldc9GGTg1z/8AZ1l/wo3+0/ssP2//AIST7P8Aadg8zy/s27Zu 67c849aAPshWV1DKQykZBByCKWuR8D69YyaD4b0R7otqzaBa3zRMrEmLaqby2Mfe4xnPtXXUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR 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 sEVv5yjnAD+vBBzxg11V34Dsnt9BNtNKbjQLGa0sBcENFJvhEX74AAsMAfdK964jwd8P9cXxLo9z rGkGwstHiuY8S6obtbjzYxGFiQ5McQG4hSc885oAueAvi+3irxPBpN2NMBvYXlgS0abzIGVQxjl8 xFVmxuOUJHyn616xXI6Z8PrLSILuCz1rxCsE1u1tDE2pyMlmhXaPJU8KV/hJzg9K6awtfsOnW1n9 onuPIiSLzrh98km0AbnbuxxknuaALFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRWdqOuWGlXum2l3O kc2ozmCBWdRlgpbPJHGQF4z8zqO9F7DUW3ZGjRWXoXiLS/EdjHdabeQzZiSSSJZVaSHeMhZApO1u ox6g+lalCd9glFxdnuFFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8u+JnhH Qp9U0PUpLHdealrdpaXcnmuPMiKlSuN2Bwq8gA8Vo3q3ekavYeDPCtzBolpDYyX/AJ88RnDfveY1 Lt6li3UgEYrstS0ix1f7J9ug837HcpdwfOy7JUztbgjOMng8VX1zwzoviRIU1fT4rsQtujL5BXpn BBBwcDI6HHNZuGraOyOJvGMZttK/n6aPsZ2heKJ9S+HcXiSezbzxZyTvAikF2TdnaPRtuR7EVl+H te1qPR7nVNV1Kw1ES6UuqQ2VugjuIcqSYwgzuTgAMTnORXbQW0Ftax20EKRQRoESNFAVVAwAB6Yr N0fwvomgPdPpWmwWrXTZlKA/N7c9B7DA9qdnpqZqpTtL3d3p6dvI8ttvF/ibWNA1ZdStNQlsL7Rr qXzpNKMEMD+SWUJKGbehG7lsHO31xUaeNPEttZ6Zpmh2t+y6fpFk+y20v7Utw7wBsO24FE6DKgnI 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 vz/7Cj/5DX/Hrtwv3f8Aprn9Ovauu8IeTN4b8PwW32nyEhac+f8Ae4JUA+2WJGOMKO1TCs5S5bf1 oTTxDnPlt/Wn+Z0I1bTTp51Aaha/Yh1ufOXy+uPvZx14+tPt9RsrueaC2vLeaaBts0ccqs0ZyRhg Dwcg9fSvEs3GnfCQAh5LLVB16+VOlx09gyL+ae9blleyeHr3XNfgheYtrF9ZSRoCSzMFeLOM/wAa lf8Atp+BzWKd1ddE2ZRxrbV10TfzPSX8QaLGJTJq9ggicRyFrlBsc5wp54Pytx7H0qS01jS78ObP UrO4CFVcwzq+0scKDg8ZPT1rxq/0mSw1a60uJYJ7hdU0pD9pUmOWVoJNxcdSGYkn6mvSdB0q5spY oLyw0e0uDI07/wBkwlI3RVCoHyMk7nYj/dqqdac3ZouliKk5Wa/q9jpVnheeSBZUaaMAvGGBZQc4 JHbODj6GkS5glnlgjnjeaHBkjVwWTPTI6jODj6VwGnSN4e17xq1ja3V48CWIjjQNNK7GMjJ7tydx /Gm+ALzzPGXiOP7HqUbSx20jNew7HDKuD5gBwrMWLADqAemKpV9Umt2/1/yKWIvKMWtW2vuv/kej UUUV0HUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFAHK+JtW8GWGpRxeIo7JrwwhkM9kZm8vJxyFPGQ3FXrO48NnRYdYso7IWFlHJJFNFAB5CkEvtA GVJ5yAMmuM8Zaj/ZnxHim/t7+xd2kBPtH2P7Tu/fMdm3HGcZz7e9QxXF3N4G+wwWJubnV9TkCMp8 g38Wd7ynd9zcqke3bjFcftrTkrLT+v60PP8Ab2qSVlp9/l1v+COtvdZ8Hnw3b6heCzk0iecmIvaF 1Mp3EnZtJDcPkkevrU+l+J/DXie9W1sbiO8uLcfaEV7dx5eMLuBZQAfmxxzzWf4LuLuDUNX0y/04 6dKZRew23nLKFSTIbDL23qxx23VD4FhnuPhPbwWsnl3EkFykT/3WMkgB/OrjOTa22fTsaQqSk1tq n010t5+ZoxX/AIN1S/m0ZP7LuJ2mMz25hUh5cHLcjDPgHJGTVrTbjw5ZWeqXemQ2ttBZyPHetBbe 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 vDcTXEdvEk8+3zZFQBpNowNx6nA4GamoosgsgooopjCiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigDP1jXNN0C2juNTuhbxSSCJWKs2WIJxwD2B56U msa9pugWSXmp3PkW7uI1fYz5YgkDCgnoDXJeLzeat4kj0+z0Y6tFZ2jmeL7UsAV5gUU5PUhQ3/fW ao312+peFPCMd4p+0Q65b2l0jEE70LowOPXGfxrmlWackvkck8RJOSXTbf5/0juNX8R6ToVnDd6l diGCZtsbbGfccZ6KCelQ3Hi3QLXVhpc+qQJeE7fLJPB9C3QHnoTXmuv291J4V1iC7jYR6BDHp9uz Y/ebp0O7/v2sPp94/hrRX0Gn+D7/AMK30M8uvTC4QRi2Y/aHdmKyBgNuPmU5zxUfWJczWyt/SM/r U+ZrRK19fy/DQ9D/ALTs/wC2P7J87/Tvs/2nytp/1e7buzjHXjGc1RTxVokl+lkt8PtElzLaKhjc ZljxvXJGONw56HPGa5ieceFfFem6prkzi2/sNbKS6WJnHnK4Y52g4z2rnYdJOp+INK84SQxapqeq XdsxUq6KUTY+COCCoYfhVSryWiWt/wDIqeJmnZLW+3zX+Z6NqPjDQdJluY76+8p7WSOOYeS7bWkU ug4U5yqk8enNGjeMNB8QXj2ml332idIzIy+S6YUEDOWUDqRXP+Bp7y48WeKn1CIR3i/Y45gvQusb KWHscZHsRV/4Zf8AJPNL/wC2v/o16qFSc5Ls79Ozt3Kp1ZzktrO/TXR27mzceItKtbO+u57sJBYy +TcMUb5H44xjJ+8vTPWpo9YsJpbKKO4DvfRGa3wpIdAASc44+8OuOtcLrFq8vxDOgvG0ljqssF/M pUFMRKwZTx0YpHn/AOvVfwvb3l/fatpySyRz6Lp8umW7sBw7yPtf/vlE/I1Pt5c3Lby+7/gC+sT5 +W3W33f8A65PEHhu/wDEcFvFqcDalb740VT94N95N2MHlQcA5yBWrBq9hc6rd6XDcBr20CtNFtIK hhkHJGDwR0z1rz6W+g1DwfYeFbGGeLXoRboYzbMPs7oylpCxG3Hysc55qZ7a4Xx74q1WxUveae1n IIx/y1iMR8yP6kDI91WhVnp1v/k/xVhLES0tZ3fT0enqrHe6ZqdnrOnRX9hN51rLnY+0rnBIPBAP UGi41OztdRs7CabbdXu/7Om0nfsGW5AwMD1xXD/DL+x/7M0v/oN/YJf7/wDx7/aX/wCA/f8Ax/Ct PxdIuneI/DeuXIcWFk9ytxIkbP5fmR4UkAHjI61aqt01P0/S5pGs3RVTTp+NrnQHXNNFxqEDXaI+ nKjXe8FREGXcpJIwcgds1X0/xVoeq21zc2epQyRWwLTMcrsHqdwHHB56VyEcFrr0PjTVWgu7jSdQ W3WHyIiJZPKjGWRXxnBII9cGq2n3Y1iPW4bzztd00WPN/DYCC4BD/wCoGQN5GN31B9aj28rr5/r/ AF1M/rErrbW/5u36dH8jutD8SaV4ijlfTblZTE5V0PDABiA2PQ4yPY9jxSS+KNEg1hdJl1KBL5iA Iie5xgZ6AnI4zmuZ8AXkl1fXYjgW4tFEpGoyW3lSsxuJD5ZOAGBBD8YCk4x6Y2vWqtq2qaLpOoah BdXd4twdPNoCryFkJnEuDiMYJxkcjHFHtpezUgeImqSmtW/67noEHibRbnWH0mHUoHvkJBhB5yM5 APQkYOQDkYpI/Emh3mqy6NFqUL3oyrQqxByM5APqMHgHIxXB6UZHi8P+H1E41nT9Xe4vGNuwAi3S ksWxjDAgDnmjSjI8Xh/w+onGs6fq73F4xt2AEW6Uli2MYYEAc80lXk7f1209RLEzdtv6tpvvr+B3 +p65o/hyCBdQu4bSN/kiQg8gYHAHYZHPQU3UPE2i6Va21ze6lBFDcgGFs7vMBxyMZyORz05rl9Q1 /Tbfxv8A2rPLJLp0NrNprlbZ3Ed0JFLJ06kEDPQ+tZWimTwu2g3uvif7K2kSW6j7Oz+XI0wYKQAc EoQvPpTdd3aVrflsVLENSaVrfltvqd1eeLNA097ZLrVbaM3Sh4vmyGU9GyOADjqeK1Zp4be3e4ml SOGNS7yMcKqjkkn0rxzSkn8P6Fq1jrUdy91qulxx6en2ZmOdsmIuBwQSpwa6/wARNJJ4Im8NJcPJ riaVHO8axsWdFKq5BxgkkEYznmiFduLbX9dhU8TKUW2um36fM3rbxd4fu7C5vYNVt2t7YgTOSV2Z OBkHnk9PXtVzStY0/W7MXem3SXEGdpZcjB64IPIPI4NeZ61cDW/EcOvaUlw2jWH2QXii1YeZsmYs ApGTsHWuu8IyjUNa8Q6val/7NvJofsxaMpvKxgO4BAOCcc+1OFaUpW/r19B08RKU1F2/q+u+3Q6y q5s4TqC3rAmZYjEpP8Kk5OPrgZ+gqxRXTY62rhRRRQMKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKAGRxRwqVijRFLMxCjAySST9SSSfc0+iigAooooAZHDHDvKLgu xdj1JJ7/AMh+FPoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwtR8XaVpGrz6dfu8Bg sP7QknYDyxHv2Y65LFugA5yMc8VYtPEOm6hoMmsWNzHcWscRlfZKgK4XcVYkgKwBGQxGO+K5LxPo V3q3jTVVSwaaGfwvJbxSPHmLz/OLIu4jG4HDDuMZqfTLIj4Q3llbaNPZXn9mSwy25tvLkmnEOwtt HLFiOD1PFAHV/wBt6clnZ3NzeW1qt4qtCJp4xvLAEAEMVY8/wkg9ias3V5a2Nq91eXMNvbpjdLM4 RFycDJPA5IH415frOjSRaF4ZvBoeoXupw6TFaiA2MdzAH2AhZUc5jw3VgAQOCe1dF49s7+++Fl3a xWDNfPFb5tbRC+1hJGWVQBkgYPboKAOut760u5JY7a6gmeFtsqxyBih9GA6H61CdY0xUuXOpWYS1 OLhjOuIv97n5fxriz4aksPHV9BoVl/Z1pP4daJJ4YdsQuPMIUkgYLgYPPOKxND8Ky6hc6dZDw9No 8drpk1nqs0sSqLx3RVG1lOX+b593tigD1SS/soWmWW7gQwR+dKGkA8tOfmbnheDyeODSy3trBZm8 muYY7YLvMzyAJt9dx4x715JHovie+t7ea7trhbjVWXSr9ShHl28fljzDxwG8ubnj/WjB4Fd/4yEs Xh0C30WPVEWaPzLYwCYrGD8zLGeGYDoPU0Abcd/Zy2X22O7ge0K7vPWQFMeu7pioP7c0gS+V/alj 5m+OPb9oTO5xlFxnqwBIHcDivKzpd5Y+D7q1urOSCE+JI7ldOnCIbm3YIwhQZCFuvyr3UjFZ8mkf 2p4ov4LbQpobI63pTS2YhBEMXlS794XIUAMM9hnFAHs51bTQICdQtMXB2wHzl/en0XnnoelSXF/Z 2ksUVzdwQyTHbEkkgUufRQev4V5J4z8I6g/ii5FvaTnTLm3igtVstJguRAACGQF2Uw85bcuPvdeB UfizwrrlxrzG5F5eQ3VlBAk0GkwXTKyoQ4JdwYTuy2Vb+LrwKAPTvEPifTfDem3N5eSGQ26q728L KZSrMFBCkjjLCtS4uYLO3e4uZ44IUGXklcKqj1JPArxPxB4b1SHRNdsrvw9eatrFxcRzwatFao2I v3Y28EsCMEbRnrnoM16h40My+H8w6OmrATxmW3aATER5+ZlQ8MwHQepoA1f7W00W1vcnULTyLhxH BL5y7ZWPRVOcMTg4Ap0WpWE9rJdQ3ttJbxkh5UlUopHXJBwMV5Knhu+k0S20240e7Fu3i2O4Nu0H CWjpnnaNoUAkHHAORVnVPDF7Hq3iWLT9Ik/smO+025+xRQBI7uJEJlSMHCk5wTjuMUAei6Z4isdW 1fUtOtN7Pp4hMkvymNxKu5ShBOeBzwPxq89/Zx3iWb3cC3TjckBkAdh6hepriPANjJb+KPFNymh3 GkWVybVraCWARjAR842/L1OSAeM4PNcvqvhXXJfG18XF4Tc34uba7h0mCdVUFSmZ2dWTbgLtzyFJ 5yaAPWRrWlNN5K6nZmXzmg2Cdd3mL1TGfvDuOtVPEPifTfDem3N5eSGQ26q728LKZSrMFBCkjjLC vNdS8KzSeFPGl6uiTNrL65I9nKLZjOY/NjIaM4ztwXORx19Ki8YaBfm28TwP4au9R1G7vlubTUob dX2QEoAgIO7IAK4A9zxzQB7A9/Zx3iWb3cC3TgskBkAdh6hepFMOqact09q1/ai4jZUeIzLvVmGV BGcgkAkDvXl+seHdSl1TV7MaJPNq99qiXVjrgiQpbQhkIBfOVKgEbe9btr4bhvvHnjG71HSpJI5I rZLWcx7SwMBV/Kc4w3AGQePUUAdpaanYX4lNnfW1wIWKyGGVX2Edjg8GnW1/Z3sLS2t3BPEhKs8U gYKR1BIPavJ7LQtWn8Oa/pGk6LNZxfYhDHc3ljFbXMzq/MeU4kUoMbyep79ag0zwprlzoPiNbRby 3mubMQCGbSYLFZWV84UJIQSV3rkr/EOeKAPT7fxNp134iGi2zmaY2f20TRlWiKb9mNwOd2fb8aSH xPpsuuajpLyGC4sGhR2mZVSRpVLKEOck4HoPxrjvCdiV+I739r4YutFsG0bytsluI1aTzVz93jOB 35IGcVmeItHmuPFXjIyeFbvUnvobeGwult1KRSeTjcGYjABxllzjbg4zQB6k2p6ekU0r31sscEgi lczKBG5x8rHPDcjg88j1qrrXiPSfDwtTql5Hb/apRFEGPUnqT6KMjLHgZHqK88ksNQtPGmn+Gbgy TxX7Wmo3U4X5S0EZEn0DNHGfx9xXR/EjSW1DT9Iu00ptR+walFPPDHCJJGg58xVU/ez8uV6HAz0o A2LXxfo91qV/Zi6SMWf2fNxLIgil85dyeW275sj/AOtmtWe/s7WWGK4u4IZJjtiSSQKZD6KCefwr zS58Mx3t948mbQGKHT7caYr2nRhbEYiGMblIUfLyDxXP6t4X166ls5LuDUJY7vSrSBTHpUV3JCyx YdGMjK0R3ZO4Y5brkUAeweIdctfDeh3Or3kc0lvb7d6wgFjuYKMAkDqw70zU/EVjpGradp94XRr5 Z3SY7RHGsSb3LkkYGPr74rJ8W6Hf6v8ADe50iNjNfm2i5ICmR0KseMkAkqe5xnqa5nxD/aXjK4F3 DoGq2KaZpuoKy3cAUzSyw7FSMAkt3OQOaAPQX13TPs880N9bXBht/tLJFcR5MeMhslgACOhJA98V S0nxnoWtag1haahAbxURjD5qEkspYqpUkOVAO7aSB6151qXhWaz0nwydM0SaO4k0O9S/MFswdpGt PlWXAzuLkgA854FT+E/DVzYX19EdFktbu+0e2NhffZBttZhbbJdzHlHLtyOpwc0AeqW9/Z3cssVt dwTSQnbKkcgYofRgOn41nTeJ9Ni1zTtJSQz3F+0yI0LKyRtEoZg5zkHB9D+FeY+D/CmuRXjqFvNP uobCa2LvpMEEe50wP3qPulwwUhipzg9MmrXh3R57fxX4OKeFbvTWsYJ4b+6MChZZPJxuLLnIJzgt jO7AzigD0OfxPp9t4st/Dc3mJe3Fv9oiYgeWwyw25znd8pOMdB1pLLxXpN3b6jcSzrZQ2F9JYyyX bpGpkTGSDnGDkYzg+1c3r3h651n4jyuiTwINCC298IzsiuFuNyfN0yOu3PIz2Nc7p1tq0Wk3bar4 Skuzda/cy3EZs1meIOi4aISYBUvxv6YBoA9H1HxboWk31lZ3up20Mt4peIvIAoQAnczdFBxgE9Tw M81Yg12xlt724lmitobO4e3lklniKhlxkkqxC9ejYYdwK8usfDNzaWfgubVfD8t8NPlvLS/i+yiV trOwiJDfejBO4HoAcipP7E1CO6ur+80S7v8ATLfxJfXM+ni3DNOjoojlVWxvAOcY65oA9Wl1Gxgi glmvLeOO4dY4XeVQJGboqknknsBTF1bTWspLxdQtDaxEiScTLsQjqC2cDFeYzeGb+Twvo9ncaXML WfxQtyLAR7vstoxf5XC5AUAkn03Yp9/4XjXUfF0P9j6gmmJPY3NnFp9qpVnWNt5SNsJIMnDLz9KA PUre5gvLdLi2njnhcZSSJwysPUEcGuR0j4jWutyWv2Pw74ia3uZBGl19iBhXLbSxcMRtBzk9sGr/ AIHW7Xw9/pWlRabmdzDCluIGaPPys8Y4Rz3A9K534Z+Erqw0PS9RvNQ1y2uE83fpk0xSBcs6jMRG RwQ315oA7pNX0ySR401G0Z0d42UTqSrJy6kZ4K5GR270xNd0iS2iuU1WxaCWUQxyrcIVeQ9EBzgt weOtcHpmhzWul+NNRHh2K71SXVLv7Kl5bZ86IlSMbh8yHJOBwcVzZ8PXl1qi48PXsOmXmsabcC1e yCKkQWVJS6INqDOMg84YZ60AeyR6pp80kMcV9au84LRKsykyAdSozzjvinvf2cd4lm93At043JAZ AHYeoXqa8mg8M3FtcRXEGizRTQ+MsROlswKWWSflwOIck9Pl5qHVfCuuS+Nr4uLwm5vxc213DpME 6qoKlMzs6sm3AXbnkKTzk0Aeux6nYSpC8d9bOs7mOJllUiRxnKrzyRg8D0PpSNqmnpbTXLX9qtvC 7JLKZlCxsDghjnAIPUGvNtS0XW7XWtSa0tJ3tNJnbVdPVFYieSRkZ4hgc8LMMDP+sHHAqxfeHryy 0LwvPeaZLq1vaSS3OqWEcSyPLLKhO/YcbtrsePf2oA9Bl1XToPJ82/tY/PVnh3zKPMVRlivPIA5J HQVR0jxRpmsxXcsEvlx2189hvmZQJJFx9wgnIORjufSvO9O8J3cus+GE1LRnOmNfalcCzkhDx2kL qpijfGVHzDIB7nHarHhzRNS0rxZd6rNZXL2J1y7hS2NucQrJt23KDGSDgISOApJzjNAHqtFFFABR RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAY+ueI7PQREksN3dXM2TFa2cJllcDqQo7DI5PrU2l67p+r6V /aVtNttwWVzMPLMbKcMGB6Ee9YPiBbzRvF9t4lj0++1K0+wPZSwWaiSSMmRXDhMjOehx6Cqev2us a94Ot5ZNEMJTUUubjS1Kl7i3VySrdtxGGIz298UAdh/a+mfZoLn+0bTyLhxHDL567ZXPRVOcEnB4 FEWrabOsbRahaSLJIYUKTKQ7jOVHPLcHjrwa8nuPDd3f+XLHoFzaaNfeIbKVNMa3CmGFY2WWR0XO xWyM5xjHvWufC9wuqeM4NOsGtIo3sbvSwkJSEzRoWOzjBywAOPWgD0Zr60SSaNrqBZIFDyqZADGp zgsOwODyfSoBrWlFIHGp2W24DNC32hcShRlivPIA5OOledanoGuaz4IuNSNtJBqeo6jHe3Vp5KyO IU+VItj4DFQFba2MkEd6xdC8IXc/inQZdQ028n0uWa5lmhutJjtY42EKgFo0ZlUMVXghcle+aAPU 9S8W6FpVtZXF1qdsIb2UR28iyBlfPVsjjaMjLdBkeoqxpuu2OqWlzdwTRfZoJWiMwnidGwAd25GY AYI4bB9QK8uuPDNwmjXDHQJp4NP8WSXCWotcs1lxuWJCPmRsDgcHHtVi38P6hJ4V1aKDR50tV8Tt eHTmg8s3NoCh2KpwMYAxjj5cCgD0LVG8Pa3oyQ6jcWNxp146xRlp12yufuhGB+9wcYOaXw3p2g6b pzQ+HktRa7zvNvJ5mXHBy2SSRjHJrzO48N3d/wCXLHoFzaaNfeIbKVNMa3CmGFY2WWR0XOxWyM5x jHvXZeFNKbSvGvi2OCwa001zaNaqkXlwsfKO8pxg89cd6AOqe/s47xLN7uBbpwWSAyAOw9QvUioZ tZ0u3mlhm1KzjlhZEkR51DIz8qCCeCe3rXmWseHdSl1TV7MaJPNq99qiXVjrgiQpbQhkIBfOVKgE be9XNV8MDUdd+IV5daM1xI1jENPkkty25/s5z5RI5YMqj5ec8UAek3V3BZWkt3cyrFbxIXeRjwqg ZJrmofiBpMqXZktdStmgtpLtEubUxG4iRdzNHu4PHrioLzRL/WvhJDpIMsWoSaZACshKv5iqpKtn pkjBz6nNVNR1jVfEGj6taxeFb+1VdMuonkuowrmUphUiAyXBPccHAoA6Sz8T2F59nbPkRTacupb5 pYl2RH+8u/cMd2xt/wBrPFWxrekmAzjU7LyRszJ9oTaN/wB3nPfIx615p/Y+p/8AQOu/+RD+yf6h v9f/AM8un3/9nr7VSHhAhCg8PvsPg7eV+yHBv+cZ4/13J/2uaAPXLvU7DT/K+23ttbea22PzpVTe fQZPJqjL4q0SDxCuhS6jAmoNGHEbOByxAVcnjecghepHOOlcJren6je+G9C02Tw293LNooh+1Nao 81vclFADs/MSjkk9c4xzVePw9dtq2jXcmjTGa68OR2i3TWm5rW+UDEsu4ZUqAAGPPAFAHqdvf2d3 LLFbXcE0kJ2ypHIGKH0YDp+NZOt+LLHRLpbV7e+vLnYJHisrczNFHnG98dB1/I1wPw78N6rYeIrW a6gvLU2lu0MyvpMMEb5UfL5yPul5CkMVPQ9MmulvZL/wx4w1XVF0jUdVttWigSP7GokMMkYZdrAk bVOQd3TJNAGwfGGk/aNFjSR3i1iOWW3nAAjVY03sXJIK8e3XritX+0rD7B9v+2232Lbv+0eavl7f XdnGK4nVNKutZ8Q+B31PRFEKR3ZvbdE8yGAmJdqscbcZGMHgnjms+0sb3S/C2v248ONeW6+IZTFZ y2nmBbXcvzxRtw3GduOMnPrQB6F/bWlbLd/7Ts9tyrNAfPXEoUZYrz8wA5OOlSDUrA2S3ovbY2j4 2ziVdhz0w2cV5DovhW6l8TaRbalodx/Zyapf3BintsxRxPDE0QbA2D5hjA43AilGlyaffQw3elvP p0XiK/eLRzEoa4hMahHijcjeikk8cfNmgD16PUbGaKeWK8t3jt3aOZ1lUiN16qxzwRnkGn211b3t ulxazxTwuMrJE4ZW+hHBrx620bUdT8Da9b6ZA8Xl+JpJXtliSUtEuzKhWO18HBxnB2Y7113w00q7 06x1Ca4F1HHdSrIkNxp0dkVIXBIjjdgAQF7L075oA0LnV9DsNSg1Y29xNc3moLpEc6tvCuTghQzY VNyEHaBkgnB60/xD450zw3eXNteQXcj29kt65hRSCjSiIAZYfNuYH0x37VyVppep3Hw60ORYWu7/ AEnW2vLmGLG6Ux3EocLnHPOfwqh4us9U8Vwa3rltoeq2yf2ZBYw21zbYnmb7UsjMEBJwAP60AekN 4n0/+0NEtI/MlOspJJayxgFNqIHO45yMg8YB/CsbSPiNa63Ja/Y/DviJre5kEaXX2IGFcttLFwxG 0HOT2way5NB1LT/ihoAht5ZdFiku7iKVUJW2MsWGjY9ANwyuf7+B0pfhn4SurDQ9L1G81DXLa4Tz d+mTTFIFyzqMxEZHBDfXmgDfn8eaPBqf2RkvTAJvs7X62zG2WXIXYZOmcnHpx1qzrfiyx0S6W1e3 vry52CR4rK3MzRR5xvfHQdfyNczoc+seHbCDwsPDt7fXENyzLeyhfszxNMW8xpM8MAc4xnIq7eyX /hjxhquqLpGo6rbatFAkf2NRIYZIwy7WBI2qcg7umSaAN258V6Vb6Ja6sssk8F3gWyQRl5JiRkKq dSeDx2wc1Fp/jDTNRtRMq3Nuy3KWs0NzF5ckEj/dDqemSQMjPJ+tY+rW+rLH4Z8QvpMhm0zzGutM s2DkLJGV+QcBmXjgepxmqXiS91PWvA+pyjSX0qWe8tVsRcALM5MsWGdRnac8Y5OB+YB1Wr+LNH0K 4ih1K7W3MsqRIXIwWbr34CjBYnAAYc80y18X6Pdalf2YukjFn9nzcSyIIpfOXcnltu+bI/8ArZrm vGmiyX+j6XqR0hr+SDV0vLmBLcPK1vyCgU8klRGCvfbz0rOufDMd7fePJm0Bih0+3GmK9p0YWxGI hjG5SFHy8g8UAelz39naywxXF3BDJMdsSSSBTIfRQTz+FZ3iTxNYeFrO2u9REvk3FytsGjAOwsCd zZI+UBTnGT7V5Lq3hfXrqWzku4NQlju9KtIFMelRXckLLFh0YyMrRHdk7hjluuRXeeL9KvLvSPCd q8E168Or2ZuysOflCsHdgCQq+vJAz1oA6NdetG8TDQVWU3JsvtwkAHlmPfsxnOc59sY706613Tra w1G7W5juBp8Ty3EdvIruoVSxGM8HA6HFcFp/h/XbXxxqVovnLBFoMtnp+oFCVAMu6MFum5d2MZyQ me9c5onhbWYLLUN9pfxTQaRc2zxf2RDCspaLAQSo+6U7guCVJOO2TQB69aeIdLu7bTpTeQwSahAk 9vBPKqysrKGHy55OD2zVy4v7O0liiubuCGSY7YkkkClz6KD1P0ryhtFubF9DuLXw5eXmqTafZxul 5Yxy2qMiKDl2O+BgM9AMkdCaveMdEupde115/D0+sHU7KODTJ44kYWbhWBDEkbPmIbd+FAHoc2s6 XbzSwzalZxywsiSI86hkZ+VBBPBPb1qLxBrtr4b0K41e8SWS3g27lhALHcwUYyQOrDvXnJ8Izzz+ NZNU0xr69TSraO0uZLYt5swtSGaLjlt6r93kHitjxNYajd/BKOyW0uptQNjZhoBGzSlg0ZYFeuRg 5+hoA3r3xrplj4Uh8QyR3LW0vCwoimbdzuUrnGV2tuGeNp9Kv2niHS7q206U3kMD6hCk1vBPKqys rKGAC55OD2zXC6x4e1R77xDZraySaVb2l3e2IRWJe4uIiuwDHJB844BP+sHHTGHruk6teeG7bT4/ C8v2uLSLN7e9itFMoeNQZFdz86sMbVQck57UAeuDWtKabyV1OzMvnNBsE67vMXqmM/eHcdaqeIfE +m+G9Nuby8kMht1V3t4WUylWYKCFJHGWFeaah4Xln8JeMr9NEnbWJNbeSyk+yt55i82Mho+N2MFz ke/pUfjDQL823ieB/DV3qOo3d8tzaalDbq+yAlAEBB3ZABXAHueOaAPYLi/s7SWKK5u4IZJjtiSS QKXPooPX8Kz9O8TadqFvqdxvNtDp15JZzyXJVF3pjJBzjbz1OPpXnPjzwzq994wvJzFdz2V7BFFA 1tpcN2YsAhl3O6mLnLbgRnd14FWNJsNV0vwbrkd3oUmpytr7ySR3FmHaSL5N0yRsSGJwcYJGT1OK APUba5t7y3S4tZ4p4XGUkicMrD2I4NcjpHxGtdbktfsfh3xE1vcyCNLr7EDCuW2li4YjaDnJ7YNH w40+60zTtXt7qzntFbU5J4IZUC7YnRGUDb8vHIIXgEEVmfDPwldWGh6XqN5qGuW1wnm79MmmKQLl nUZiIyOCG+vNAHfJf2cl49ml3A10g3PAJAXUepXqBUT6xpkdtcXL6jaLb20hinlM6hYnBAKsc4Vs kDB55FeY6P4d1KLVNHszok8GrWOqPd32ttEgS5hLOSA4OSWBA29qra/Za1beHfGGgx+H9SuZL/VW voriCLfEYnkRh3yW+TkAHGcnigD1Ya1pTTeSup2Zl85oNgnXd5i9Uxn7w7jrVTxD4n03w3ptzeXk hkNuqu9vCymUqzBQQpI4ywrzXUvCs0nhTxperokzay+uSPZyi2YzmPzYyGjOM7cFzkcdfSovGGgX 5tvE8D+GrvUdRu75bm01KG3V9kBKAICDuyACuAPc8c0AevT6nYW13DaXF7bRXM3+qhklVXf/AHQT k/hWInjzw/cWl/cWd/BcmyfZJGs8UbMNyruUyMqlMuBuzg9ATxnkfiPp+o6pd6jbWnht5ZhbxS2m o29qjOSh3OGk+8DgAKq8k+1ZV/4dmt/C/jXT7bw3cC9mvfPs5obLh7Z5oisaEDPG0kpjAoA9ge/s 47xLN7uBbpwWSAyAOw9QvUioZtZ0u3mlhm1KzjlhZEkR51DIz8qCCeCe3rXmWseHdSl1TV7MaJPN q99qiXVjrgiQpbQhkIBfOVKgEbe9XNV8MDUdd+IV5daM1xI1jENPkkty25/s5z5RI5YMqj5ec8UA eng5GRRWV4ZSePwpo6XSyLcLYwCVZQQ4bYMhs85z1zWrQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAYmveI49EWRRB58yWVxemP ft+SJcnnB6kqPxJ7YrJi8fwXGg6DqcNkWOqX8NjJCZcG3Z85OdvzYxkcDIIPFVfFOlXl14pvDAGk N94au7OCLOB5u5T1JwCdw9Pu/ll3PgjV4x4Qms4QPIlsH1S38xQEeBQvmA5wTgspxnO1cdKAOk8P +NV1vxFquky2H2X7FNNFFMZtwn8pgrnG0bcbkOMn73sa5qD4t3t/4gXR9N8LG6nly1vm/EZlj271 b5kwuU+bBPtRN4N197DVntF+yX82vXUsMm9SWtJ1CM2Qwxxh8E5yg4ziqN58NbjUPip9outID+GN iR5E6oNqW4RRhWDjDqBwO3pQB3tv4h1CDSkvNd0X+y2a8S3Mf2pZsK5VVfKjH3mxjt1rU1XV7DRN PkvtSuUt7ZPvO2Tz6ADkn2Fcx4r8P29n8PD4f0WN7ZJLiCK3VGZyha4Vick54JJ61t+KP7a/sfOg osl2syM8ZcIZIwcsqseFJHGT0yaAIm8aeHV0i21ZtUiFhczC3jn2tjzCCcNx8vAOd2AO9Ot/GPh6 70m41SHVYGsrZtk0pyAhzgDBGee3r2riIvButiyggnsFYnxVHqkqidXUQMg38sQW2nKnIycZAOat av4Q1m78R+INRtrdNrXun3tojyqqXXkoQ6NjJAye4HOKAOm8O+L7TxLq+rWlgqSW1gICl0km4TeY pY8YG3aQR1P4Vlap8RRpnhuPVDpLzTtezWj2sc2SnlF9z529AqZ6d+vGam8IaZrNv4o8S6rq2nRW Q1E2zRJFOso+VGDDIwcjIzkDJzjPWs+18GXr+PtWmu7aL+wZUnlg5U7pp0RJDt69Fbkjv7mgDY1b xpDpkuojyYfs9laQXLXE0zquZXKqpCRuRwM5APXoOtVr/wAffYfE0+j/ANmb/K1GysfN8/GftCM2 7G3+HbjGec9RXKw+C/Ej/DjxDZ3dija1eS20UarKn7yKHylU7t2Oit1IPXjmtHV/Cet3Xjm61GGy 3Wj61pd0snmoMxQxOsjYJzwSOMZPbNAHWR+L9Mj0/U76+ure3trC9ktJHVnb5lxwQUU7uei7h6E0 5vGnh1NHttWbVIhYXMwgjn2tjzCCcNxleAc7sY71ztrpPijStH8QHTrZRd3Ovy3kcZmRTPbMVJCt yELAEc8jn2rNg8H64lpbxS2Klv8AhKotVkAnV1WAoC3LEFtpyp4ycZANAHaWvjXw3fXVna22r28k 94CYEGcvg49ODkHAOM4OK3q8xHhHWQ24WAz/AMJl/aefNT/j1/v9f/HevtXV65L4ns9XgutHtYtR sWgMUtk8yQ7JNwIlDFSTxkEZ/DNAFrwnr/8Awk/hm01j7N9m+0b/AN15m/btdl64Gfu56d6j13xD LplzBYafpkup6nOjSpbJIsYCLgFmduAMkCqXhXTNT8LaJoOhfY1uogkxvLtZwot2JLgBSMuCzFeO mMmk1/TtVs/EsHibRbCPUbhbNrKa0e4EJZC4dWViMZBznPagAm8aGLTdJum0q4ikvtUTTZILhtjQ sxYFs4IYDbxjrnqKnXxrpMFvdT6heW9tDDqb6aHUyMPMAzhiUXacZz1UY+8ay9X0rxJq+m+HmvYL d7y312G8nS3cBYYFLd2I3EAjOOvpWS/hDWZEZHsAyN4yOpsplQg2v9/r/wCO9fagDa1H4p+FrG2t Z4777UlxcGAmFG/dgEb3YEZwAR05OeM841brxt4bshYm61e3h+3RLNBvyCyMMqx4+UH1bFcfrvhP XZvFGr6vZWCTKmpadfW0ZnRPtIhjdXUHPynLDlh+dXNe8P8AiCTUdalsNOt7qPxBZRW8pnuQpsWV GU4GDuXnPHO7mgDotQ8deGdKvp7K+1aKC5gaNZI2VsjeMrjjkYIJIyBnnFUviG2j/wDCE3Gpanpc eq21uY5I4vOMedzquVdeR97PHWse28H6laDxnF5Bn+2aXb2ljO8iFp2S2MbZ5+X5gvXHrV3XvD2q Xvwei0K3td+prZWkRg8xR8yGPcNxO3jae/agC14Yu7/TLaS1vvCcHh3SLWFpRN/aEcqggjIIHI4J O4+lXo/HXhmbSbvVItWie0syqzuqMSm5toyoG7BPQ4xWZf8Aw60qDwprOleH4PsE2oRoGczSMGZD uUEsTgHJBx2JrD1bwh4h8U2+s3d3Z22l3M9hFZW9pHcCRZDHMJN7EAAZ2gL6A80AdxLrGi6PfXln JOIZ0tn1OdAjkCIHDPwCOo6Dk9cc1FpfjLw7rV59k07VYJ5/KE2wZB2kZ7gcjuOo7gVyV1o/ijWt Z1fUr3RYrP7T4bmsIYo7tJP3rNkKTxgnJ5+6BjmpLjwfqVzF4MtlgNullplza3ssciAwPJbBARzy d+eRnnmgDYHxD0a58Q6bpenXEF4l0ZxPOk2Bb+Um/JGPmB55yBwetSt8RPDB0rUdQt9SW5j09czJ EjbiSQqhQQM5YgA9OeuK5mx8P+K01fwsZNJs7ePRbW4thcJchw7GHajsuAQC2OBk8nOKLPwx4n1G /vLvV7ZYp7zQZ9LeQ3KyfvcgiQgY2q2Wwqg4xz1oA6Tw34+0rxTqC22nyxEiz+0SoxkWSJsgFSCg Qgbh8wfr2xzVy18beG70XxtdXt5vsMTTT7MkqijLMOPmA9VzXJaH4Y16fUoxqVg2nwr4ZOj+fHcp IfMD4DDByMr83TjpnNQHwn4kvtPgtrrTre0/snR7qxtzBchvtzyQ7FJGBtXv8x+9zQB2+leMfD2u Xos9N1SG4uDEJRGoIO0jPcdR3HUdwKwb74i+H31PVdN2STXukrJNFG4ZVnlijdnUEA427SMtxnkZ wDSWnhrUYNQ8ASizVE0qzmjviHT907QKoHX5stu6Z9aZqWg60ut+MWtrFbi113TgkUwnVTHKkLRh Cp67ievQd6ANvQ/G2ia3HDHHewR3rWiXU1tvJ8oMoYjdgA7c8+ncCoW+Inhg6VqOoW+pLcx6euZk iRtxJIVQoIGcsQAenPXFZA8N6xDN4GltrSNJdK0+eK5ZnXbFK1uqrnByw35ztz3NULPwx4n1G/vL vV7ZYp7zQZ9LeQ3KyfvcgiQgY2q2Wwqg4xz1oA6e28faJc+DrjxMkshtLYBZ0Ebb0lIX93yBk5dR n7vPXFZ0PxR0a4bRpIiBaXwnFxPKxT7I8USyFSCvzn5wMg49M1e03S9Tuvhs2h31otlejT2sFBlE inEexXyvY9cdqx9N0LW5L7wLJe6UsCaNFcW9z+/SQAeSqRvwf4iucDOO9AHTv4y8PR6EmtvqsI06 Q7UlOfmb+6FxuzweMZrRs9UsdQ05dRtLqKazZSwmVvlwOvPbGDn0xXmF74F1+RLy7t0uYpotdvLu GG1vlt3lhlVQrK+GCt8uMEDgsOM12fhTRL7Q/C09v+9S+meWdVu7oXJWRh/E6oucnk8HqeTQBLa+ OvDV7aX11barHLFYqWuCkbkovTcBjLD3GRV+48QaVaveJNdqrWdsLqcbWOyI5w3A5+6eBk/mK4zQ /Dev3niFr/xHZALc6PJptwftCy7m3qd5AwFD5bCqDjHOM1nW/gXxDJbWJvDuubicWmpMZAc2aeXt /i5z5PTn/WtkcmgDurzxn4esNQtbG71OKG5uVVo43VgcHpu4wuf9rFEXjPw7Le3NmuqQi4tWlSdG DL5fl/fJyOFH97oexNcz480TxTrw1HTLS3im0ya3ja3YXAj8uRDuKlf4i5AAyQoxnrSQ+DtSvfCn jDTpo/sdzqmqT3NsxkU7kJVk3FScAkEEdcE0Abmk+ONO13xT/ZGltHdQCxN2btJOjCTYYyhGQeQc 57jjvVi48XadYXOtrfzww2+k+R5zr5jsvmj5dy7MDkjG0t77elYuhabr8vxBOuappEFhbnSPsgEN yso3iUEA9DnAJ6EAYGc1m+JvCet6h/wnf2Wy8z+1P7P+x/vUHm+Vjf1PGMHrjPbNAG1q3xP8M6dp d1eW98l9JBIsQhgzl3OSMEjGMAnd049eKuR+PNATQbHVb7Ura3ivNwj2l2DFW2ttyisQD1JUVy3j 7whrGr6pqEmlaeskEuixWkW2REBkW6RyuCRjCLnPTjHXit/xFpesQ+KbfX9JsYdSP2F7GS1mnEYT c4YSDIIPcEdSBQBp3XjLw9ZXUFtPqkKy3ECXEIAZhKjNtUqQCGJPYc98YqpD8RfCM9tJcR63AY44 jK2VZWCg7fukZzntjJyOOaxfCfg3UdA8TabJcqJ7a20I2rXG8ECczlygB+bAViAcYxVPw14Q1iw/ 4QX7Xp6p/Zhvze/vEPl+Zny+h+bPHTOO+KAO6uPEej2mhrrU1/EunMoZZ+SGz0wByT7YzXPXvxV8 KWdzYR/bjLDdo0hnjjYrCoyBuGN2SwIwBkdTjjNTRdJ8UaH8L9O0+ytlTVreYtNbmZAXjMzMVV+V BKkc9snvWVpvhPxHpWt2WrDTY53g1a6ungF2vMdzFGpIduTsIYHIBOOOtAHZDxnpMFjqN5qN7a20 FnfSWRZXdiXTBxgopLey7h6Mas3Hi3QbXSrTVJdThFhdyiGG4GWQuc8EgfL905JwBjnFcXD4V8QW OoT6zBYJcT22vXt7DZSXCotzDMiqrBuQGGON2Mc1I/g3Vzo2lxy20ck0niVdVu7dJVMdvES25VJx kAY4HcnGaAO40bxBpXiG3kn0q9juo43KOVBG0/QgH/GqF3458NWOpXGn3OrQpdW8bSSx7WO0KMkZ AwTgH5Rz7VDoekXtl448VajNBstL77J9nk3Kd+yMh+AcjBPcDNZv9ka7aeNjLpFgLDTp7oXN7cC9 EkVwMYYeQQCsh4O4HHHOaALWj/Enw5quiXOqNdm0jtSBcJOh3R7iwToCGLBScLmob34q+FLO5sI/ txlhu0aQzxxsVhUZA3DG7JYEYAyOpxxmho2l+LtC8BLo9nYxC8sLr5GW5T/TITIXbaSP3ZOdvze5 rO03wn4j0rW7LVhpsc7watdXTwC7XmO5ijUkO3J2EMDkAnHHWgDvLjxZoNrraaNPqlumoOQBCTzk 4wCegJyMAnJzWXqnxA0iz1Oz02zngvrybUYrGaFJdph3kgv0O7aRggdz1FctqHgLWpfE98FfUZdN vr37X5sOrLDHHyp+aIxtuZSOCOyr0xTl8KeJbaPQtIGmwTWWl62l4b8XSmSWMyMxYqQOQG55JJAw D1oA9UooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKAMXXfE2gaBNajWL2G3lkbMIdCzA9M8A7RyRngc1n6l480vR/EiabqEkUF o+nrepetLkMTJsCBQOeMtkHoOneofGen+I9UkFhpsUUumXdpLbz5n8oxSNwJG4JZQM/KOpPPFYVv ofibTNX0jULbQobr7P4ci06WOe6RNsob5gCN2eOfQgnnPFAHaal4s0HSLO1u77VLeKC6AMDg7vMB xyAMkjkc9BmrdvrOn3d4lpb3SSTSW4ukC5IeInAZW6EZx0PGR6iuDsvCWveGE0a6sbaHWJ7fTXsJ 7ea5CKheTfvQsMEDJU9yoAqSfwbrmmeENDg0e4R9Zso3tpZGbK+VNnfgnGQh2lf9wcdiAdDP458J r9je41a1HnMWt2kUjoWXfyPlHDAMcA9jW9d3ltY2cl5dTJDbxLueRzgKPWvL9c+HmpQ6s66UL+fT Lm1htXittUFqEVEKEOGRt6kc8d2bjmu+v7TVLbwi9no8w/tKK1WKCSZg3zAAZJwAT15wBntQBUi8 feFptOj1BNYi+yvcLbCRkddsjAkBgRlRhScnA461Pd+M/Dtjp1pf3WqRRW13/wAe7MrZkGcZC4zj kc4xXAv4Q8R3mupqN1pQRbrVNOvJozdpL5SRCVZAzEjccFTwMfNgZxW3458LaxqOvWmr6S98+22N rJDZ6iLNxl924MVYEHJyP9lfSgDuPt9p/Z/9ofaYvsfl+b5+8bNmM7s9MY5zVLTvEujatpk2pWWo wyWcBYSyk7RHt67s4xxz9Oaw7jwjPN8MH8MwzPDObfahkn37SG3hC4Vcr/D90cVBd6HrXiTwrr1r fafY6Pd3+0QrbvudtmMGWQfeB244HCnFAGvH468MzaTd6pFq0T2lmVWd1RiU3NtGVA3YJ6HGKj/4 WB4VNyLcaxCZGGU2o5Enz7PkOMN83GBnoT0Fcd4g8K+JvEWn61fS6VDZ3k1lBY29hBdKwk2Tq7SE 8KOBwM5xkV1o0S5HxOTVxaqNOTRfsqy7l4l87O0LnP3e+MUAaFx4s0G11tNGn1S3TUHIAhJ5ycYB PQE5GATk5pg8YeHzdahbLqkLTafE01yi5Yoi53HgfNjHIGSK4XUPAWtS+J74K+oy6bfXv2vzYdWW GOPlT80RjbcykcEdlXpit7wnoetaNd22m3en2L2Gn/aDHqcj+ZPN5jlgF6FDz82c5wMUAa3hLxnp fjG0lm08yLLAR50EiENGCWC5PQ5Ck8E4qaz8ZeHb/UrnT7bVYJLq2BaVOQAB1IYjBx3wTiqHw+0v U9C8NLoupWixGykdYp0lDi4VnZ9wA5X72MH0rAHh/wAT6n4l0691zT4LiGzlu4ZD9pUpPFNG4XCY +RB8qnqxznBxQB2WieKtD8RSTx6TqEdy8BxIqhlI9+QMj3HFS3XiDS7J79Lm68trCFZ7nMbfIjZw Rx833T0z0rn/AAXp2v6fezw3lq9ho8MIitrSW9F224N95HwCqbeAp9O3Sl8V+GLvV/EOmz2yg2Uy i21NcgboVdZV788qV78OfU0AbN/4r0PTPN+26gkIigS4clGICOSFOQOSSDgDnjpTf+Ev0D+wP7d/ tOH+zc487B6/3duN2fbGa5TTdA8VaN4fvZbZVl1VrmGJUaVQ0lnCAiqHOQrMATk9NxOAabZeFNSg 8M6zb3mjrdXcurHUraJL/wAtlZlQgpNgkOp3LkgZ9cGgDu9K1ew1vT477TblLi2f7rrkc+hB5B9j VLTvF2gatqs2l2Opwz3kOd8ag9uuCRhsexNN8Jxa3Fo2Neb/AEppnaOMuHaKIn5UZxgOw/vAc1he HdI13S/Exht7AaZoEZlZ4ftouI5i3K+UuAYsHJI6c9O9AGnf+O9BtP7St4L+3udQsbeWY2ofaXKK zFA2MZ+U5AyR6VI3jTR7PQtL1PVruKw/tGCOaOJmLkblBIGBkgbhk4A+lecS/DfxAtvd6cf7RuIY VnktZv7XQQuzB9v7loyQx3Yb5gPmPIrW1bwXr7Wvh27s/t32i10mKwubaz1JbV0YBckPtYEdcjvt XGcUAd3qPivQdJtrS4vtUt4obzH2d924SA45GM/LyOegzWdp/wAQNC1LxVdeHoZnF1C5jRmQ7ZmU MXCnHAXaeTjPbNc+fCetaKmnTaXYQ6kV0t9Nls7+6V0iDybwxOxQ6jlSAASABV+28OatD4j8Qxtb xLY63YxRG7tpAgtnjhMeFQ88kkjHTAoA3bHxn4c1J7tLTWLWQ2iGSY7sBUHVsngqMjkZFVNJ8cad rvin+yNLaO6gFibs3aSdGEmwxlCMg8g5z3HHeuBt/hpr95p81leSX8ElvaGC3mk1dZYHOF+VYxFu SMlRxuGAB1rrNC03X5fiCdc1TSILC3OkfZAIblZRvEoIB6HOAT0IAwM5oAvS+P8ASLHxLqmj6rND YfY2gWKWSXPnmRNx4x8oXgE5I5HStqfX9Mtmv1lugpsIFuLn5G+SMgkMOPm+6emelcPq+geJJPEH i82WkW09prcMFtHcTXSp5YEW1mC4JIB6g4PAxmq3i7Q7u01Lw7pdqzzx6nax6TeSF8M0cTI+4++0 SZI7E+1AHa+JfFun+GPD66xdCWSKVlSGNFIaRmGQOenAJ5x09cCsSw+Kvhy8vdRWS7jgsbZ4Ugun Lf6QXBJ+QqCoUjBJ478Vr+OdEufEHgrUNKsQguJVQxhjgEq6tj2ztxXOwaFrd8/ji9vNIFrPrGnx R2sJnjkJcQMrLuB4+bbycCgDqtS8XeH9Hube31DVbeCW4UNGrN1U9GJHAHB5OBWhqGpWWlWEl9fX McFrGMtK54Hp9a8ouvAHiDNqUS/liutNtbW6gttVW2ETRxbGVwUcOnHbPJbrmu48Q6Be3XhvSrex YzXWl3FtcrHLNgXHldUZtuOeucAZA4FAF6Txf4fh0GLW5NUgXTpeI5jn5jz8oXG7dweMZ4pbjxbo NppNrqs2pwiwupRDDcLlkLnPBIHH3TknAGOa5q50bxDImka6mj6euo2V3cXD6VBKI0dZVxln5VpR wd3AJJqqfB+sLpGlK9vG9w/iZNVuoElUpbREtlVJxkAY4HcnGaAOrtfGvhu+urO1ttXt5J7wEwIM 5fBx6cHIOAcZwcU2Pxv4ak1Q6YNXgW9Fw1qYXDKfMU4K8j14B6E9M1yI8I6yG3CwGf8AhMv7Tz5q f8ev9/r/AOO9fasyx0jV9fj8UaTZ2kAsrnxJM0t/5+2W32SKxwuOTjGCD1JzQB6RL4s0SDTNQ1GS 922mnXJtbqTynPlyhgpXGMnll5AI5rM0D4jeHvEM1/Hb3JiNmHkYzKUDQrtBlyRgLluhOfUCuU1z wv4q/sbxRolhpUF1banqJv47n7UqNhnRtgQ9xs5JIGM4yeK0m8JazPpPjHQmhWGHU7yS+tL1Zxhy 7KfLZRyB8mCe4JoA6BPiB4UktBdLrVv5JuFti+GG12zjdx8oO1vmOF461oXOvWy+FrrXrP8A0q3i tZLmPqnmBFJxkjIzjrivMYvAevz6jpd9dWmovJBqVsZhe6vHdZgRmJb7i4AzwNxPzH5a9Q8R2k1/ 4X1eztY99xcWU0USZA3MyEAZPA5PegCh4f8AGui+ILaMwX1ut2LZLie2EmTCCoLDOBnbnBI6d8Vn 6j8SdDh8Panqmkzx6nJp5QSQKzRE7nVMgleR83UAisvRPD3iQ3OhS3Vja6c2iaa8ELLc+Z9oleNV AcAcAEZPJ56E1gaz4Q8Y6za3d1d6cHvrjTFsWAu42LulxFJvOSqqGAchR0288mgD0e08TQza94g0 64jS2h0ZYHe5eX5XWRC5JGBtAx6n8KzdR+Jnhmz0KfVbe+F6sUohEUAO8uc4GDjAwrHJ4IU4zwKz tT8Ianqt746jA+zxatHZizm8wYdo0+YHGSBkAHI6E4zWfrHhHxF4ntdau7mxt9NuZrCKyt7OO4Dr J5cwkLsQABnbhfQHmgD0LTda0/VtITVrK5Eli4ZhMylBhSQxIYAjBB6+lZln478M6gGNpqscu2dI Dtjfh3bavboScbunvWnF5+paHjUNOSKa4hKzWUkodRkEFCwGCO2cV57/AGB4i/4RvW7S4tXsNNtr PNhayXwumE0Tb0dJMAqnygBW9Ow4oA7m98U6Lp0V/Jd3ywpYOsdwzI2FZlDBRx8xwQcLmsjVfiT4 c0zTtNv/ALWbi3v5vLjeJCdqjG9mGMjbuGRjdzwOuMbStKudZ+HralPpX2zUtQvG1NYRd/Z3Vs4j aOTB2kIFx06845qS90TxXfeFtMluoUudTsNYj1COzedd/koTtiaXG0sM/exigDpbrxt4bshYm61e CH7dEs0G/I3IwyrHj5QfVsUweO/DH22azOsW6XEEkkciSBl2tH97qOg556HBxmuR8U+DNc1HxHdX 9sl/Ja6nBFHcQW2qrbCIqpVlcFGDp9O5bjmobHwRrNrp1vbNZGQxeLUv2d5o2ZrUDHmE8Z+mAf8A ZFAHpGk6xp+u6el9plylxbOSA6gjkdQQeQfY0zXtWj0LQb7VJEDrawtIELbd5A4XPbJwPxrnfDtl regDVQNI8/7f4imm/wCPlE8u1fH77vnGPucGrvjPStU1y0sdN06QW6PdLLcXRRXEKoC6/ISN2XC8 c+9ADrDxlZS+FZdd1RDpqW0rQXcTEymCQPs2naMnkjt3q9pXifRNcmuYdM1KC5e2/wBaEJwB6g9C PcZFcHq/g/xR/wAI/wCJ9KMo1eTUvs9zFchI7fdKJFDqV3YHyIpzwD9a6C/8NXd544u7iKM2+nT+ Hn08XEbKCkhkyABnPC85xjigCaLx/pF94l0vR9Kmhv8A7Y06yyxy48gxpuHGPmDcgHIHB61Z1zxj YeHr66hvmQJb2H21ghcytmQRgBdm3BYgZ35yeQBzXMaP4f8AEkfiHwi19pFtBaaJBPbSXENyr+YD FtVypAIBOOBk5JzitTXfDeo6p4w1K5iiVbS68Ny6cs7OMCZpCQCM56HOcYoA3vDXiXT/ABVpC6jp 0jMmQkqMpBjk2hihyBnG4cjitisTwjFqFr4W0+z1OyFpc2kK25QSrIGCKFD5HrjOO1bdABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAchrHjOXRfGbaVJZS3NoNL+1qlpbtLcPJ5pXAAONu0E8gfWp7vx5plvo9pq0NpqV7Y3KG QzWlqXWFASGaQ9Fxg5HXjpVj+w7r/hYf/CQeZD9k/sr7FsyfM3+bvzjGNuPfOe1cna/D7xBD4b0z Rjqdj9njtri2u4mDugEkjN5kfTLgEAbhgc4oA6jUfG2mWM9jBDb3+oy3kC3KJYW5mZYTwJGA5C/m faneM9fufD3gy81qyijeeERlEuEbHzOqnIyD0Y/jWJqng7Wbrw5olhbf2Ot3ZWi2r3Mwl8yEhApe F1IOeM4IrX8V+Hb3XPAc+hQXSSXjxwp9ouSQHKOjFm2g8naeg6mgC1pPivTdXmu4Y1uraS1QSul5 A0JMZziQBuqnB5qja/EHRLhJpZVvrSBIGuY5rq1aNLiJcZeMn7w+YcdeelRWnhK9vNT1O/8AEN1a zzXVgdMQWcbRqICSWJyT8xJ/DFcrZ/B0fZbq1vF0xMwmOC7tvtHms/GHdWk2DkZIAI9MUAdZL8Qt Kt9I1C/uLLU7c2IjeW2ntvLmZHfYrqGIBUn37Vf0Xxdp2ualPp8EV5BcxRiZUu7cxGWInAkQHkrn jJArhx8K7tfDer2cMOjWt9eJHFE1vJc7Cqyo5Ll3bnCdl4PfFdt/YVz/AMLC/t/fD9k/sr7Fsyd+ /wA3fnGMbce+c9qAE1zxhY+HryOG+s9REBx5l6lqTbw5OBvfp1PbNVdZ+IWj6I9+s0N/OLEqs0kF uWjDsR8m8kLuwwOCeme/FZ3jHwZrfiS5v44dRtBp91boqR3CuWhkQ7hsxwAzfebBOOAK4rxIZzJ4 k8MWbNHNqV+twthJaSGWSRnj3OsgJXyjgsCcHjGBQB6c/jPT08R3eh/Zr5rm0MfnSLBmJFdN+8sD hVAxnOOTxmoLX4g6JcJNLKt9aQJA1zHNdWrRpcRLjLxk/eHzDjrz0pYPCsj694subx4mstbhhhRY 2O9VWIxvu4468YJ/CuPs/g6Pst1a3i6YmYTHBd232jzWfjDurSbByMkAEemKAO2tPG2l3Fpf3FxF e2H2GLzpor22aJ/LJIDgdwdpxjmqWjeNJNb8anSYbOa3sxpn2si7t3inEnmhe5wVKkHgfj2rD034 WKuj6tZ3cWm2st5D5Mcli1w2MOHVmEkhB+ZVOAB3Ga29E8PeIIvGp1/WrvTps6Z9i22iOmD5gYcH ORgE5yOTjGBmgDC8R/FS80yfxBaWmhXXm6bJFHHPNCWiBLYLS4I2qw+5yd3B9q7DTPF2narqN3YR w3sNzbR+cI7i3ZGmi6eZGDyy546VzPinwLrWq3XiI6bc2AttbjtvMFyXV43hK4wVBG0gHPfOK37n w/fS+OJtchuYoYX0ZrBCMmRJTJvDYxjAHv17UAYet/FS103Trx4tG1Rb+DaVt7y3MOYy23zT1ITP GcZ3FRxnI0/EHjd9H8Er4hj0W/DvIIxbXUXlPEdxG6Uc7V449dyjjPHMz/DPW9Qt7gahqNi1xNp3 2Eyxh8nZLHJG7FslmYodx4xkYzXYa/oWoeJvAs+kX01rDqFxGm94AxiDqwbjPO3Kj3oAx3+Icsfi CO3k0bUUtJNLN2tqbNje+YJjHgoDgLtUtz7HPatWXx5pAsbC6tI77UPtsZliisrZpZAisFZmA6AE 4PvTdP0PV/8AhM4PEGpPY7v7HFlMlsz483zd+VDD7uPU5z2rjm+Et22iaOkv9l3N/ZwyW80dw8/k srTNIrKUKtkB268HPsDQB6FceJdPh0Wz1dDJNZXTxIkkaj5RIwVWYEjAyRnuPSq0vjHTYjqChLiS SxvIrJ40VSzySFQu3LdMt3x0NIPCsI8CSeGgIo0e2eIeXv2KzZORvZmwGOeSaxNM8BXdrq2iX11d xSG3Vpr8KSfPucyMrj5egM0np249AC2fH9lY2l3c34uJI4tafSl8i1wVYDIyPMYsBg/MME9kFLJ8 StFhtTNPbalC6XkdnLbyW22aJnDMrMmc7SFJ4yfaqH/CDan/AM97P/kav7a++3+o/u/d+/7dPejU /A2p3vi+41aOezFvLqun3oVnbdsgjZXBG3GSWGOcepFAGxB490iawvbmSK+t5bOZIZLSa2ZZ97n9 2BH1O7t/So5fiFpFvpsN7PbajEXvUspLeS2KzQyOu4b0JzjHPy5zngGsnXfh3PrupeIbiaa28u+n s57RWLkBoY2RhIBg4IYj5TnnPBqvY/De6s7HTVii0q2nh1e2vrhLZ5zGY4g3A8xnJb5vRR60Adlc eIre10a11O4tLyGGeWOIpJGFkiLuEBdSeBkjPfnpVaXxjpsR1BQlxJJY3kVk8aKpZ5JCoXblumW7 46GtDXtLTW9BvtMchRcwtGGP8JI4P4HBrk9M8BXdrq2iX11dxSG3Vpr8KSfPucyMrj5egM0np249 ABbL4jwwz6mmsW8qRWurTWQuLe3YxRRqQEaVycAkkjj8hWjeeLfD1p4mMUtpM11Ey2suoraFo4WY /LE0uOM7unQZOcVlXvgbU7nwh4p0hJ7QXGraq97Axdtqo0kbAMduQ2EPQEdOadqHgPUbqfUtOhvr RfD+qXwvruN43NwH3IzKpzjDFOp6elAG7beMLG88QTaTa2epTeTKYJbyO1LW6SjqhcdCPcY96bc+ NdLtdYbTnivWWOVYJrtLZmt4ZW27UZ+gJ3L7DPOKoXPhbVpvGsWqwS6bZ2azLNLLapIlzOACPLk5 KMpB64z6YrFv/hYtz4qub9YdNms7u5NzI1w1wJ4iSCwTy5FUjO4gnkZ70Adf4s1i80fSYjpkUM2p XVxHbWscwJRmZucgEHAUMc9sZqDSvFsN3pehXFzBJHNqjGAhB8sU6qxZGycjlGA69KZ4l8L3PiTV tPZtRuLGxtEkcPZTeXP5xwAQdpAULuHXPNZR8C6jB4a1PR7bUt7C8S90y6uZN0iSAqxMh2/3wxyA fvUAbUHjTTLqC2lgjuZftF5LZoqIGYNGGLMQD93C54yeRxUFt4802camJbLU7SfT7V7x7e7tvKkl hXOXQE8jIxzjmqOl+BJdL1w3VtdpFbR6eILZV+Zo5yiRtJgj+7Enfnnj1zrTwFrq/bJr280+a6uN Fn0ouhkGSceXI5IJZj8248Y4xmgDcj+IOlyabBfLZaqVuWRLaIWbGSdiu4hF/iCjOSOOOCaXwJrC a3a61cR2VtaomrTxqIYDE0gAUh5AefMOeScdOlQXHhLUV0rwxJY3NpHrGhQiJWmVnhfMQjkHGDg4 BB68ds1d8F6BqHh+01RNSnt557zUpbzfACFIcL1B6HIPHOPU0AZtl8RrEaPod1dxXlxLq3niH7NZ 4JMTYI8sO5BPAGC3qcDpnaj8VA15ptto+k6hM1w0gnDWZkljZPvRCMOuZB1b5vlBB5zirHh/wNqe lf8ACHefPZt/Yv237Rsdjv8AOzt2ZUZxnnOPxo0zwNqdl4vt9XkntDbx6rqF6VV23bLiNVQY243A qc849CaANu78c6RZ6y2myLeHy5Vgmukt2MEMrY2oz9ATke3riqF38TNIs4tTkaw1WRNNuHt7l47c FVZXVM7i23ktwM54PA71dQ8B6jdT6lp0N9aL4f1S+F9dxvG5uA+5GZVOcYYp1PT0pt74G1O48IeK dJSezFxq2qvewMXbaqGSNgGO3IOEPQEdOaAL8nxL0KIt5sOox+VMsU5ktGX7OGxtkkz91GyME8nP TrWhrnjCx8PXkcN9Z6iIDjzL1LUm3hycDe/Tqe2awPEHgbU9V/4THyJ7Rf7a+xfZt7sNnk43b8Kc ZxxjP4VJ4x8Ga34kub+OHUbQafdW6KkdwrloZEO4bMcAM33mwTjgCgBZPiI41zxBpp0a/iTTInYX X2fzEUpG7lpBuXCttGzn5s9Vzxcf4haVaWdi9yl7O8tnFd3EltZsVt43XIeQAtsB54yxHv1qG+8K avLq3iW4tZ7L7Nr2n+TKkpffFMsRjTBAwU5JJIz6Cs7/AIQLW7WykttO1CwiXUdNt7DU/OjdyDHF 5e+IgjOQcYIHrQB0GreOdN0nVU002moXlxJZi8iFlb+b5iFiMDBzngnnAx3qTUNasNV8A3mt2kUF 7aizkuYo7mPcjNGCwDL7Mv5iobDwrJp3jG11KB4v7OttETTI0LEyblkDA9MY2jrnOe1V9G8KX2nf C+TwzNLbNetaXMAkRmMe6QuV5Izj5hnj1oAXw946stSTTrOe2ube8uLJZ0/0ZkhmYIGdYc8tt9B+ Zp6fEPR1TUDewahpz2UXnvHe2xieSMsEDop5ILEDtyarN4Q1Mv4PaO6t4n0Wxmt5pASTveBY1ZBj kBhnnHFUNL8Da3b3r3moXGlXU8mmPpzh45HWQb1ZHkBOXZsNu5GOMZoA7HQ9aXXLRpxp+o2JVtpi v7Ywv9Rngj6E1zdx8QF0vxTr2najazNZ6f8AZzHLaWzyFFePc7SkEgAEjHT8a0PBmganodvd/wBp XFt+/dTFaWZc29sFXGE3/Nz1I6Z6Vkap4P8AENzrniWexvtNhsdcjhgkE0bvIqLFsYjGADycDkHP bFAG3qvjbStJuhC8d7chYlnnltLZpUt4mBIeQjoCAfU0at410vSLv7PJFe3GyJZp5bS2aVLeNgSH kI6A4Pqa5XWvhTHc6rFc2MWnTwG3ht3S/afMYjTYGXy3XOVCgg+mc0uu/Cxb7WEvLOHTZonghhlS +a4/d+WmwMmyQE5UKMMT0znrQBsn4m6Gs1wrQaiIba7a0nufs2YYiDgOzg4Ck8Dv7Ct/Xtes/Dun rd3izSeZKsMUMCb5JZG6Io7k4NcZ/wAK81CLwF4h8PQTWayX+om5tmLvsWLfGQGJBbOEP97tyetd j4l02fVtDns7eHT5pHwRHqEbPE2OedpBH1HT0oAibxTZw6Aur3Vtf2qM6xi2ntWWcuTgIE6kkntk e9ZD/ErR45bSB7LVlurl5I/spsz50ToqttZM5yQ64wCOeoqnceAbzU/BI0jU76Ga8W8+2RgmRoIj n/VDkOY8Fh1yM+wqn4e+G91o3iLRdV8rSrf7K05uYrR5yDvj2pt8xmyQc5Py8Y60AXtU+Jttbabp t5YaVf3X2q++xzReViSB1xujK/8APU5+Ve+Dzxz21ncfbLK3ufJmg86NZPKmXbImRnaw7MOhHrXC TeBdWOn3vkXVkt6PEba3aeYXMZH8KSYAI75xn6130XmeSnnbfN2jfs6Z74z2oAfRRRQAUUUUAFFF FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AcdfeO/sHjr/AIR59HvnhECyPdRx7gu5lG8+kSgnc/YgjHFXtE8a6Vrt+LO2jvYXkQy273Nu0a3M Yxloyeo5Hoaq654Vu9S8VLqcM1sbS5019LvopdwbyWYsWjI/iycc8VW0Hwhq1tqukz6xfWc8GiW7 2+ni2jZGYMqpukycZ2jGB9aAOp1fUotH0i61KaKWWK2jMrrEAWKjrjJA6c9azLvxjpVnLqMbmVms LJb6TYAd0bZwF55PA64HzDmrmkjUL/w+i67Fbrdyq6TpbhhGVLEDAbkZXHXnntXE2nw0vIrTTIp7 2F5IbvN24J/fWy+XsjHy9R5EPp0PPqAXtf8AHd1p2n+JprONDcaStmyw3NuQF87bkMyyHecE9AuD /e61uaRrl1f+L/EekSxwi30z7N5LKDubzIyzbjnB5HGAK5/xB4G1PVf+Ex8ie0X+2vsX2be7DZ5O N2/CnGccYz+FdBpGh3Vh4v8AEeryyQm31P7N5KqTuXy4yrbhjA5PGCaAMXS/iJE2oalaatbyxi31 aWxjuILZzCiBgqeY+SAxJI/oK17nxrpdrrDac8V6yxyrBNdpbM1vDK23ajP0BO5fYZ5xXNt4C1y5 XV9NuL7Tl0bVNWe+nRUdpthdWChuACdoB4OOoJzior/4WLc+Krm/WHTZrO7uTcyNcNcCeIkgsE8u RVIzuIJ5Ge9AHaeIvEll4YtbW5vo7h47m5S1UQR72DMCQSM5I+U9Mn0BqrB4ysbrSbq+gstUkktZ PKmsls2Nyr4yBs9wc56e9ZPxNSaS08NpbyLHO2vWojd13BWw+CRxkA9qY3hDXzZ6rerqVmmu6hdQ TS+WsiW7JEMLEed2085I5OcUAXX8c2dzp+mXln50X2rVY9NlhntcyRyHOUYb12EcfN82P7pqnqnx EiXUNNtNJt5ZBcatFYyXE9s4hdCxV/LfIBYEAf0NVYPAOpwW1vD9osWKeIotZdl3Iu3YN6KuDghs 7RnpjJFMXwFrlsNI063vtPbRdL1ZL6BGR1m2B2YqW5BI3EDjnPJGMUAbPifxu/hzxFpmlrot/fLd xvIz2sW9iFB+WNf4mBGW5GFIPOeKNl8R4YZ9TTWLeVIrXVprIXFvbsYoo1ICNK5OASSRx+QrY8R6 FqF/rehaxpk1qtxpkkuY7kNsdJFCt93ncAOO2aw73wNqdz4Q8U6Qk9oLjVtVe9gYu21UaSNgGO3I bCHoCOnNAG7c+NdLtdYbTnivWWOVYJrtLZmt4ZW27UZ+gJ3L7DPOKs+IPE9n4dFqk1veXdzdMywW tnD5ksm0ZYhcjgA5Ncbf/CxbnxVc36w6bNZ3dybmRrhrgTxEkFgnlyKpGdxBPIz3rrPFuj3ms6dF HY2+lTzRSiRV1KNyoPqrIQVI9efwoAmbxNaJqOi2L292k2rrK0Akh2FPLXcwcMQVODxwayJviRpM N79k+xanLN9subILDbiQtJAFLYCsSQd4xx65wOaguPCGtxWvhq4tNVguNX0YSqZb5WZJVkG1s7fm 4HA57cnvVLQ/Ams6f4lsdUvbuxm8nUr+8mMRZS4niRVwpHBypJGeBjBNAG/pPjzRta1K1srX7UGu 4jJbyyQlY5Soy6K3dlHUDp65rQ13xDZ+H7eKS5juZ5Z38uC3tYjJLK2CcKo9hXK+H/A2p6V/wh3n z2jf2L9t+07HY7/Ozt2ZUZxnnOPxre8TaDfajd6Zqukz20WqaY8jQfalZonWRdrK205GeOR6UAc9 rHxN8u80mDRtMvbpbzzGkcWbSOpQkNGse5SXGPm5G0EH5s1ofEjxVf8AhfQlbTo4luLhZVW6nOI4 CsbMOxBckYUHgtgGq2meBb3T9e0TU3ureWSC6vrzUGG5d8lwgUeWvPAwByR0zWp480nW9Y8NXNto lzEsrwypJbTRqVuVZCu0MfuNkgg5Az14rrwHs/rMPa25b632+f8AVu+hMr20Oe1Lx9r9hdWemXNl oul3rwvcSXWo3pFpKivtAideSzD5sHBAIyKnh8e6p4gi0eDwxZWD315YNqE63szBIkVxGVG0ZJL7 lB46VGvgbxDp9jbw6fe6Lc77qW5uLe/si0EDyOGDW68ldmOFyAcknmpx4F1TQzpV14XvbFL60sWs J3v4mZZkaQSF/lOQwfc2O+ea9d/2dyrl5ebW3xW67rdLa2r/ADM/fM2L4narrWn3GpeH9O0+W10y xS81Nbidg4JDkxx4GMgITk/lXZ6z4ptdK8EzeJlUSwC1W4iUtjfvA2DPbJYD8a4yL4Y6roun3Gm+ H9R0+K11OxSz1Nri3YuSA4MkeDjJ3kYP510GteHLzVbCbwmiW0Xh86SsUcxRjLHcI4CdwpUBQcDn I7ZGc8RHL5VYeytyJ6735dL3873tbp8hrntqY934/wBd0W8bRNY0/TP7eufIOnx287+VL5shjwxI yCuOcdfap28e6pZWd7p9/ZWB8R29/baekUMzCCV5wGjbJG4DG44/2agu/AGva3etresahpn9u23k DT5LeB/KiEUhkywJyS2ecdPep28Bape2d7qF/e6ePEdxf22oJLDCxgieABY1wTuIxuGf9qtf+E2y 5uW+l7X3utv7tr36326C983vCuv3+p3GqaXrMNpFq2lyxpOLR2aJ1dA6Mu7kZ54PpXMp8Sb+CO21 6+tNPj8K3t1La286TMZwU8zDsCNuGMZ4HT3rX0fQPEmmXFxqkk2kS6tql9A+pEJIsSWyJs2xdy47 FuOTmshPhtfzxW2g315p8nhayupbq3hSFhOS/mYRiTtwpkJyOvtWNOOAVSbqNWdtr9nzcvnzW5b9 PIb5raGh4d8Y61earpEGt2Nhb22u2r3WnG2mZnUKqtskyME7WzkV0uraudPv9Jso1DT6hcmJcjIV VRnc/kuPqRXNeHfB2tWeq6RPrd9YXFtoVq9rpwtoWV2DKq75MnAO1cYFaPiTTmfxb4S1gBilldTw yYPCiaEqCf8AgSoP+BVhXhhZYhKna3LLa9rrmcd/+3b+dxrmtqchafFbUbn4YajrzWtnHrNpsdYW RvKkjeYRhwN27H3x16rXQn4jWFhZ3t1qAuJYotdfR1+z2mCjAZGR5jFwMH5hgnsgrnLz4Uajc/DP TtDS7tI9ZtBJG0wdvJliebzShO3PUIenVfQmtP8A4QDVT/y8WX/I3/2799v9R/d+79/26e9ehVjl cublaS5pfdpaz7PVr1sSuc27f4h6LNp99dSRX9tLZTJBLZz2rLcb5DiMCPknd2/pWroHiK08RWss tvDd20sDiOe2vITFLCxAYBlPsQeMiuN8QfDOfxBqniW5nmtfLv57K4s1YuQGgjZGWQLtIDBiPlbP OeCK2vAPg8+ErC5Ettp8FxcspkSwado8KDjmV2JPJ5AH41wYill6w7nSk+fSy6apNq/k7rbp99Jz vrscz/wtn/i1f9u/a9G/4SL/AKB/mf8ATfZ/q9+/7nzdffpXay+L9PiufEcDQ3Jfw/Ak90Qq4dWj MgCfNycKeuOa4r/hU3/Fq/7C+yaN/wAJF/0EPL/6b7/9Zs3/AHPl6e3StTX/AAX4guNX8SXGi3+n R22v2aw3S3cbs6MkZjUIV4AIJyTnHYGuqrTyypKUYSt70rel4W26cvNbzEnNbkrfFjQwZwLDWJPI t7e6lMVp5gSKWMSB2KsQoVWG7OPbNbWpeNdI03+z+Lu8N/F9ohWyt2mPk4B8wheQvI5rmtG8Aarp 2leJrWa4smk1TR7WwgKOxCyRWphYtleFLHIxk47DpVpPBetWDaDfaTfWEOp2ekR6Tdm4jeSNoxtO 5MFTkMCRnGc84rKpRy3ntGWnrv7qfbT3rrqCcyr4Y+KkepafpcWo6fdyate2z3Ij062Lx7RO8QA+ YlfuZJb5cZ56Cugs/HekX2tLpsUV+FklaCC9e1ZbaaVd25Ek6EjY3sccE1z/AID8Aar4X1bT7u+u LKRLbSJLFxC7EmRrppgRlR8u1gPXPbvVLQPhGuieJ4bsQ6XJZW0/nwTlrkXX3iyqQJBHxwM4OQOR WuIpZU6lXlk0ldxtqnq/TbT738hOdkamrfEuFdS0uz0e2mkFxrEWny3NxauIHQsVk8p8gFlIA5/I 1Y+IniDxV4X06bWdJj0aTSraJPOW7WUzmRpNvyhSF2/MvU56+1ZC/DvX7YaLpltqGmtoek6wl/BG 0brP5YdnKluQSNxA4Gc5JGMV1njzw/d+KPBeoaNYyQx3Nz5exp2IQbZFY5IBPRT2rN/UaeIoqFnC /vX10utXtZ2+4PeadzAuvF3ibw5q2hWXiO30yY6hJdmQaVDNI2yOJGjCAnO8uSDwRjHTk1qD4i6K 2hxalHDfySS3DWq2EdsWuvOUZaMxjowHXnHvVvWfD93qPjTwzrMMkK22lfavPV2IdvNjCrtAGDyO ckfjXMx/D/WrO8uNXsbzT01aLW7zUbLzg7xNFcIqlJMYIPyjkZxjjrSgsDWhB1LRlbW2ivzSstnb Tlu+iD3lsdGfHWkHTNLv41upItR1BNNRRFteKZiRiRWIK4KnPU+gNRan8QdH0q+1WznhvWuNOlt4 DHFEHa4knQsiRAHLHAPXFY8/w91AeGY47e/tjriaz/bjSujCCS4yflI5ITBA454zUaeCPEMsvim6 1F9AvrnV/srRxzQSGDMSsCGXOV6jDBmPGcdqUaGXatz0Xnr8UfLblv2+QXmdV/wk8f8Awjn9sf2R rPp9i+wv9pz6eX/XOPesU/FLQtmnkWuqNLeyzwC3S1LSxSxBS0boDuDfOoAAPXnA5qOPwn4mg8Ef 2dFrMA1T7YLoAtIbdU3Bvs4b7/lcY65xkdDWdoXw61XSfFWm6lLc2D29tf3t7KItyEm4gjTaiYIA Dq3Vvu478UU6GX2m5yvbmtZvWydunV2G3PSx0sPj3RZvDMmu4ukiin+yvbNCfPWfIHlFBn58kce9 V/CfjCfxN4j8Q2ZtWt7TTxbeQs0DxTgyIxcSKx6hlwMAcevWss/D6/fS9VjN3ax3z+I31zT5PmdE ORsWQYHbcCBkDPetTwl4c1rSvEfiHV9aubGaXVfsxX7IrqFMaMpG1ug5AHJzjJx0qalPAxo1XTd5 dLvzjtprpfW/yBOV1cx/+E/1X/hS/wDwmX2ey/tH/nlsbyv+Pjyum7P3eevX8q1tV+JOkaRq+p6b NZarNNpoja4a3tfMRUdQ2/IPCqCMlse2awx8PtfGjjwkb7Sz4T8/zD+7k+1GPzvN8vOdvXjdnNbF x4P1CXUPHdws1rt8QWcUFrlmyjLA0Z3/AC8DLDpnitpxy7mldpq8mrO2jlBRW3RczsL3zN134opp Vtrt1ZWz6jHZfY/JEcGxFW4jLh3k3tlcDrsXBKrznI3JvH1lb2VjNJpGuC7vFeRdPFizXMcavsZ3 QH5Vzg5zyCMVy8Pwv1N9A8Q6bc3toh1Kx02CF4yzbXto1Vt2VHyll4xk4PQdKseLPh3qHiuXTNVu 49Gm1aK2+z3UMzXAtm+bcGQoyuCMtweueelW6WVuUYOWl9Wv8EbaaL4r3f8AncV5mnrfxL0qz0ue bTFub24/s83sTx2ryRRAqTH5pGCoJGO2O+K6bw9qEureGtK1KdUWa7s4Z5FjBChnQMQMknGT61wD fDPVtLsdStPDt5pdtDq1gLa9imjmYB1VgDGWdmUENjknHUA9K7/w9p8uk+GtK02dkaa0s4YJGjJK lkQKSMgHGR6VxY2GChRX1Z3d+u9rdVbTX17lRcr6mlRRRXlGgUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHn3xA8S6pourW cCaoNE0p7dpX1I2DXYaUMAIioHygjnPvVTUvG3iux1LwpZ2elafqzalbSSu9pdhI7p1UkiNnHyBR tckjndtHQ56zxD4f1HVbiG50vxDdaVKiGKRVjWaKRCQeY3+Xdxw3XmsofDuGzs/DcWkanNZT6C0h hmeIS+Ysv+tDKcD5uee2eK9zD18EqMFUSb1vdPtKzbST3ts5aapRa1yald2E8QeO7/QNbjsZPDck sNy4t7Of7dEDPOwOxNnJVWIxvPTPIrH8P/E3UP8AhBR4g8Q6XHEssyw2csVyiLeO0jqQAx/dBNvJ Y8gE1qXnw6e616XUf7cnEJ1KHU4rZ4FYJOhXJLZDMuxdoXIC5zzTYfhnCvhKTw3cao09lFdC50/f bRk2hDFsHORICWbO4chiKuMssVGMZJc143fvXtre3ntfo1e2tg9+5QPxdiexhFvo6y6nJc/ZjbjU YfIVtgf/AI+ASnIOB3JBGOK9DsbiW7sYLia2a2kkQM0LOrlD6ZUkH6g1xlv8Pbuy0GSystctra9m kVpbiPRLRY5AOimIIM4ycEnIz+FdR4d0SHw54fs9It5ZZYrVNgeU5ZuST+p6dulcmO+pcn+zWvf+ 9t87JLstX3ZUebqeYaJ4m8XWvgW08c6n4iivdPMgW4097CNCqef5RZZEwSR1xjFdXf8AxGistSu8 aRcS6LYXQs73VFmQJDMSoxsJyQCwBPb0NUdE+Geoadp9ro9/4qkvdCtpBKunpYpEGYSeYNz5ZiN3 OKvX/wAOYr3UrvGrXEWi310L290oQoUmmBU53kZAJUEjv6iu+vVy6pWk5Wau7WTiuW6srJL3kr2b 0va7ZCU0jB1nxhr1p4/u9Mgv9lnHrmk2ix+ShxFNE7SrkrnkqOc5HYium1PxtcaP4qs9LvtEkisL y4S1gvvtcbF5W+7+6BLBf9o4+lVtR+Hf2/xVPrf9q+X5up2OoeT9nzj7MjJs3bv4t2c44x0NNvPh 091r0uo/25OITqUOpxWzwKwSdCuSWyGZdi7QuQFznms5VMunyKVlaKT0a960V063u9bp69x2miI/ EqdYteum8OXTWOi3U9tPcxzqwYxkBcLjdk5yeMKOcnpV5PFWp3ngTUtdOmJYT2sD3EapeRXUcqoN /DoSMEDB4B549au6R4Vk0ix163h1NxJquoT3yzJAuYDJj5cNuDYx1I5z0FYy+C7rR/CPiWAXzanq msQNE7rbiCPcUMa4jT5V4PJ74yelZXwMnaCS96Nvi1Wl99F1u35JLqP3jtrK7iv7C3vIGDQ3ESyo wOQVYZB/I1PWPoWj3WjeZbtqPn6ckEENlaeSF+zLGm1vnzl9xAPPStivJqxjGbUHdf1+Wz89rrUt BRRRWYwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8E8WX2uXHxL8WWen3fjOS4th a/2bDo0hNrFK0AP+kKThULYPv8+al8c6pqtv420601m/8VRpH4ciubyLwtMV23AkYPIVJwI+o3df u16Fawy6N4s1/WLXwv4guZ9UeFZnE9l5REKlEaMGZWAIOfm59h0qMpO3jE+Jz4Q8Rm9On/2cYzPY eV5fmeZnHn53Z98Y7UAcReXPiGf4e+FYrjXNUgTU/E0Ntb3cV2FuzYybwnmSISGfHOeR0yDitvw9 4Vnl8ceZY+LvFV9pGlPtuWvNTZ47i5B/1ShQMqmPnzkEnb2amS+EEbSIdLt/Dni+0tbbVBqlosF1 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 iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5L/hHtK/4Sn7H9l/0f 7F5uzzG+9vxnOc9K62ofskH277Zs/wBI8vyt+T93OcY6da5sTho1+XmSdn17dTow+IlR5uVtXXQx NS1G/F5fi1njgjsIllKyR7vOyCcZzwOMcd6saxqM8Phd9QtyYZikbrlQSu4rkYP1q7d6TYX0yTXV rHLInRmH6H1Hsalu7SC+tXtriPfC+Ny5Izg5HT6Vk6Fe1T3t07avzt6W0Wna+5oq1G9P3dmr6Lyv 638/Q5/UtR1WzuobJZJZJWQzNJb2gk4zgKFz0Hc5J5FPbVNSuvs0KMlhN9la5la4iwpKtt28/dHU k+hFbN9pllqSoLu3WXYcqTkEfiKbPpGn3UMMU1pG0cP+rXGNvtx29qzlhcRzS5Z6O1tX/S9Vv1NI 4ihyxvHXrov6fo9jC1LW9SGoPBZRysIY0fEFt5yyFhnlsjC+hHoamiurye61t7ZRFOkcEkamJQ2d m4q3GT6c9O2K1rvR9PvpEkubSOR0GFJ449OOo9qnhs7e3uJp4owsk20SEE87RgcdBgelCwtd1G5T 0v3e1mvla6+6+4PE0VC0Ya27Lun89n99jnb3xDcOrXNgWe3/AHcI2x7z5j8k44yQMDHHLVoaLeX9 5bXEd0k6SRkCOWa38osCOu3kZBz09qvLpditm9oLZPs8jFmQ8gknOadZafa6dCYrSFYkJyQOSfqT yaqlh8QqqnOd1bVXf4L+mTUr0HTcIRs+m35mVpOp3N/c2sTOcx27NdDaOZN20D25VjxVe11e/d7O 9klRre7uTALUR4aMZIBznrxzWnpOlfYJry4cIJbqXeyoxIUemTjPJPYdamj0mwivmvY7WNbhuS4H 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 AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFRzzw2tvLcXEscMESF5JJGCqigZJJPAAHOaAJKKKy9S8S6Do1wtvq mt6bYzsgdY7q6SJiuSMgMQcZBGfY0AalFV7G/s9Ts47ywu4Lu1kzsmgkEiNgkHDDg4II/CiW/s4J Wilu4I5F8vcjyAEeYxSPI/2mBUepGBzQBYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuX+Itjb33w818XMfmLDp9xMiljt3rE+0kdG wfmGc4YKw5UEdRWXrep6ZZW/2XUo5LhLtHQ2sVpJdNKmMPmNFYlPmAJIx8wB+8MgGpXH3EOsS/EP VP7JvrG1xpVj5n2uze43fvbvGNsqY79c5yOmOektprHV7e2voRHOiOXhd48NE4DI3DDKOMuhBwR8 ynHIqvqWp6Zo1ws9xHIbu5QIBa2kk88iISeVjVnKKX64wDIOhYZAM+1vZrXxVqy6lfRiC10eymlc kxwI2+68yQKzEICEGck8KMk4rh7Kea60zTri4lkmnl0zws8kkjFmdjeuSSTySTzmvSFttF8RJZam 9naXpt3L20s9uC8DhhuxuG6Nwy4I4IK4OCKsJpOmxoiJp9oqIkSKohUBVibdEBxwEY5UfwnkYoAx /FaTXF54cs4727tY7rU2jnNrKY2kjFrcMUJHIBKjkYI4KkMARz5Es2o6h4egn1K7ktr1xZWrarNb gRC3tZHeW5XMxCvOQFy2TKBt2qGj9AkghmeF5Yo3eF98TMoJRtpXK+h2swyOxI71l6jp/h+/vE0v UtOsbqa633ohntVkEhjCRtIcgjcA8a5PODgcDgA4vw/Pc+JZNAgudVu/sj2+rbxYag5WdIbyKOIe eu13CrjEgKs3ckMwanbalqmkeErfVItWvp77UPCl7rE8t1N5oFyqwOhRG+SNVMzgKqgEYyDgGvUI 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 t5Y5oJUDxyRsGV1IyCCOCCOc1JRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc/wCJNR0ywlt1v9Q/ seSaKRYdXPkqIcNGWiDygqGfAIXByI2PVQa6Co554bW3luLiWOGCJC8kkjBVRQMkkngADnNAHP8A g+eGLw7biSWMfab27+zyMwBu8zyuJV7MZEBl+UBSCSoC4Ajur+z0Hxlfajq93BYWN5p9rBBc3Mgj jaSOS4Z03HgNiVCAcFhuxna2OgsL631PTra/s5PMtbqJJoX2kbkYAqcHkZBHWs/WPE+m6DKkd+L5 d+wK8On3E6ZdtirvjRl3FsALnPI45FAHP69daPf2+mXs9vAmgT6qWv7i6RFtruMWsipLITw0fmCF VZ+CUjK5GwnHisdL1K9sLS1jgl8PSeJWFnHati2eIaW5dY9nymMyiUMo+ViZAwOWFekWN7FqFnHd QpOkb5wJ4HhcYJHKOAw6dxz16UJfW8mozWCyZuoYo5pE2n5UcuFOenJjf8vcUAeX2dh4bsPiv5F3 aaVbQwSzwadHLHGixyeXp0kaRA9G3yzMAvO6RyOWOcfVLiIiKfw19htdSuorxGtdOtnOpxt9iuGR Lq4VyTMXRWMbLu8xTguYyx9wqvcX1vaT2kM8myS7lMMA2k73CNIRx0+VGPPp64oA8716DwLN4Wlf S4tGfTIdT057loFQ2af6UiseP3Qfy2YOR82wqG+UrXUa5ftZ+Fba38Lm0+136LaaR5bKsClkLK4I Vl2JGrSYxghNo5IFdJRQB5fdW+t+GdL1iwg02Cwg1HSpIdNTTL6W5kW9htmCAFo1fc0MS4xwDb/3 n5z9Z/4Rb+3bP/hGPsP9n/ZG/tD+zsfZPJ+3WPnb9n7r/Vb/ADO/l7d/y7a9gqvf31vpmnXN/eSe Xa2sTzTPtJ2ooJY4HJwAelAHld1DoFzfazBoBjGlyPoKA2MjJCCdQkDeQyEBR6mMgB9/8e6o9W0X S7fWtcsDfeHNEYSqmlRzaV5l7EhgjIey2yow/fGUqI0P73eRliRXqh1Wxxp7LcxumovstHj+dZj5 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 UUAV1uJW8vNlOu+V42yU+RRuw5w33W2jGMt865A+bFiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACsPxLpk2qW8ES6Ro2rwK5Z7XVMqobHyurbJACBuGNnO77wxhtysPxfq99oPhXUdT06zjuri 2t5JgJX2xoERnLP3I+XAC8kkDKjLKAWNJ02bR7CC0Ro7gvcTT3UrEx4aV3lcouG48x8BSeFPLMR8 1fWINae4mW0tdN1LT7m3EMtlfzmFUOW3HIik8wOrAFTgDZ33HBrF/qX9s2OkaXLaW89zbz3TXF1A 06hYmiXYEV0OSZgd27jaRg5yLHh/UptV0nz7hYxPHcXFrIYwQrtDM8RcAklQxTdtycZxk4yQDk28 A+TY6UP7H0PUvsf23/iW3fyW0P2mZZv3beU/+r2+WPkXcGJ+X7puXXgubUrCxs5E03TINPR7myi0 +E+Xb3xctFKF+UMIgT1+WUyMWRMAVqeKtevNFtYBptl9uvpfNkFsoLOY4omkbCrz8xVIg3RWmQ4b hWz/ABX4vuNHs2utKigvoW0S81KJkIYOYjBsYHcAY8SsxwckD5eeCAdIZNS+zoy2loZzbszoblgo mwNqBvLyUJ3ZfAIwPlOeJJnvF+0eRBA+2IGDfMV3yfNlWwp2rwvzDceT8vAzjv4nmEq20Xh3VZr4 RCae0R7YPbozOqFi0wQ7jG+NrNjbzjIzTHxA02W01C9tLHUrqwsLf7TPdxwqsYjNutwpG9lLFlcD aASD94KCCQDpJXvBKwiggeP93tZ5ipOWIkyNpxhcEc/MeDtHzEZ7weZtggOJUEeZiN0Z27mPy8MM vheQdq/MNx246eK0MrRSaPqsUzxGa0ieFd92gZFJVQxKcyR580R7d+WwFcrn6t40urOxbydBvk1G O7so5LKcwFxDPN5YcFZdnzFZEX5shgCwC80AdRvvPPx5EHk+bjd5x3eXszuxt+9v+XbnG35t2flo V7w+XuggGZXEmJidsY3bWHy8scJleANzfMdo3Y/h3xMmtO9vLBPb3Q85wk0apkJcSQsg2u4Zoyih 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 Gm3GqLpEEQhvYvNlMujvffZTfjZwFYckr1x055pvgvzdR8MwQ6PqF7pp0/VWjvrW8C3TIEOZLVXO Pk+YYfkgVxrBJ4ZV+fffy33td9P5bed7ovm1sd5RRRXAUFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXOeL7LxBqNnHZ6Lb6 FcW0qut3Fq6yMrDjbtCf8Czn2xXR0VpRqulNTSvbuJq6seXaB4V8c+F4JItG07wRaLIRvYG7Znxn GWYknGT34zVe18D+LrLWzrNvo3gSO/LbvNAu8BvULnaDz1AzXrNFej/bFduUrK8t99fXXUj2aPNY 9B+IMV9qd6tr4L8/VFRLxma7YShFKqCCcD5SRwBnvWVN8PPFNxpFnpU2jeCHs7IsbdGkvS0e5tzD du3EEnOCcV6/RRHOK8HeKS279FZdei0XZaD9mjy/UPCvjfVNGi0i80zwLJYQgCKHF0ojwMDaRgqc dwarp4I8Yx+G5vD8el+CU0udlaWBHvFLkEEEsDuJyq857V6xRQs3rxVkla9+u/fffzD2aPI/D/gP xf4Xv3vtG03wbbXMkRhZ/PvnyhIJGGYjqo/KrcPhbx3b+GT4cis/ByaSUZDbia9+6zFmG7du5JPf vXqNFOecV5y5ppN6PW+6269Lu3YSppHnV3pXxHvnsnuIfBrNZSia3Ie7XY4UrngjPBIweKp/8Ir4 6/s3U9PNj4LNpqk8lxeRmS8PmSPjc2c5XoOmMY4xXqNFRHNKsVZRivl8+/fUfIjzFPDfj6ObR5lt PBok0eJobA+ZefuUZAhHX5vlAHzZrTli+KM0TxSp4LkjdSrowuSGB6gjuK7uiplmU5WcoRdvLzv3 7tv1Dk8zyrRPBvjPw5dTXWkaV4GtZ5s75F+1scE5IBJO1eBwMDjpUd14H8XXutjWbjRvAkl+G3ea Rd4LepXO0njqRmvWaK1/tivzudld6X1vbtuL2a2POP7H+Iv9vf235Hg3+0fs32Tzt95/qt2/btzj 73OcZ96zv+EJ8ZDQ77RRpvgtdOvp/tFxAst6A8mVOQQ2V5ReAQOOlesUVMc2rR+GMVt0fTbr06dh +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 uUiC8BSVwAM4TOa3/h9PHf6p4k1O2SSezu7mFoNTmiMcl2oiAIK7VG1DwCAM5PfJMYjBqjCpOLl7 trO+mvLeOyd1fyenw72alexLa/EXwLr+pWNjBfJeXZnU2qNYykrJ0DKSmFIBPzcYGecUxbr4a6p4 jn037NoFxqzSMZQ9mhZ3yS3zlcM2Qc8k1oQXKar8RbyDeSmi2cYCBuPNnySxHqEQAezt615Zprx/ 2ppul3qTmxtdRlnk8PPZMg02PMn783H8YHLYzj5uOgrfD4SlPm9m5xtFO3NfdNraK6W3stdZJ2Tl ya3PStH1H4favr1w+lLos2qws00k0dsgkJ/icOVG7rywJ61q6R4u8O+I7q4stL1S2vJogfMiXOSv GSMj5l5HIyOa860TW/Bni/VbexVysVrZXFhpelxxSeaYmjIkdpCMbiiEKN3AJySWwDwQkmo+K9Cf TtZ1G/sNIt54ZY7qxFv9jQoqrbsQPnk3AEnJxsHrmivl0FGbqc6cY397pvbW1ne1uiTdk5W1FPse r2Wm2OmxtHYWVtao7bmWCJUDH1OB1qhB4R8NW08c8Hh7SYpomDxyR2UasjA5BBC5BB71s0V4KrVF dqT1313NbIxp/CPhq5nknn8PaTLNKxeSSSyjZnYnJJJXJJPeprjw5od3fm/udF06a8JVjcSWqNJk YAO4jORgY+ladFP6xV/mf3sLIh+x232tbv7PD9pWMxLNsG8ITkqG64yAce1MbTrFvte6ytz9sG25 zEv78bduH4+bjjntxVmio55LqMjggitoI4IIkihiUJHHGoVUUDAAA4AA7VJRRUt31YBRRRQAUUUU AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAVznifxlaeF7rTrWbTtTv7nUPM8iHT4BK58sKW4LA9Gzxnoa6OvMfinZXc+v+FrqG11+S2tvt fnzaFGTcRblQLgjhcnjnqN1d2W0adbEqnV2s/wAItr8SZtpXR2OleKrPUNOF5eW15oqvc/ZY4tXj Fs8rkAjaCec5IHclT6Voxatps0kEcWoWkklwrNCqTKTIF6lRnkDvivK7rSpdY8MaFbLY+KryAeKL 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 WSl5hdqqMEAJ38MRt+VhnPVT6Vm2T3/izxrpGsnR9S0mz0iK4VvtyCN53kCrtCgnKjBOfXFcZoPh bXU8J+G7SOwuIF1NJdO1eOWN0eKEXLShiMZXKGVcnH+sXnpjeOBwsoy5nyy93S9+X42/XSKt5tIX NI9Q8J+LLLxhps99Y213bpBcNbPHdoqOHUKTwCf7w/Wt6uN+HtjdWA8UC5tZrcTeIbuWESRlN8Z2 bWXPVTjgjiuyry8bTp068o0vh6dehcW2tQooorlKCiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAzLvQNPvGZmW4gZ23u1pdS25dvUmNlz+NXLayt7MMII9pb7zElmb6seT+NT0Vb qza5W3YVkFFFFQMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACsfXdVuNG+yXrLEdNEmy9Yg7olbhZAc42g/eyOhzkY52Kz9esJNU8O6n p8JRZbq1lhQuSFDMhAJxnjJoAyIvFsaade61ebV0jzhDY+VGzS3HO3cB3DNwoA6DOcHhsfj3SpLe 0kNvfRyz6hFpzW8sGyWCWQZXerEYGO4zTLvwncXXgzRNMW4hi1HSfs00Mu0tH50KgcjglTz+ecVk XPgPWLyCfVJ76x/4SKXULe/BRHFsGgUqic5bHzHJ60AdhY65a3+uarpEUcwuNM8nzmYDa3mKWXac 5PA5yBVG58YWNn4gh0i6s9RhM0ohiu5LUrbvKeiBz1J9hj3qt4X0DV9N8Qa9qur3NlNJqf2cr9lV lC+WhUja2cDkAcnOMnHSsvU/Buu6h4hF7JqFnNaQanDqFssgcSrtKgxZ5CoFBIwOWOTigDUi8f6R JPqUbQX8cemyzRXU72/7pDH1O4Eg56AfeOOgrQ0PxNaa7NPBHbX1pcwgO0F7bmFyhJCuAeqnaf64 rDj8DS3HhzxRpF9PEBq+pT3kLxEt5YYqybgQOQV5A496PA/ghvDF3c3c9tpkM0ieUv2Frg5XOct5 khGeB0HHPNACXHxAXS/FOvadqNrM1np/2cxy2ls8hRXj3O0pBIABIx0/GtZ/GOnJbXk4juH+y3cV oUVV3SNJs2MvzcqQ4PODweKwtU8H+IbnXPEs9jfabDY65HDBIJo3eRUWLYxGMAHk4HIOe2Kz/wDh HhF8TNM0/T3jfS7W3gnu0B3FJYEZIt3oxDxkZ5IGewoA9B1XUl0rT5LtrW7utvSG0gMsjH2UfzPF cxd+O1m0/RrzSosfa9ai0y6hvIiskBbO9SAeHHHqOa2/FGnanqej+RpN3HbXSzJKPN3BJApyUYry FPfHbjvXKQeAdTgtreH7RYsU8RRay7LuRduwb0VcHBDZ2jPTGSKAOk8E65deJPCFjq95HDHcXHmb 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 8KOhGe9AHMp491m5i0jUbexsF0nVNXjsYHZ3aXyy7KxZeACduRycdwa0LPxbqq+NbXR76PTJbO/a dLaSxeR2jaIZYOzAKTxjC9D1rAsvBeuy69Zx3WnpbWtpqi37XMd+WgfaWbEUByU3EjOT244rrNP8 A6Tpmp29/bTX3mW07zQI8+9Ig6sHRVI4U7iT3yBzQBz2m+PfENx4UsdYuLDTN+o3C2VlGjyDfO0j Lluu1AFPGSSR1GcUuna/4itNU8cTXNsby9sY7MxWFvMzxKTGdxjDYIB+8QBntya6aDwVpUHhGHw0 WuZLOFi8crSYlRt5cMGUDBBPHFJpfgqw0ltVaC91N5NTWMTyyXTGQFAQGVxhgTkk8n2wOKAH+ENZ vtZ06STUJtMknRwD9gMgC5GQHSQBkOMcGuhrmbDwTaacqtDqmrtcm6jup7p7rMtz5YIWORsfNHg4 2101ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVxfjnxhf+FtS0SK0t4Jbe7aZ7syKxZIow jMVww5CljznoK7SuM8WaTLqvjTwsrWks1kI7+O5kEZZEV4Qo3HoM8gZ60AM8U+Mr3R/FWh6VYQ28 sF3cQx3ckiklBK+1NpDDkhJD0PQfjtXHjLw7a60ujz6tbpfswXyiTwxxgFsYB5HBNeeW2h+IH0/R rvVLSWXUF8R2aSGOFiVtoFZA7ccLnc27p82e9WdY07VY9b1Gz03Qb8G8vRMYZUiuNNuQWXMkhZcx sRyQM4IGM0AerVzuv65qNtqdpo2iWcFxqdzE82+5kKxQRrgbmxyfmIGBWrbaj9p1O+svsd3F9k8v 9/LFtim3rn922fmx0Poa53X4LzSPF1r4otNNuNRhFk9jdQ22DKqbg6sqnG7kEEZzzQBS1nxT4o8P +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 AGJpP2OWz/syy+yzNulg+zpsc5zllxgnPPNXJI45o2jlRXjYYZWGQR6EU6igCtFp1lBZfYobO3jt MFfISJQmPTaBimHSNMaC3gOnWhhtjmCMwLtiP+yMfL+FXKKAKkGl6fbXbXcFhaxXLKytNHCquQW3 EFgM4Lcn35rKuPDUl94rg1i91J57a0O+zsfJVVhcrtZiw5b1APQ10FFABRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUUUUAFFFFABRRRQAUUVw/xL1fVvD+kW+o6XqUtu7zrA0XlRuhBV23fMpOeAOuPaoqT UIuT6GdWoqcHN9DuKK45NW1O38cr4Z+2SXdvNYtMbopGJrdssAThQp6DqvVhmqvgvVNY1TxN4gtr 7Vp5rfS7nyYozFCokBaRcuQgOflB4I5/KoVZNqNvIhYiLko2ert9x3dFZHieS6g8OX93Z3ktrPaw STq0ao24qhIUh1IxnHTB461xukan4h1rwtazWuvXZ1u5tp7mOLyLbyiIpQm05QEFsjBzjqfanOqo y5bDnXUJctm3a56TRTZJEhieWRgqIpZmPQAdTXN+FPENzq1zq1jqEXk3tlcn91jkQtzHnHGccfl6 1bkk0n1Lc0pKL6nTUVxt74iu1+IS6HPdf2dYi28yGQqmbmQ4+XLA8cngYOV681cvn1u28FX11dXz W+p2q3M4kgjj2uFLmMbWDAKV2/7Xqc5qPap3stiFWTvZbX/A6aivNtI1PxDrXha1mtdeuzrdzbT3 McXkW3lERShNpygILZGDnHU+1ejSo0kLosjxMykCRANyn1GQRke4Ip06imrpDpVVUV0v6Y+iuB8I ajrOs+IPEdlea3dGHTZzBDthgBIJkUM37vkjaCOgz1BHFHhDUdZ1nxB4jsrzW7ow6bOYIdsMAJBM ihm/d8kbQR0GeoI4qY107WT1/QiOJjLlsnrft0+Z31FeaaLrurXmra/a3/iC+SKxv4rK2MMFvuYy StGC2Y+egJxjjNdHc/27Z+BLue81KSPVbOO4mM8ccX70IXKZUqVAKhTgYPv1ojWUldJhDEKauk+v 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 f+DH/wCxqZUpNcqjpe5EqEnFRUdL33N3TdS/tJ7hktrqGGMhVNzA8TOepIDAHHTn61xGkNMPi3qm qtYakljd2yQQzvYTKpfEQ5yvyj5W5OBxW1/wgn/U1+KP/Bj/APY0f8IJ/wBTX4o/8GP/ANjVyVSV rrZ3NJqrPlutnc3NR1G5sr3T4INMuLuO6mMcssRG23GM7mz2/wAD3wDo1yX/AAgn/U1+KP8AwY// AGNdbW0HJ35kdEHNt8ysFFFFWaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAf/ZCmVuZHN0cmVhbQplbmRvYmoKCjEgMCBvYmoKPDwKL0NvdW50IDAKPj4KZW5kb2Jq CgozIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyA0IDAgUgo+PgplbmRvYmoKCjggMCBv YmoKPDwKL0xlbmd0aCAzNwovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeNor5DI1tdQz VTAAQkNjcwsoMzmXS98z11zBJZ8rkAsAhO4HZgplbmRzdHJlYW0KZW5kb2JqCgo2IDAgb2JqCjw8 Ci9UeXBlIC9QYWdlCi9QYXJlbnQgNCAwIFIKL01lZGlhQm94IFsgMCAwIDU1OS41IDEzNzguNSBd Ci9SZXNvdXJjZXMgPDwKL1hPYmplY3QgPDwKL0ltNyA3IDAgUgo+PgovUHJvY1NldCBbL1BERiAv VGV4dCAvSW1hZ2VCIC9JbWFnZUNdID4+Ci9Db250ZW50cyA4IDAgUgo+PgplbmRvYmoKCjQgMCBv YmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsKNiAwIFIKXQovQ291bnQgMQo+PgplbmRvYmoKCjUg MCBvYmoKbnVsbAplbmRvYmoKCnhyZWYKMCA5CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDI0Mjg0 OCAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAyNDI4NzkgMDAwMDAgbiAKMDAwMDI0 MzIxNCAwMDAwMCBuIAowMDAwMjQzMjc0IDAwMDAwIG4gCjAwMDAyNDMwMzggMDAwMDAgbiAKMDAw MDAwMDE3MSAwMDAwMCBuIAowMDAwMjQyOTI5IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgOQov Um9vdCAzIDAgUgovSW5mbyAyIDAgUgovSURbPGY1ZTVkN2RlNmI4ZTFmM2RmYzI3NGRiOTZiYjNm YTM1PjxmNWU1ZDdkZTZiOGUxZjNkZmMyNzRkYjk2YmIzZmEzNT5dCj4+CnN0YXJ0eHJlZgoyNDMy OTUKJSVFT0YK ------=_20140626160209_73414-- From bfoster@redhat.com Thu Jun 26 08:41:32 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 134FA7F81 for ; Thu, 26 Jun 2014 08:41:32 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id B77898F8035 for ; Thu, 26 Jun 2014 06:41:28 -0700 (PDT) X-ASG-Debug-ID: 1403790086-04bdf05667674bc0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id qtJR4YAcRxT3bkKd (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 06:41:27 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5QDfMrq021868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jun 2014 09:41:23 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5QDfMeP030662; Thu, 26 Jun 2014 09:41:22 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 2B421120188; Thu, 26 Jun 2014 09:41:21 -0400 (EDT) Date: Thu, 26 Jun 2014 09:41:21 -0400 From: Brian Foster To: Dave Chinner Cc: xfs@oss.sgi.com Subject: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers Message-ID: <20140626134120.GE37470@bfoster.bfoster> X-ASG-Orig-Subj: Re: [PATCH 4/6] xfs: add xlog sysfs kobject and attribute handlers References: <1402060414-22075-1-git-send-email-bfoster@redhat.com> <1402060414-22075-5-git-send-email-bfoster@redhat.com> <20140626044719.GX4453@dastard> <20140626122854.GA37470@bfoster.bfoster> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626122854.GA37470@bfoster.bfoster> User-Agent: Mutt/1.5.23 (2014-03-12) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403790087 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On Thu, Jun 26, 2014 at 08:28:55AM -0400, Brian Foster wrote: > On Thu, Jun 26, 2014 at 02:47:19PM +1000, Dave Chinner wrote: > > On Fri, Jun 06, 2014 at 09:13:32AM -0400, Brian Foster wrote: > > > Embed a kobject into the xfs log data structure (xlog). This creates a > > > 'log' subdirectory for every XFS mount instance in sysfs. The lifecycle > > > of the log kobject is tied to the lifecycle of the log. > > > > > > Also define a set of generic attribute handlers associated with the log > > > kobject in preparation for the addition of attributes. > > > > The code works fine, but.... > > > > > > Signed-off-by: Brian Foster > > > --- > > > fs/xfs/xfs_log.c | 9 +++++++++ > > > fs/xfs/xfs_log_priv.h | 3 +++ > > > fs/xfs/xfs_sysfs.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ > > > fs/xfs/xfs_sysfs.h | 1 + > > > 4 files changed, 66 insertions(+) > > > ... > > > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > > > index 41365fe..f837527 100644 > > > --- a/fs/xfs/xfs_sysfs.c > > > +++ b/fs/xfs/xfs_sysfs.c ... > > > + > > > +STATIC void > > > +xfs_log_release(struct kobject *kobj) > > > +{ > > > + struct xlog *log = container_of(kobj, struct xlog, l_kobject); > > > + > > > + complete(&log->l_kobject_complete); > > > +} > > > > If the release funtion is common with other types, then the xfs_kobj > > structure is perfect for this use - it will prevent a heap of > > duplicated release functions... > > > > It's going to look virtually the same for every kobject. Unfortunately, > it needs to go from kobj->xfs_object->xfs_kobj, so each type requires a > unique definition. We might be able to just turn it into a macro or > something that takes the appropriate info and reduces the clutter. I'll > play around with it. Thanks. > Oops, never mind. I didn't grok what we'd get handed back here, apparently. We get the kobject, contained by the new xfs_kobj and already carrying the completion. There's no need to reference the outermost structure so this can be made generic. Brian > Brian > > > Cheers, > > > > Dave. > > -- > > Dave Chinner > > david@fromorbit.com > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs From jeff.layton@primarydata.com Thu Jun 26 13:20:13 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=LOCALPART_IN_SUBJECT autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id BC52F7F83 for ; Thu, 26 Jun 2014 13:20:13 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 78B5A8F8070 for ; Thu, 26 Jun 2014 11:20:10 -0700 (PDT) X-ASG-Debug-ID: 1403806806-04bdf056696824e0001-NocioJ Received: from mail-qg0-f43.google.com (mail-qg0-f43.google.com [209.85.192.43]) by cuda.sgi.com with ESMTP id EXkzpl4EVDiWtVoq (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 26 Jun 2014 11:20:06 -0700 (PDT) X-Barracuda-Envelope-From: jeff.layton@primarydata.com X-Barracuda-Apparent-Source-IP: 209.85.192.43 Received: by mail-qg0-f43.google.com with SMTP id z60so3453296qgd.30 for ; Thu, 26 Jun 2014 11:20:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:date:to:cc:subject:message-id:mime-version :content-type:content-transfer-encoding; bh=gYF0q/evNIxARLhpKMX+BdilIR1+AALfhGYg5dPgKu8=; b=ZsfBZBQuynuPPH38Y++PyHj4G9uFsFOmletBRuzJmhRZvR0+6UP1+Bp33hD8KCcSR0 d8rnaoGIoRF8Wx5sDqRl7KbVNA0aYjEJlH4RApZ22nD01l1nTZI4ajMsuZVF9WDr8MIs 5UXnN8HB5TPYm5XB+c9gCgPTNDokPfAXQnmzJm7lpoyiFB0WKzy51uDwhoC81f4PeyGf +T/GTjtjnPJ5qvNAjQ3YG/wxxKtjjXXvX670rk750KvwUV//Jz59YrQgpptUxavOOcoI MIbBDRDe9LLoxJT5VeXrXUTy3Nf1yea0Nr1MdXRW5l4pRYjxOJv4XLvGISPnZVDTAK8k 9vWw== X-Gm-Message-State: ALoCoQnUF/TQFCoLnoBIHRMRtmqwuMXweUiW+T/ZcllRGQ+Q3o2jU2BUOnAoMk4XhnNy9bReXFur X-Received: by 10.224.115.3 with SMTP id g3mr12568940qaq.9.1403806806200; Thu, 26 Jun 2014 11:20:06 -0700 (PDT) Received: from tlielax.poochiereds.net ([2001:470:8:d63:3a60:77ff:fe93:a95d]) by mx.google.com with ESMTPSA id p21sm4680030qgp.14.2014.06.26.11.20.05 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jun 2014 11:20:06 -0700 (PDT) From: Jeff Layton X-Google-Original-From: Jeff Layton Date: Thu, 26 Jun 2014 14:20:04 -0400 To: xfs@oss.sgi.com Cc: linux-fsdevel@vger.kernel.org Subject: xfs: possible irq lock inversion dependency detected Message-ID: <20140626142004.31b981dc@tlielax.poochiereds.net> X-ASG-Orig-Subj: xfs: possible irq lock inversion dependency detected X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.22; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f43.google.com[209.85.192.43] X-Barracuda-Start-Time: 1403806806 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 1.00 X-Barracuda-Spam-Status: No, SCORE=1.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=LOCALPART_IN_SUBJECT, LOCALPART_IN_SUBJECT_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6973 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 LOCALPART_IN_SUBJECT Local part of To: address appears in Subject 1.00 LOCALPART_IN_SUBJECT_2 Local part of To: address appears in Subject While testing some knfsd patches on XFS today, I got this lockdep splatter. The kernel is a stock -rc2 kernel with a pile of knfsd patches on top. There are a couple of others in other areas, but nothing that would affect this. Nothing crashed or seems to be hung, so I'm not sure if it's a real problem or not... ----------------------------[snip]------------------------- [ 1136.235445] ========================================================= [ 1136.236081] [ INFO: possible irq lock inversion dependency detected ] [ 1136.236081] 3.16.0-rc2.jlayton.2+ #9 Tainted: G OE [ 1136.236081] --------------------------------------------------------- [ 1136.236081] kswapd0/53 just changed the state of lock: [ 1136.236081] (&xfs_dir_ilock_class){++++-+}, at: [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] but this lock took another, RECLAIM_FS-unsafe lock in the past: [ 1136.236081] (&mm->mmap_sem){++++++} and interrupts could create inverse lock ordering between them. [ 1136.236081] other info that might help us debug this: [ 1136.236081] Possible interrupt unsafe locking scenario: [ 1136.236081] CPU0 CPU1 [ 1136.236081] ---- ---- [ 1136.236081] lock(&mm->mmap_sem); [ 1136.236081] local_irq_disable(); [ 1136.236081] lock(&xfs_dir_ilock_class); [ 1136.236081] lock(&mm->mmap_sem); [ 1136.236081] [ 1136.236081] lock(&xfs_dir_ilock_class); [ 1136.236081] *** DEADLOCK *** [ 1136.236081] 3 locks held by kswapd0/53: [ 1136.236081] #0: (shrinker_rwsem){++++..}, at: [] shrink_slab+0x3f/0x180 [ 1136.236081] #1: (&type->s_umount_key#50){.+.+.+}, at: [] grab_super_passive+0x44/0x90 [ 1136.236081] #2: (&pag->pag_ici_reclaim_lock){+.+...}, at: [] xfs_reclaim_inodes_ag+0xc7/0x510 [xfs] [ 1136.236081] the shortest dependencies between 2nd lock and 1st lock: [ 1136.236081] -> (&mm->mmap_sem){++++++} ops: 503241 { [ 1136.236081] HARDIRQ-ON-W at: [ 1136.236081] [] __lock_acquire+0x670/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write+0x4e/0xc0 [ 1136.236081] [] do_execve_common.isra.25+0x418/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] HARDIRQ-ON-R at: [ 1136.236081] [] __lock_acquire+0x55a/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] might_fault+0x8c/0xb0 [ 1136.236081] [] __clear_user+0x17/0x60 [ 1136.236081] [] clear_user+0x2f/0x40 [ 1136.236081] [] padzero+0x23/0x30 [ 1136.236081] [] load_elf_binary+0x9ee/0x18e0 [ 1136.236081] [] search_binary_handler+0x94/0x1b0 [ 1136.236081] [] do_execve_common.isra.25+0x671/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] SOFTIRQ-ON-W at: [ 1136.236081] [] __lock_acquire+0x58b/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write+0x4e/0xc0 [ 1136.236081] [] do_execve_common.isra.25+0x418/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] SOFTIRQ-ON-R at: [ 1136.236081] [] __lock_acquire+0x58b/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] might_fault+0x8c/0xb0 [ 1136.236081] [] __clear_user+0x17/0x60 [ 1136.236081] [] clear_user+0x2f/0x40 [ 1136.236081] [] padzero+0x23/0x30 [ 1136.236081] [] load_elf_binary+0x9ee/0x18e0 [ 1136.236081] [] search_binary_handler+0x94/0x1b0 [ 1136.236081] [] do_execve_common.isra.25+0x671/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] RECLAIM_FS-ON-W at: [ 1136.236081] [] mark_held_locks+0x75/0xa0 [ 1136.236081] [] lockdep_trace_alloc+0x7a/0xe0 [ 1136.236081] [] __alloc_pages_nodemask+0xa0/0xcd0 [ 1136.236081] [] alloc_pages_current+0x11a/0x1f0 [ 1136.236081] [] pte_alloc_one+0x17/0x80 [ 1136.236081] [] __pte_alloc+0x23/0x180 [ 1136.236081] [] move_page_tables+0x58a/0x730 [ 1136.236081] [] shift_arg_pages+0xcc/0x1e0 [ 1136.236081] [] setup_arg_pages+0x20b/0x240 [ 1136.236081] [] load_elf_binary+0x42e/0x18e0 [ 1136.236081] [] search_binary_handler+0x94/0x1b0 [ 1136.236081] [] do_execve_common.isra.25+0x671/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] RECLAIM_FS-ON-R at: [ 1136.236081] [] mark_held_locks+0x75/0xa0 [ 1136.236081] [] lockdep_trace_alloc+0x7a/0xe0 [ 1136.236081] [] __alloc_pages_nodemask+0xa0/0xcd0 [ 1136.236081] [] alloc_pages_current+0x11a/0x1f0 [ 1136.236081] [] __pmd_alloc+0x24/0x1c0 [ 1136.236081] [] handle_mm_fault+0xf19/0x10d0 [ 1136.236081] [] __do_page_fault+0x201/0x5f0 [ 1136.236081] [] trace_do_page_fault+0x37/0x230 [ 1136.236081] [] do_async_page_fault+0x28/0xa0 [ 1136.236081] [] async_page_fault+0x28/0x30 [ 1136.236081] [] clear_user+0x2f/0x40 [ 1136.236081] [] padzero+0x23/0x30 [ 1136.236081] [] load_elf_binary+0x9ee/0x18e0 [ 1136.236081] [] search_binary_handler+0x94/0x1b0 [ 1136.236081] [] do_execve_common.isra.25+0x671/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] INITIAL USE at: [ 1136.236081] [] __lock_acquire+0x30a/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write+0x4e/0xc0 [ 1136.236081] [] do_execve_common.isra.25+0x418/0x8f0 [ 1136.236081] [] do_execve+0x18/0x20 [ 1136.236081] [] run_init_process+0x2b/0x30 [ 1136.236081] [] kernel_init+0x42/0xf0 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] } [ 1136.236081] ... key at: [] __key.51205+0x0/0x8 [ 1136.236081] ... acquired at: [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] might_fault+0x8c/0xb0 [ 1136.236081] [] filldir+0x91/0x120 [ 1136.236081] [] xfs_dir2_sf_getdents.isra.11+0x208/0x270 [xfs] [ 1136.236081] [] xfs_readdir+0x1e6/0x250 [xfs] [ 1136.236081] [] xfs_file_readdir+0x2b/0x40 [xfs] [ 1136.236081] [] iterate_dir+0xae/0x140 [ 1136.236081] [] SyS_getdents+0x9a/0x130 [ 1136.236081] [] system_call_fastpath+0x16/0x1b [ 1136.236081] -> (&xfs_dir_ilock_class){++++-+} ops: 130281 { [ 1136.236081] HARDIRQ-ON-W at: [ 1136.236081] [] __lock_acquire+0x670/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_setattr_nonsize+0x225/0x630 [xfs] [ 1136.236081] [] xfs_vn_setattr+0x29/0x70 [xfs] [ 1136.236081] [] notify_change+0x241/0x390 [ 1136.236081] [] chmod_common+0x96/0x150 [ 1136.236081] [] SyS_fchmodat+0x57/0xc0 [ 1136.236081] [] system_call_fastpath+0x16/0x1b [ 1136.236081] HARDIRQ-ON-R at: [ 1136.236081] [] __lock_acquire+0x55a/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_read_nested+0x57/0xa0 [ 1136.236081] [] xfs_ilock+0xf2/0x1c0 [xfs] [ 1136.236081] [] xfs_ilock_data_map_shared+0x1f/0x40 [xfs] [ 1136.236081] [] xfs_lookup+0x108/0x1f0 [xfs] [ 1136.236081] [] xfs_vn_lookup+0x7b/0xd0 [xfs] [ 1136.236081] [] lookup_real+0x1d/0x50 [ 1136.236081] [] __lookup_hash+0x42/0x60 [ 1136.236081] [] lookup_one_len+0xee/0x140 [ 1136.236081] [] nfsd_lookup_dentry+0x133/0x4c0 [nfsd] [ 1136.236081] [] nfsd_lookup+0x89/0x150 [nfsd] [ 1136.236081] [] nfsd4_lookup+0x1a/0x20 [nfsd] [ 1136.236081] [] nfsd4_proc_compound+0x4e7/0x800 [nfsd] [ 1136.236081] [] nfsd_dispatch+0xbb/0x200 [nfsd] [ 1136.236081] [] svc_process_common+0x453/0x6f0 [sunrpc] [ 1136.236081] [] svc_process+0x107/0x170 [sunrpc] [ 1136.236081] [] nfsd+0xe3/0x170 [nfsd] [ 1136.236081] [] kthread+0xff/0x120 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] SOFTIRQ-ON-W at: [ 1136.236081] [] __lock_acquire+0x58b/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_setattr_nonsize+0x225/0x630 [xfs] [ 1136.236081] [] xfs_vn_setattr+0x29/0x70 [xfs] [ 1136.236081] [] notify_change+0x241/0x390 [ 1136.236081] [] chmod_common+0x96/0x150 [ 1136.236081] [] SyS_fchmodat+0x57/0xc0 [ 1136.236081] [] system_call_fastpath+0x16/0x1b [ 1136.236081] SOFTIRQ-ON-R at: [ 1136.236081] [] __lock_acquire+0x58b/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_read_nested+0x57/0xa0 [ 1136.236081] [] xfs_ilock+0xf2/0x1c0 [xfs] [ 1136.236081] [] xfs_ilock_data_map_shared+0x1f/0x40 [xfs] [ 1136.236081] [] xfs_lookup+0x108/0x1f0 [xfs] [ 1136.236081] [] xfs_vn_lookup+0x7b/0xd0 [xfs] [ 1136.236081] [] lookup_real+0x1d/0x50 [ 1136.236081] [] __lookup_hash+0x42/0x60 [ 1136.236081] [] lookup_one_len+0xee/0x140 [ 1136.236081] [] nfsd_lookup_dentry+0x133/0x4c0 [nfsd] [ 1136.236081] [] nfsd_lookup+0x89/0x150 [nfsd] [ 1136.236081] [] nfsd4_lookup+0x1a/0x20 [nfsd] [ 1136.236081] [] nfsd4_proc_compound+0x4e7/0x800 [nfsd] [ 1136.236081] [] nfsd_dispatch+0xbb/0x200 [nfsd] [ 1136.236081] [] svc_process_common+0x453/0x6f0 [sunrpc] [ 1136.236081] [] svc_process+0x107/0x170 [sunrpc] [ 1136.236081] [] nfsd+0xe3/0x170 [nfsd] [ 1136.236081] [] kthread+0xff/0x120 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] IN-RECLAIM_FS-W at: [ 1136.236081] [] __lock_acquire+0x4ec/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_reclaim_inode+0x115/0x360 [xfs] [ 1136.236081] [] xfs_reclaim_inodes_ag+0x2e7/0x510 [xfs] [ 1136.236081] [] xfs_reclaim_inodes_nr+0x33/0x40 [xfs] [ 1136.236081] [] xfs_fs_free_cached_objects+0x15/0x20 [xfs] [ 1136.236081] [] super_cache_scan+0x16c/0x180 [ 1136.236081] [] shrink_slab_node+0x14b/0x430 [ 1136.236081] [] shrink_slab+0x8e/0x180 [ 1136.236081] [] kswapd_shrink_zone+0x14d/0x1f0 [ 1136.236081] [] balance_pgdat+0x2e1/0x4a0 [ 1136.236081] [] kswapd+0x1b1/0x640 [ 1136.236081] [] kthread+0xff/0x120 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] RECLAIM_FS-ON-R at: [ 1136.236081] [] mark_held_locks+0x75/0xa0 [ 1136.236081] [] lockdep_trace_alloc+0x7a/0xe0 [ 1136.236081] [] __alloc_pages_nodemask+0xa0/0xcd0 [ 1136.236081] [] alloc_pages_vma+0x105/0x1d0 [ 1136.236081] [] handle_mm_fault+0xce4/0x10d0 [ 1136.236081] [] __do_page_fault+0x201/0x5f0 [ 1136.236081] [] trace_do_page_fault+0x37/0x230 [ 1136.236081] [] do_async_page_fault+0x28/0xa0 [ 1136.236081] [] async_page_fault+0x28/0x30 [ 1136.236081] [] xfs_dir2_block_getdents.isra.12+0x1be/0x220 [xfs] [ 1136.236081] [] xfs_readdir+0x19f/0x250 [xfs] [ 1136.236081] [] xfs_file_readdir+0x2b/0x40 [xfs] [ 1136.236081] [] iterate_dir+0xae/0x140 [ 1136.236081] [] SyS_getdents+0x9a/0x130 [ 1136.236081] [] system_call_fastpath+0x16/0x1b [ 1136.236081] INITIAL USE at: [ 1136.236081] [] __lock_acquire+0x30a/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_setattr_nonsize+0x225/0x630 [xfs] [ 1136.236081] [] xfs_vn_setattr+0x29/0x70 [xfs] [ 1136.236081] [] notify_change+0x241/0x390 [ 1136.236081] [] chmod_common+0x96/0x150 [ 1136.236081] [] SyS_fchmodat+0x57/0xc0 [ 1136.236081] [] system_call_fastpath+0x16/0x1b [ 1136.236081] } [ 1136.236081] ... key at: [] xfs_dir_ilock_class+0x0/0xfffffffffffcf398 [xfs] [ 1136.236081] ... acquired at: [ 1136.236081] [] check_usage_forwards+0x16a/0x180 [ 1136.236081] [] mark_lock+0x1a7/0x2b0 [ 1136.236081] [] __lock_acquire+0x4ec/0x1ca0 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_reclaim_inode+0x115/0x360 [xfs] [ 1136.236081] [] xfs_reclaim_inodes_ag+0x2e7/0x510 [xfs] [ 1136.236081] [] xfs_reclaim_inodes_nr+0x33/0x40 [xfs] [ 1136.236081] [] xfs_fs_free_cached_objects+0x15/0x20 [xfs] [ 1136.236081] [] super_cache_scan+0x16c/0x180 [ 1136.236081] [] shrink_slab_node+0x14b/0x430 [ 1136.236081] [] shrink_slab+0x8e/0x180 [ 1136.236081] [] kswapd_shrink_zone+0x14d/0x1f0 [ 1136.236081] [] balance_pgdat+0x2e1/0x4a0 [ 1136.236081] [] kswapd+0x1b1/0x640 [ 1136.236081] [] kthread+0xff/0x120 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] stack backtrace: [ 1136.236081] CPU: 2 PID: 53 Comm: kswapd0 Tainted: G OE 3.16.0-rc2.jlayton.2+ #9 [ 1136.236081] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1136.236081] 0000000000000000 0000000044b6ed70 ffff8801186fb5e8 ffffffff817f06ad [ 1136.236081] ffffffff82fbb100 ffff8801186fb628 ffffffff817eb75c ffffffff81c62438 [ 1136.236081] 0000000000000000 ffff8801186f0c10 ffff8801186f0000 ffffffff81c62438 [ 1136.236081] Call Trace: [ 1136.236081] [] dump_stack+0x4d/0x66 [ 1136.236081] [] print_irq_inversion_bug.part.42+0x1ac/0x1b8 [ 1136.236081] [] check_usage_forwards+0x16a/0x180 [ 1136.236081] [] ? check_usage_backwards+0x180/0x180 [ 1136.236081] [] mark_lock+0x1a7/0x2b0 [ 1136.236081] [] __lock_acquire+0x4ec/0x1ca0 [ 1136.236081] [] ? trace_hardirqs_on_caller+0x105/0x1d0 [ 1136.236081] [] ? trace_hardirqs_on+0xd/0x10 [ 1136.236081] [] lock_acquire+0xa2/0x1d0 [ 1136.236081] [] ? xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] ? xfs_reclaim_inode+0x115/0x360 [xfs] [ 1136.236081] [] down_write_nested+0x54/0xd0 [ 1136.236081] [] ? xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_ilock+0xd5/0x1c0 [xfs] [ 1136.236081] [] xfs_reclaim_inode+0x115/0x360 [xfs] [ 1136.236081] [] xfs_reclaim_inodes_ag+0x2e7/0x510 [xfs] [ 1136.236081] [] ? xfs_reclaim_inodes_ag+0xf8/0x510 [xfs] [ 1136.236081] [] ? mark_held_locks+0x75/0xa0 [ 1136.236081] [] ? _raw_spin_unlock_irqrestore+0x36/0x70 [ 1136.236081] [] ? trace_hardirqs_on_caller+0x105/0x1d0 [ 1136.236081] [] ? trace_hardirqs_on+0xd/0x10 [ 1136.236081] [] ? try_to_wake_up+0x103/0x3e0 [ 1136.236081] [] ? wake_up_process+0x23/0x40 [ 1136.236081] [] xfs_reclaim_inodes_nr+0x33/0x40 [xfs] [ 1136.236081] [] xfs_fs_free_cached_objects+0x15/0x20 [xfs] [ 1136.236081] [] super_cache_scan+0x16c/0x180 [ 1136.236081] [] shrink_slab_node+0x14b/0x430 [ 1136.236081] [] ? shrink_slab+0x3f/0x180 [ 1136.236081] [] shrink_slab+0x8e/0x180 [ 1136.236081] [] kswapd_shrink_zone+0x14d/0x1f0 [ 1136.236081] [] balance_pgdat+0x2e1/0x4a0 [ 1136.236081] [] kswapd+0x1b1/0x640 [ 1136.236081] [] ? abort_exclusive_wait+0xb0/0xb0 [ 1136.236081] [] ? balance_pgdat+0x4a0/0x4a0 [ 1136.236081] [] kthread+0xff/0x120 [ 1136.236081] [] ? insert_kthread_work+0x80/0x80 [ 1136.236081] [] ret_from_fork+0x7c/0xb0 [ 1136.236081] [] ? insert_kthread_work+0x80/0x80 -- Jeff Layton From Sunghost@gmx.de Thu Jun 26 14:17:34 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, MIME_HTML_ONLY autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id DEFF37F85 for ; Thu, 26 Jun 2014 14:17:34 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B8D8B304039 for ; Thu, 26 Jun 2014 12:17:31 -0700 (PDT) X-ASG-Debug-ID: 1403810248-04bdf05667684410001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by cuda.sgi.com with ESMTP id mQHpqYHaGEE6ARoS (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 12:17:29 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.19 Received: from [85.176.58.138] by 3capp-gmx-bs14.server.lan (via HTTP); Thu, 26 Jun 2014 21:17:27 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/html; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Thu, 26 Jun 2014 21:17:27 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:U/1UeOrphSPBOyEbyYtwSmadjCioqCAOcgExYWRauu6 os3zNWdeAqwcmm9ho8wM9OyFykoamQYggkFPUIdMQbdNNgSebs 8GTErvVTn1F0dK9lTrkm7CH2GDKH/tiEySgyPC8KDiZ8USIfoJ DskBEn3pkv+3aW8qkwM5CbMw/rK5HdA+gKFgg29sHyAPq1R2xl JOItEEm8LicVlYckahlDEss9WTo/IPosG7rnw0QSkBuA4bLWxw zXlOHse/F8rw7ipn8K6VYRWNKwn+FFk7SIa1HSzLGRyyMve+v3 Rz34UQ= X-Barracuda-Connect: mout.gmx.net[212.227.15.19] X-Barracuda-Start-Time: 1403810249 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6973 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message
Hello,
i upgraded to debian jessie with xfsprogs 3.2. if i run xfs_repair /dev/md2 the system hangs too. If i use -P it ends up with:
corrupt block 0 in directory inode 2147702899: junking block
Segmentation fault

if i use -n -P it ends up with:

No modify flag set, skipping phase 5
Inode allocation btrees are too corrupted, skipping phases 6 and 7
No modify flag set, skipping filesystem flush and exiting.

Files are still not accessible - i think i lost some TB ;( - not a good experience for first use of xfs...
On 6/24/2014 5:15 PM, Dragon wrote:
Hi, yes read this, but i am new and dont know what this command will do and i dont want to lost my data. I read in the net, that some people couldnt start or boot from that disk, after running xfs_repair. I looked for a upgrade to latest xfsprogs version, but it seems difficult for amd64 systems. Do you have a changelog to latest version, could my installed version be ok, or better not to use? Thx Stan and Eric
# xfs_repair -n -P /dev/device Post the output in your next reply, assuming it doesn't hang again. Cheers, Stan
From tinguely@sgi.com Thu Jun 26 15:03:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 244CF7F83 for ; Thu, 26 Jun 2014 15:03:59 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay2.corp.sgi.com (Postfix) with ESMTP id CE7B6304059; Thu, 26 Jun 2014 13:03:55 -0700 (PDT) Message-ID: <53AC7CA9.9050505@sgi.com> Date: Thu, 26 Jun 2014 15:03:53 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: Dave Chinner CC: Fanael Linithien , xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> In-Reply-To: <20140626002859.GQ9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/25/14 19:28, Dave Chinner wrote: > On Wed, Jun 25, 2014 at 11:21:44AM +1000, Dave Chinner wrote: >> On Tue, Jun 24, 2014 at 11:50:52PM +0200, Fanael Linithien wrote: >> Ok, so the CRC corresponds to the version of the AGI that was logged >> at lsn = 0x30000017e. That means the version on disk is a partial >> update without a CRC recalculation. Ok, so how can that happen? >> >> Given the lsn mismatch, I suspect log recovery has played a part as >> it will not update the LSN when replaying changes in the log. It >> should, however, always be attaching the appropriate verifier to >> the buffers being recovered so the CRC should be recalculated >> correctly. > > Ok, I have confirmed that this is occurring and behaving correctly. > > [ 24.437878] XFS (vdb): Mounting V5 Filesystem > [ 24.554429] XFS (vdb): Starting recovery (logdev: internal) > [ 24.623466] XFS (vdb): xfs_agi_write_verify: lsn reset block 0x2 > [ 24.625263] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x8 > [ 24.627307] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x10 > [ 24.628729] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x18 > [ 24.630085] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20000 > [ 24.631504] XFS (vdb): xfs_da3_node_write_verify: lsn reset block 0x20008 > [ 24.632935] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20010 > [ 24.634360] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20018 > [ 24.635622] XFS (vdb): xfs_dir3_free_write_verify: lsn reset block 0x201e0 > [ 24.636656] XFS (vdb): __write_verify: lsn reset block 0x201e8 > [ 24.637510] XFS (vdb): __write_verify: lsn reset block 0x201f0 > [ 24.638365] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x201f8 > [ 24.639378] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202c0 > [ 24.640397] XFS (vdb): __write_verify: lsn reset block 0x202c8 > [ 24.641260] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202d0 > [ 24.664330] XFS (vdb): Ending recovery (logdev: internal) > > But that also confirms that log recovery is recalculating the CRC > after replaying changes into that block: > > # xfs_db -c "agi 0" -c "p lsn" -c "p crc" /dev/vdb > lsn = 0xffffffffffffffff > crc = 0x788c4f63 (correct) > > So the common log recovery path for buffers is working as it is > designed to do. > > What I still don't understand yet is how changes after this recovery > phase are getting to disk without updating the CRC. That implies > buffers without verifiers being written.... > > More debug to come... > > Cheers, > > Dave. Could an out of order CIL push cause this? SGI saw sequence 2 (and sometimes 3/4) of the cil push get in front of cil push sequence 1. Looks like the setting of log->l_cilp->xc_ctx->commit_lsn in xlog_cil_init_post_recovery() lets this happen. --Mark. From jack@suse.cz Thu Jun 26 15:20:54 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9626F7F89 for ; Thu, 26 Jun 2014 15:20:54 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 501538F807A for ; Thu, 26 Jun 2014 13:20:50 -0700 (PDT) X-ASG-Debug-ID: 1403814047-04bdf05669686660001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id unHmZqQ0RaXWBEXG (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 13:20:48 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 49F90AC85; Thu, 26 Jun 2014 20:20:47 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id 651A481ED3; Thu, 26 Jun 2014 22:20:46 +0200 (CEST) Date: Thu, 26 Jun 2014 22:20:46 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , xfs@oss.sgi.com Subject: Re: XFS CRC errors after a crash Message-ID: <20140626202046.GA17707@quack.suse.cz> X-ASG-Orig-Subj: Re: XFS CRC errors after a crash References: <20140625164939.GA27620@quack.suse.cz> <20140625215952.GM9508@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140625215952.GM9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1403814048 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6975 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu 26-06-14 07:59:52, Dave Chinner wrote: > On Wed, Jun 25, 2014 at 06:49:39PM +0200, Jan Kara wrote: > > Hello, > > > > so I've been crash-testing XFS (just killing KVM with XFS filesystem > > mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty > > easily hit CRC mismatches after that. Kernel complains like: > > Yes, we had that reported yesterday by another person, using virtual > box. I've been unable to reproduce it on my local KVM VMs, so I'm > wondering what your configuration KVM configuration is? I'm running the qemu as: qemu-kvm -m 2048 -smp 6 -drive file=/dev/sdb,if=virtio,cache=none -net nic,macaddr=00:16:3e:32:96:20,model=virtio -net tap,script=/root/tests/bin/qemu-setup-net -vnc :1 -serial file:serial.log -kernel /boot/vmlinuz-autotest -initrd /boot/initrd-autotest -append 'root=/dev/vda3 rootflags=relatime' > > [518184.794175] XFS (sdb3): Mounting V5 Filesystem > > [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) > > [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 > > [518187.118870] XFS (sdb3): Unmount and run xfs_repair > > [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: > > [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ > > [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... > > [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ > > [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ > > [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 > > > > So it seem like the checksum doesn't get updated properly in all the cases. > > Looking into the logdump, there doesn't seem to be any modifications for > > this AGF block in unrelayed part of the log but there are some modifications > > in the older parts of the log - the latest LSN where block 1 was updated is > > 1,4639 (and the buffer contents in the log corresponds to the data I see in > > block 1). However the lsn field in AGF structure in that block shows 1,3616 > > so that really seems stale (and I've checked and in that transaction the > > block has been modified as well). > > That tallies with what has been reported -it was the AGI block, > however. What I know so far is that the CRC matches for the version > of the structure logged at the apparent LSN, but the data is more > recent. Yes, this is the case with my corruption as well. > Now the only way I can see the data getting updated without the LSN > being updates is through log recovery, the analysis is here: Yes, that's what I originally though as well but for me: log tail: 8960 head: 10080 state: and the problematic AGF has last been modified in lsn 1,4639 (and it contains data logged there, while agf_lsn field is set to 1,3616). So it seems recovery shouldn't replay lsn 4639? And since in my case kernel complains about CRC mismatch during log recovery and log tail is updated only after successful replay, we should see log as it was before an attempt to mount the fs? Anyway, I'll try to reproduce with the procedure you describe in the email below to make things clearer. > http://oss.sgi.com/pipermail/xfs/2014-June/036938.html > > At the bottom of the email is a request for a information resulting > from a reproduction cycle. Can you run that cycle and provide the > metadumps and dmesg when a problem is first found? Honza -- Jan Kara SUSE Labs, CR From webmaster@getit12.subsprice.com Thu Jun 26 15:58:19 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=HTML_IMAGE_RATIO_02, HTML_MESSAGE,RCVD_NUMERIC_HELO,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 7EAD57F8B for ; Thu, 26 Jun 2014 15:58:19 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 53A8430405F for ; Thu, 26 Jun 2014 13:58:18 -0700 (PDT) X-ASG-Debug-ID: 1403816292-04cb6c76d031b410001-NocioJ Received: from server2.subsprice.com (server2.subsprice.com [115.124.106.61]) by cuda.sgi.com with ESMTP id 3IAwkyOBxy9u293n (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 26 Jun 2014 13:58:14 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit12.subsprice.com X-Barracuda-Apparent-Source-IP: 115.124.106.61 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit12.subsprice.com; s=default; h=Content-Type:MIME-Version:List-Owner:List-Subscribe:List-Unsubscribe:List-Help:Message-ID:Reply-To:From:Date:Subject:To; bh=nJntBKpScO5KsRBOCFOMNTpIxDOkcqOiClBLH7jow+I=; b=N/0RnYKJUet4ZGYF4WAm8mhRlzeEz6PqFjHYYfaejrrUgllZaNXK8Q6ZxFNHn2w/rPukiPU985PGfm6cAk/yE1E5Eb9w0VxFC7wZfueAm8RkDO8CfMk4d9nfqTzb0M8a1HagC3Lk0SQ4ObEAsfRnHpPEwyrB9NFeqQeKID8NCpo=; Received: from nobody by server2.subsprice.com with local (Exim 4.82) (envelope-from ) id 1X0GkE-0003iV-8O for xfs@oss.sgi.com; Thu, 26 Jun 2014 20:58:10 +0000 To: xfs@oss.sgi.com Subject: 40% OFF on Customised T-shirts & More Best Deals on Best Selling Products Received: from 180.215.216.103 [180.215.216.103] by getit12.subsprice.com with HTTP; Thu, 26 Jun 2014 18:54:24 +0000 X-ASG-Orig-Subj: 40% OFF on Customised T-shirts & More Best Deals on Best Selling Products Date: Thu, 26 Jun 2014 20:58:10 +0000 From: Vistaprint Reply-To: Vistaprint Message-ID: X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: 5 X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit12.subsprice.com List-Help: List-Unsubscribe: List-Subscribe: List-Owner: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_a97fa417758841ff64cbce0ceccb0889" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server2.subsprice.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [47 12] X-AntiAbuse: Sender Address Domain - getit12.subsprice.com X-Get-Message-Sender-Via: server2.subsprice.com: uid via acl_c_vhost_owner from authenticated_id: getit12s from //getit12.subsprice.com/mailz/admin/?page=pageaction&action=processqueue&ajaxed=tr /from_h X-Barracuda-Connect: server2.subsprice.com[115.124.106.61] X-Barracuda-Start-Time: 1403816294 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.12 X-Barracuda-Spam-Status: No, SCORE=2.12 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_RATIO_02, HTML_MESSAGE, RCVD_NUMERIC_HELO, RCVD_NUMERIC_HELO_2, URI_HEX X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6976 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 RCVD_NUMERIC_HELO Received: contains an IP address used for HELO -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.32 URI_HEX URI: URI hostname has long hexadecimal sequence 0.55 HTML_IMAGE_RATIO_02 BODY: HTML has a low ratio of text to image area 0.00 HTML_MESSAGE BODY: HTML included in message 1.25 RCVD_NUMERIC_HELO_2 Received: contains an IP address used for HELO --b1_a97fa417758841ff64cbce0ceccb0889 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Make Your Brand Look More Established with Custom Embroidered Clothing! Please don't reply to this email as it's an unmonitored address. Discounts may vary by quantity and apply to select designs. Additional charges may apply for shipping/processing, upgrades and uploads, unless otherwise specified. Discounts valid only on lowest quantity of each product. Discounts not valid on previous purchases or in combination with any other offers. See website for details. The products and services in this e-mail are provided by Vistaprint. 10 million people per year trust Vistaprint for affordable online and print solutions.India customers may contact us in care of our India subsidiary: Vistaprint India Marketing Solutions Private Limited 2nd Floor, "Piramal Tower", Peninsula Corporate Park, Ganpatrao Kadam Marg, Off Senapati Bapat Marg, Lower Parel, Mumbai India - 400 013 -- This message was sent to xfs@oss.sgi.com by ankita@getit12.subsprice.com To forward this message, please do not use the forward button of your email application, because this message was made specifically for you only. Instead use the forward page=0A in our newsletter system. To change your details and to choose which lists to be subscribed to, visit your personal preferences page=0A Or you can opt-out completely=0A from all future mailings. =20 -- developed by, Amol -- --b1_a97fa417758841ff64cbce0ceccb0889 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =0A =0A
Make Your Brand L= ook More Established with Custom Embroidered Clothing!
3D""  
3D"Business 3D"Marketing 3D"Invitations" 3D"Embroidered
3D"" 3D""
3D"" 3D""
3D"" 3D""
3D"" 3D""
3D"" 3D""
  3D""

Please don't reply to this email as it's an unmo= nitored address.
Discounts may vary by quantity and apply to select = designs. Additional charges may apply for shipping/processing, = upgrades and uploads, unless otherwise specified. Discounts valid= only on lowest quantity of each product. Discounts not valid on previous = purchases or in combination with any other offers. See webs= ite for details.

The products and services in this e-mail are provid= ed by Vistaprint. 10 million people per year trust Vistaprint for aff= ordable online and print solutions.India customers may contact us in care = of our India subsidiary:
Vistaprint India Marketing Solutions Private Limite= d
2nd Floor, "Piramal Tower", = Peninsula Corporate Park, Ganpatrao Kadam Marg, O= ff Senapati Bapat Marg,
Lower Parel, Mumbai India - 400 013


-- =20

This message was sent to xfs@oss.sgi.com by ankita@getit12.subspri= ce.com

To forward this message, please do not use the forward button of y= our email application, because this message was made specifically for you o= nly. Instead use the forward page in our newsletter system.
To change your details and to choose which lists to be subscribed to,= visit your personal preferences page
Or you can opt-out completely from all future mailings.

=0A=0A=0A-- developed by, amol --=0A=0A --b1_a97fa417758841ff64cbce0ceccb0889-- From david@fromorbit.com Thu Jun 26 17:47:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 219077F8D for ; Thu, 26 Jun 2014 17:47:37 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id A335CAC001 for ; Thu, 26 Jun 2014 15:47:33 -0700 (PDT) X-ASG-Debug-ID: 1403822850-04cbb0653614a650001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id cKERZooCBkR5CiYf for ; Thu, 26 Jun 2014 15:47:31 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvZFAD6irFN5LEioPGdsb2JhbABSCIMNg0mFCKMEAQEBAQEBBplsAYEPFwQBAQEBODWEAwEBBAEnExwjBQsIAxgJJQ8FJQMHGhOIOgfCNhcXhU2IRlYHhEMFlkSEFJdKKw Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail04.adl6.internode.on.net with ESMTP; 27 Jun 2014 08:17:29 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0IS0-0001YL-0m; Fri, 27 Jun 2014 08:47:28 +1000 Date: Fri, 27 Jun 2014 08:47:27 +1000 From: Dave Chinner To: Mark Tinguely Cc: Fanael Linithien , xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140626224727.GS9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> <53AC7CA9.9050505@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53AC7CA9.9050505@sgi.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403822850 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6978 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 03:03:53PM -0500, Mark Tinguely wrote: > On 06/25/14 19:28, Dave Chinner wrote: > >On Wed, Jun 25, 2014 at 11:21:44AM +1000, Dave Chinner wrote: > >>On Tue, Jun 24, 2014 at 11:50:52PM +0200, Fanael Linithien wrote: > >>Ok, so the CRC corresponds to the version of the AGI that was logged > >>at lsn = 0x30000017e. That means the version on disk is a partial > >>update without a CRC recalculation. Ok, so how can that happen? > >> > >>Given the lsn mismatch, I suspect log recovery has played a part as > >>it will not update the LSN when replaying changes in the log. It > >>should, however, always be attaching the appropriate verifier to > >>the buffers being recovered so the CRC should be recalculated > >>correctly. > > > >Ok, I have confirmed that this is occurring and behaving correctly. > > > >[ 24.437878] XFS (vdb): Mounting V5 Filesystem > >[ 24.554429] XFS (vdb): Starting recovery (logdev: internal) > >[ 24.623466] XFS (vdb): xfs_agi_write_verify: lsn reset block 0x2 > >[ 24.625263] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x8 > >[ 24.627307] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x10 > >[ 24.628729] XFS (vdb): xfs_btree_sblock_calc_crc: lsn reset block 0x18 > >[ 24.630085] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20000 > >[ 24.631504] XFS (vdb): xfs_da3_node_write_verify: lsn reset block 0x20008 > >[ 24.632935] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20010 > >[ 24.634360] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x20018 > >[ 24.635622] XFS (vdb): xfs_dir3_free_write_verify: lsn reset block 0x201e0 > >[ 24.636656] XFS (vdb): __write_verify: lsn reset block 0x201e8 > >[ 24.637510] XFS (vdb): __write_verify: lsn reset block 0x201f0 > >[ 24.638365] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x201f8 > >[ 24.639378] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202c0 > >[ 24.640397] XFS (vdb): __write_verify: lsn reset block 0x202c8 > >[ 24.641260] XFS (vdb): xfs_dir3_data_write_verify: lsn reset block 0x202d0 > >[ 24.664330] XFS (vdb): Ending recovery (logdev: internal) > > > >But that also confirms that log recovery is recalculating the CRC > >after replaying changes into that block: > > > ># xfs_db -c "agi 0" -c "p lsn" -c "p crc" /dev/vdb > >lsn = 0xffffffffffffffff > >crc = 0x788c4f63 (correct) > > > >So the common log recovery path for buffers is working as it is > >designed to do. > > > >What I still don't understand yet is how changes after this recovery > >phase are getting to disk without updating the CRC. That implies > >buffers without verifiers being written.... > > > >More debug to come... > > > >Cheers, > > > >Dave. > > Could an out of order CIL push cause this? I don't think so - the issue appears to be that a CRC is not being recalculated on a buffer before IO has been issued to disk, not that there is incorrect metadata in the buffer. Regardless of how we modify the buffer, the CRC should always match the contents of the block on disk because we calculate it with the buffer locked and just prior to it being written. > SGI saw sequence 2 (and sometimes 3/4) of the cil push get in front > of cil push sequence 1. Looks like the setting of > log->l_cilp->xc_ctx->commit_lsn in xlog_cil_init_post_recovery() > lets this happen. I don't think can actually happen - the CIL is not used until after xlog_cil_init_post_recovery() is completed and transactions start during EFI recovery. Any attempt to use it prior to that call will oops on the null ctx_ticket. As for the ordering issue, I'm pretty sure that was fixed in commit f876e44 ("xfs: always do log forces via the workqueue"). Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Jun 26 17:59:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id D2FAE7F90 for ; Thu, 26 Jun 2014 17:59:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id BEE638F8033 for ; Thu, 26 Jun 2014 15:59:01 -0700 (PDT) X-ASG-Debug-ID: 1403823539-04cb6c76d131e280001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id JpnSzx5QuA4BRX5Z for ; Thu, 26 Jun 2014 15:58:59 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvJFAJKkrFN5LEioPGdsb2JhbABagw2DSYUIowQBAQEBAQEGmWwBgQkXBAEBAQE4NYQDAQEFOhwjEAgDGAklDwUlAwcaE4hBwkgXF4VNiRwHhEMFmliXSis Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail04.adl6.internode.on.net with ESMTP; 27 Jun 2014 08:28:58 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0Id7-0001ad-Ct; Fri, 27 Jun 2014 08:58:57 +1000 Date: Fri, 27 Jun 2014 08:58:57 +1000 From: Dave Chinner To: Jeff Layton Cc: xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Subject: Re: xfs: possible irq lock inversion dependency detected Message-ID: <20140626225857.GT9508@dastard> X-ASG-Orig-Subj: Re: xfs: possible irq lock inversion dependency detected References: <20140626142004.31b981dc@tlielax.poochiereds.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626142004.31b981dc@tlielax.poochiereds.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403823539 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6979 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 02:20:04PM -0400, Jeff Layton wrote: > While testing some knfsd patches on XFS today, I got this lockdep > splatter. The kernel is a stock -rc2 kernel with a pile of knfsd > patches on top. There are a couple of others in other areas, but > nothing that would affect this. > > Nothing crashed or seems to be hung, so I'm not sure if it's a real > problem or not... Known false positive. the problem is that lockdep is too stupid to realise you can't mmap a directory inode, but it sees unused directory inodes from memory reclaim in page faults (i.e. under the mmap_sem) and so therefore thinks that taking a page fault in readdir() while holding a directory inode lock on a referenced directory inode will deadlock.... Teaching lockdep the intricacies of locking heirarchies is difficult and painful. Fixing this one (and all the other stupidities lockdep reports because of this) can't be done through annotations - it requires rewriting a bunch of directory code to use different locks. And, well, it ain't actually broken right now and there's other more important issues to be fixed, so unless someone else beats me to rewriting the readdir readahead code, lockdep is going to remain unhappy about XFS. Cheers, Dave. -- Dave Chinner david@fromorbit.com From jeff.layton@primarydata.com Thu Jun 26 18:03:48 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 250167F92 for ; Thu, 26 Jun 2014 18:03:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0F65A304039 for ; Thu, 26 Jun 2014 16:03:44 -0700 (PDT) X-ASG-Debug-ID: 1403823823-04cb6c76d131e440001-NocioJ Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) by cuda.sgi.com with ESMTP id Efu8wAUbU7fkQscz (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 26 Jun 2014 16:03:43 -0700 (PDT) X-Barracuda-Envelope-From: jeff.layton@primarydata.com X-Barracuda-Apparent-Source-IP: 209.85.192.52 Received: by mail-qg0-f52.google.com with SMTP id f51so3681492qge.39 for ; Thu, 26 Jun 2014 16:03:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:date:to:cc:subject:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=wIsA5fd1wKRQTunsjGwlH+KaUZfMOvwOAyKbIsBE/IY=; b=kDmwYa60BJtfwmGC8RLbyNxvUjRdQ3cfwSGPvyVPypKrzERfnGjEpRtF9cTnkbgPIV nA6gaB2b6iaBmJPWlDpQEysXok9JFm3gkKz1/fe9ppd33qYs6CHrZS0a0iohsgfdnjXo 073Ir8NLxur9CIZ8Nz2W9c7LwNaaFa7Rpt9N85VnGripfy8u8b9O53wZRJW65LWzchCb 3haHugwXibndJ2xW6NfTFEvlabn075ACXaYnssicao1xvgqNG1LxfpClg/7RiHcaLhLc UucMvNSxDpaz1JGyt545kf70PdtVYnSXXhnIVPWelh+1AKq6FV/vFsMIOURA8MmscsEj AZqg== X-Gm-Message-State: ALoCoQkHAlYP+2uJuDtF+aoIRFVrRBCub/+EYg7J3vJzmcXQ8sX3vv19fNpGjHzw2nw0y7Fs8Kwy X-Received: by 10.140.102.79 with SMTP id v73mr25726983qge.8.1403823823078; Thu, 26 Jun 2014 16:03:43 -0700 (PDT) Received: from tlielax.poochiereds.net ([2001:470:8:d63:3a60:77ff:fe93:a95d]) by mx.google.com with ESMTPSA id r7sm8318009qas.5.2014.06.26.16.03.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jun 2014 16:03:43 -0700 (PDT) From: Jeff Layton X-Google-Original-From: Jeff Layton Date: Thu, 26 Jun 2014 19:03:41 -0400 To: Dave Chinner Cc: Jeff Layton , xfs@oss.sgi.com, linux-fsdevel@vger.kernel.org Subject: Re: xfs: possible irq lock inversion dependency detected Message-ID: <20140626190341.6861553d@tlielax.poochiereds.net> X-ASG-Orig-Subj: Re: xfs: possible irq lock inversion dependency detected In-Reply-To: <20140626225857.GT9508@dastard> References: <20140626142004.31b981dc@tlielax.poochiereds.net> <20140626225857.GT9508@dastard> X-Mailer: Claws Mail 3.10.0 (GTK+ 2.24.22; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mail-qg0-f52.google.com[209.85.192.52] X-Barracuda-Start-Time: 1403823823 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6979 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, 27 Jun 2014 08:58:57 +1000 Dave Chinner wrote: > On Thu, Jun 26, 2014 at 02:20:04PM -0400, Jeff Layton wrote: > > While testing some knfsd patches on XFS today, I got this lockdep > > splatter. The kernel is a stock -rc2 kernel with a pile of knfsd > > patches on top. There are a couple of others in other areas, but > > nothing that would affect this. > > > > Nothing crashed or seems to be hung, so I'm not sure if it's a real > > problem or not... > > Known false positive. the problem is that lockdep is too stupid to > realise you can't mmap a directory inode, but it sees unused > directory inodes from memory reclaim in page faults (i.e. under the > mmap_sem) and so therefore thinks that taking a page fault in > readdir() while holding a directory inode lock on a referenced > directory inode will deadlock.... > > Teaching lockdep the intricacies of locking heirarchies is difficult > and painful. Fixing this one (and all the other stupidities lockdep > reports because of this) can't be done through annotations - it > requires rewriting a bunch of directory code to use different locks. > And, well, it ain't actually broken right now and there's other more > important issues to be fixed, so unless someone else beats me to > rewriting the readdir readahead code, lockdep is going to remain > unhappy about XFS. > > Cheers, > > Dave. No problem. Just figured I'd report it in case it were something new. I'll just keep ignoring it. Thanks! -- Jeff Layton From david@fromorbit.com Thu Jun 26 18:25:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 1D3047F96 for ; Thu, 26 Jun 2014 18:25:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C434330405F for ; Thu, 26 Jun 2014 16:25:03 -0700 (PDT) X-ASG-Debug-ID: 1403825100-04cb6c76d131ecd0001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id M1qpvw01IXBT44fW for ; Thu, 26 Jun 2014 16:25:01 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvZFAG6qrFN5LEioPGdsb2JhbABagw2DSYUIowUBAQEBAQEGmWwBgQkXBAEBAQE4NYQDAQEEAScTHCMFCwgDDgoJJQ8FJQMHGhOIOgfCBxcXhU2IOGQHhEMFmliXSiuBMQ Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail04.adl6.internode.on.net with ESMTP; 27 Jun 2014 08:48:45 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0IwF-0001dC-LY; Fri, 27 Jun 2014 09:18:43 +1000 Date: Fri, 27 Jun 2014 09:18:43 +1000 From: Dave Chinner To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: XFS CRC errors after a crash Message-ID: <20140626231843.GU9508@dastard> X-ASG-Orig-Subj: Re: XFS CRC errors after a crash References: <20140625164939.GA27620@quack.suse.cz> <20140625215952.GM9508@dastard> <20140626202046.GA17707@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140626202046.GA17707@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403825100 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6979 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Jun 26, 2014 at 10:20:46PM +0200, Jan Kara wrote: > On Thu 26-06-14 07:59:52, Dave Chinner wrote: > > On Wed, Jun 25, 2014 at 06:49:39PM +0200, Jan Kara wrote: > > > Hello, > > > > > > so I've been crash-testing XFS (just killing KVM with XFS filesystem > > > mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty > > > easily hit CRC mismatches after that. Kernel complains like: > > > > Yes, we had that reported yesterday by another person, using virtual > > box. I've been unable to reproduce it on my local KVM VMs, so I'm > > wondering what your configuration KVM configuration is? > I'm running the qemu as: > qemu-kvm -m 2048 -smp 6 -drive file=/dev/sdb,if=virtio,cache=none -net > nic,macaddr=00:16:3e:32:96:20,model=virtio -net > tap,script=/root/tests/bin/qemu-setup-net -vnc :1 -serial file:serial.log > -kernel /boot/vmlinuz-autotest -initrd /boot/initrd-autotest -append > 'root=/dev/vda3 rootflags=relatime' Ok, so you are testing directly on a block device via virtio, using direct IO. Hmmm _ I'm using virtio,cache=none on image files on XFS, so I can't see that there's be much difference there. Nothing else stands out - I'm assuming that you're not using the "nobarrier" mount option? > > > [518184.794175] XFS (sdb3): Mounting V5 Filesystem > > > [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) > > > [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 > > > [518187.118870] XFS (sdb3): Unmount and run xfs_repair > > > [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: > > > [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ > > > [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... > > > [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ > > > [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ > > > [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 > > > > > > So it seem like the checksum doesn't get updated properly in all the cases. > > > Looking into the logdump, there doesn't seem to be any modifications for > > > this AGF block in unrelayed part of the log but there are some modifications > > > in the older parts of the log - the latest LSN where block 1 was updated is > > > 1,4639 (and the buffer contents in the log corresponds to the data I see in > > > block 1). However the lsn field in AGF structure in that block shows 1,3616 > > > so that really seems stale (and I've checked and in that transaction the > > > block has been modified as well). > > > > That tallies with what has been reported -it was the AGI block, > > however. What I know so far is that the CRC matches for the version > > of the structure logged at the apparent LSN, but the data is more > > recent. > Yes, this is the case with my corruption as well. > > > Now the only way I can see the data getting updated without the LSN > > being updates is through log recovery, the analysis is here: > Yes, that's what I originally though as well but for me: > log tail: 8960 head: 10080 state: > and the problematic AGF has last been modified in lsn 1,4639 (and it > contains data logged there, while agf_lsn field is set to 1,3616). So it > seems recovery shouldn't replay lsn 4639? No, what that tells me is that a previous log recovery replayed the change at lsn 4639. Log recovery does not update the lsn in the object because if log recovery fails we need to run it completely from tail to head again, and we want it to rewrite all the changes appropriately. If we update the lsn each time we recover a change, then this won't happen. Hence a sign of an object that has been recovered is that there is newer data than the LSN indicates. The issue here is that the CRC does not appear to have been updated, and I can't work out how that can occur - log recovery of a buffer will see the appropriate magic number, add the correct verifier, and when the recovered data is written it will recalc the CRC first. That's why I send the debug patch to catch buffer writes that didn't have verifier ops attached. (attached below again for you). If that fires at any time, then we have a smoking gun. But if it doesn't fire and you still see CRC mismatches then we've got something extremely subtle > And since in my case kernel > complains about CRC mismatch during log recovery and log tail is updated > only after successful replay, we should see log as it was before an attempt > to mount the fs? It depends. The log should be unchanged if it fails in the first phase of recovery. It's not until the first checkpoint during the second phase that the log tail gets updated on disk (after EFI recovery), so a failure in EFI or unlinked inode recovery can result in the log tail moving. Cheers, Dave. -- Dave Chinner david@fromorbit.com xfs: spew warnings when writing cached buffers without a verifier Signed-off-by: Dave Chinner --- fs/xfs/xfs_buf.c | 6 ++++++ fs/xfs/xfs_log.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index a6dc83e..95e5516 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -1330,6 +1330,12 @@ _xfs_buf_ioapply( SHUTDOWN_CORRUPT_INCORE); return; } + } else if (bp->b_bn != -1LL) { + xfs_warn(bp->b_target->bt_mount, + "%s: no ops on block 0x%llx/0x%llx", + __func__, bp->b_bn, bp->b_maps[0].bm_bn); + xfs_hex_dump(bp->b_addr, 64); + dump_stack(); } } else if (bp->b_flags & XBF_READ_AHEAD) { rw = READA; diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 7647818..ecf2048 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -1369,8 +1369,13 @@ xlog_alloc_log( xlog_get_iclog_buffer_size(mp, log); + /* + * Use a block number of -1 for the extra log buffer used during splits + * so that it will trigger errors if we ever try to do IO on it without + * first having set it up properly. + */ error = -ENOMEM; - bp = xfs_buf_alloc(mp->m_logdev_targp, 0, BTOBB(log->l_iclog_size), 0); + bp = xfs_buf_alloc(mp->m_logdev_targp, -1LL, BTOBB(log->l_iclog_size), 0); if (!bp) goto out_free_log; From stan@hardwarefreak.com Thu Jun 26 18:32:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 799707F92 for ; Thu, 26 Jun 2014 18:32:27 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 527048F8037 for ; Thu, 26 Jun 2014 16:32:24 -0700 (PDT) X-ASG-Debug-ID: 1403825542-04bdf0566768b4f0001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id 7T3lX80Zmt33IPx1 for ; Thu, 26 Jun 2014 16:32:22 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 3AD0B6C0FA; Thu, 26 Jun 2014 18:32:22 -0500 (CDT) Message-ID: <53ACAD89.8080701@hardwarefreak.com> Date: Thu, 26 Jun 2014 18:32:25 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Dragon , xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 References: X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1403825542 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 On 6/26/2014 2:17 PM, Dragon wrote: > Hello, > i upgraded to debian jessie with xfsprogs 3.2. if i run xfs_repair /dev/md2 the system hangs too. If i use -P it ends up with: > corrupt block 0 in directory inode 2147702899: junking block > Segmentation fault > > if i use -n -P it ends up with: > > No modify flag set, skipping phase 5 > Inode allocation btrees are too corrupted, skipping phases 6 and 7 > No modify flag set, skipping filesystem flush and exiting. Did you lose the md/RAID6 array and reassemble it prior to seeing the problems with the XFS filesystem? You may have reassembled it in the wrong order, in which case the sector offsets will be wrong, and XFS will not see data where it should be. This is reported as corruption. You never posted your dmesg output so you may or may not be experiencing hardware problems. That needs to be eliminated as a possible cause. Please post relevant lines from dmesg. > Files are still not accessible - i think i lost some TB ;( - not a good experience for first use of xfs... An XFS filesystem doesn't simply become corrupt like this during normal operation. Something happened that corrupted the on disk structures. XFS is the messenger here, not the cause. Cheers, Stan From david@fromorbit.com Thu Jun 26 19:04:53 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id C03327F96 for ; Thu, 26 Jun 2014 19:04:53 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id AB1968F8054 for ; Thu, 26 Jun 2014 17:04:50 -0700 (PDT) X-ASG-Debug-ID: 1403827488-04cbb0653614c800001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id Z8AeCRHU13wwBvo5 for ; Thu, 26 Jun 2014 17:04:49 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvRFABS0rFN5LEioPGdsb2JhbABagw2DSYUIowcBAQEBAQEGmWwBgQkXBAEBAQE4NYQDAQEEATocIwULCAMYCSUPBSUDBxoTiDoHwlwXF4VNiDoQAgEGB0IHhEMFmliXSiuBMgEe Received: from ppp121-44-72-168.lns20.syd6.internode.on.net (HELO dastard) ([121.44.72.168]) by ipmail04.adl6.internode.on.net with ESMTP; 27 Jun 2014 09:32:56 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0Jd0-0001io-8r; Fri, 27 Jun 2014 10:02:54 +1000 Date: Fri, 27 Jun 2014 10:02:54 +1000 From: Dave Chinner To: Dragon Cc: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Message-ID: <20140627000254.GV9508@dastard> X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1403827488 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6981 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [ A couple of email-to-lists tips: Please: - don't post in html format, use plain text - please don't top post, commentin line - fix the in-reply-to fields on your email replies so that mail programs can thread the conversion properly ] On Thu, Jun 26, 2014 at 09:17:27PM +0200, Dragon wrote: > i upgraded to debian jessie with xfsprogs 3.2. if i run xfs_repair > /dev/md2 the system hangs too. If i use -P it ends up with: > corrupt block 0 in directory inode 2147702899: junking block > Segmentation fault Can you run this under a gdb and get a stack trace from where it crashed. You might need to grab the source and build that to get a meaningful stack trace.... > No modify flag set, skipping phase 5 > Inode allocation btrees are too corrupted, skipping phases 6 and 7 > No modify flag set, skipping filesystem flush and exiting. What actually went wrong with your storage? The only time I've seen that warning is when a raid array had been reconstructed incorrectly after a series of disk failures. Did your RAID have failures or reconstruction problems before XFS started reporting errors? Cheers, Dave. -- Dave Chinner david@fromorbit.com From svn@emf.ru Thu Jun 26 22:29:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.5 required=5.0 tests=XM_PHPMAILER_FORGED autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id A7D507F9B for ; Thu, 26 Jun 2014 22:29:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 37ACDAC001 for ; Thu, 26 Jun 2014 20:29:25 -0700 (PDT) X-ASG-Debug-ID: 1403839760-04cbb065351531a0001-NocioJ Received: from emf.ru (emf.ipgg.nsc.ru [84.237.119.226]) by cuda.sgi.com with ESMTP id ZM5ghcZANe2jL2ur for ; Thu, 26 Jun 2014 20:29:20 -0700 (PDT) X-Barracuda-Envelope-From: svn@emf.ru X-Barracuda-Apparent-Source-IP: 84.237.119.226 Received: from localhost (localhost [127.0.0.1]) by emf.ru (Postfix) with ESMTP id 0D57B113EAE for ; Fri, 27 Jun 2014 10:29:20 +0700 (NOVT) X-Virus-Scanned: Debian amavisd-new at emf.ru Received: from emf.ru ([127.0.0.1]) by localhost (emf.ipgg.nsc.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m5d1edjnUdnI for ; Fri, 27 Jun 2014 10:29:19 +0700 (NOVT) Received: by emf.ru (Postfix, from userid 1001) id 7C7031144AB; Fri, 27 Jun 2014 10:24:26 +0700 (NOVT) Date: Fri, 27 Jun 2014 10:24:26 +0700 To: xfs@oss.sgi.com From: Apple ID Reply-To: Subject: Your Account Apple Has Been Locked !!! Message-ID: X-ASG-Orig-Subj: Your Account Apple Has Been Locked !!! X-Priority: 3 X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version ] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="iso-8859-1" X-Barracuda-Connect: emf.ipgg.nsc.ru[84.237.119.226] X-Barracuda-Start-Time: 1403839760 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 2.21 X-Barracuda-Spam-Status: No, SCORE=2.21 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC1_TG070, BSF_SC1_TG070b, PLING_PLING X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6984 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.46 PLING_PLING Subject has lots of exclamation marks 0.50 BSF_SC1_TG070 Custom Rule TG070 1.25 BSF_SC1_TG070b Custom Rule TG070b Confirm your Apple Account. Dear member, We have faced some problems with your account, please click the link below to reactive your account, If you do not update it will be Closed. To update your account, just confirm your informations, It's easy: http://confirmation-information.onesoulsystems.com You can use your Apple ID to; shop the iTunes Store, buy from the Apple 0nline Store, make a reservation at an Apple Retail Store, and access Apple support.Learn more about your new Apple ID. To edit the personal information associated with your Apple ID, please visit the My Apple ID website and sign in with your Apple ID and password. To learn how Αpple collects, uses, and safeguards the personal information you provide, please review the Apple Customer Privacy Policy. From Sunghost@gmx.de Fri Jun 27 02:42:59 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C8A8D7F9D for ; Fri, 27 Jun 2014 02:42:59 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 765A3AC001 for ; Fri, 27 Jun 2014 00:42:56 -0700 (PDT) X-ASG-Debug-ID: 1403854973-04bdf056666996c0001-NocioJ Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by cuda.sgi.com with ESMTP id FYyb5GH59Q19d8Vc (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 00:42:54 -0700 (PDT) X-Barracuda-Envelope-From: Sunghost@gmx.de X-Barracuda-Apparent-Source-IP: 212.227.15.18 Received: from [194.12.218.135] by 3capp-gmx-bs65.server.lan (via HTTP); Fri, 27 Jun 2014 09:42:52 +0200 MIME-Version: 1.0 Message-ID: From: Dragon To: xfs@oss.sgi.com Subject: Re: XFS Repair hangs at inode repair in phase3 Content-Type: text/plain; charset=UTF-8 X-ASG-Orig-Subj: Re: XFS Repair hangs at inode repair in phase3 Date: Fri, 27 Jun 2014 09:42:52 +0200 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K0:e++Xs+1ZNE5f5VoaI0LrVT9cFvoKbP77tkXh398rmnR A3SZhdxi/UqQ/aQXY55xWxcYUWVhXt4+tvf60qco5MI880q3wR bmOW3y7/Uzuk9guwAeKvCmvFLAyCuC7W7CBuwUhEbvz8p0Mh73 w8YfhE0A56N/YJ9VIVIKeUpH4D/V3WlL+QG5bdW4Uv1ZVsS0k4 XyRVvlqAqk8mJSwfPGGJjiICmiahLgqkdqvzYv5yyKDkjAA8Yl ggb2zrRF2IQ9+n7YsT+LU1JXYxu7NU8/eBW12//+DgviqnIxIy 146KGI= X-Barracuda-Connect: mout.gmx.net[212.227.15.18] X-Barracuda-Start-Time: 1403854974 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.6988 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hello, thanks for advises for the list - i changed to txt-format. Situation before xfs failure was that i had have a raid6 with 5 Disks. I copied alle files from one server to this, because the space on the other was full and have to rebuild.. After that i needed one more disk, which i didnt had, so i take 1 out of the raid6. Restart, check and all looks good. I dont know, because since that its aprox 4 weeks ago, when and whey the xfs failure occures, but as i wanted to copy all files back to the new server, i get this message from xfs to repair the file structure. I searched a lot, was in xfs irc, where no one could/whould help so i finally wrote to this list. While a lot time past and i need those server i yesterday reboot from live-cd and backup the most of it. i think i lost aprox 500gb which is not as important as wait another 4 weeks with perhaps no solution. So i yesterday deleted the raid and since this night i run badblocks on the disks to check them. So presently no more help is needed, but i will thanks both of you for your help and fast replies. i think i gave xfs another chance and after all build up the server again with it. best regards and sunny weekend From bfoster@redhat.com Fri Jun 27 07:07:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 8ACDD7F9F for ; Fri, 27 Jun 2014 07:07:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 7231D304064 for ; Fri, 27 Jun 2014 05:07:04 -0700 (PDT) X-ASG-Debug-ID: 1403870823-04cb6c76cf334140001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id XEbUVdeKehCyf8nC (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72Hn010584 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72dN017593 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 712741204C3; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 6/6] xfs: document log sysfs attributes in testing ABI Date: Fri, 27 Jun 2014 08:07:01 -0400 X-ASG-Orig-Subj: [PATCH v2 6/6] xfs: document log sysfs attributes in testing ABI Message-Id: <1403870821-20143-7-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870823 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create a sysfs-fs-xfs ABI documentation file for newly added sysfs attributes. This is created under the testing section. Signed-off-by: Brian Foster --- Documentation/ABI/testing/sysfs-fs-xfs | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-fs-xfs diff --git a/Documentation/ABI/testing/sysfs-fs-xfs b/Documentation/ABI/testing/sysfs-fs-xfs new file mode 100644 index 0000000..b81aa08 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-fs-xfs @@ -0,0 +1,39 @@ +What: /sys/fs/xfs//log/log_head_lsn +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The log sequence number (LSN) of the current head of the + log. The LSN is exported in "cycle:basic block" format. +Users: xfstests + +What: /sys/fs/xfs//log/log_tail_lsn +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The log sequence number (LSN) of the current tail of the + log. The LSN is exported in "cycle:basic block" format. + +What: /sys/fs/xfs//log/reserve_grant_head +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The current state of the log reserve grant head. It + represents the total log reservation of all currently + outstanding transactions. The grant head is exported in + "cycle:bytes" format. +Users: xfstests + +What: /sys/fs/xfs//log/write_grant_head +Date: June 2014 +KernelVersion: 3.16 +Contact: xfs@oss.sgi.com +Description: + The current state of the log write grant head. It + represents the total log reservation of all currently + oustanding transactions, including regrants due to + rolling transactions. The grant head is exported in + "cycle:bytes" format. +Users: xfstests -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id C686E7FA0 for ; Fri, 27 Jun 2014 07:07:04 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id AD9C1304062 for ; Fri, 27 Jun 2014 05:07:04 -0700 (PDT) X-ASG-Debug-ID: 1403870822-04cbb06538162960001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id HwdpAZ6yH87xjszT (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72qN020524 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72A0028007 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 49FBC120188; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 3/6] xfs: add xfs_mount sysfs kobject Date: Fri, 27 Jun 2014 08:06:58 -0400 X-ASG-Orig-Subj: [PATCH v2 3/6] xfs: add xfs_mount sysfs kobject Message-Id: <1403870821-20143-4-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870823 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Embed a base kobject into xfs_mount. This creates a kobject associated with each XFS mount and a subdirectory in sysfs with the name of the filesystem. The subdirectory lifecycle matches that of the mount. Also add the new xfs_sysfs.[c,h] source files with some XFS sysfs infrastructure to facilitate attribute creation. Note that there are currently no attributes exported as part of the xfs_mount kobject. It exists solely to serve as a per-mount container for child objects. Signed-off-by: Brian Foster --- fs/xfs/Makefile | 1 + fs/xfs/xfs_linux.h | 11 +++++++++++ fs/xfs/xfs_mount.c | 14 ++++++++++++- fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_sysfs.c | 49 +++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 fs/xfs/xfs_sysfs.c create mode 100644 fs/xfs/xfs_sysfs.h diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index 0dfa26d..d617999 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -86,6 +86,7 @@ xfs-y += xfs_aops.o \ xfs_mru_cache.o \ xfs_super.o \ xfs_symlink.o \ + xfs_sysfs.o \ xfs_trans.o \ xfs_xattr.o \ kmem.o \ diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h index f59b966..8312771 100644 --- a/fs/xfs/xfs_linux.h +++ b/fs/xfs/xfs_linux.h @@ -191,6 +191,17 @@ typedef __uint64_t __psunsigned_t; #define MAX(a,b) (max(a,b)) #define howmany(x, y) (((x)+((y)-1))/(y)) +/* + * XFS wrapper structure for sysfs support. It depends on external data + * structures and is embedded in various internal data structures to implement + * the XFS sysfs object heirarchy. Define it here for broad access throughout + * the codebase. + */ +struct xfs_kobj { + struct kobject kobject; + struct completion complete; +}; + /* Kernel uid/gid conversion. These are used to convert to/from the on disk * uid_t/gid_t types to the kuid_t/kgid_t types that the kernel uses internally. * The conversion here is type only, the value will remain the same since we diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 4e9dd4a..c8a328e 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -42,6 +42,7 @@ #include "xfs_trace.h" #include "xfs_icache.h" #include "xfs_dinode.h" +#include "xfs_sysfs.h" #ifdef HAVE_PERCPU_SB @@ -60,6 +61,8 @@ static DEFINE_MUTEX(xfs_uuid_table_mutex); static int xfs_uuid_table_size; static uuid_t *xfs_uuid_table; +extern struct kset *xfs_kset; + /* * See if the UUID is unique among mounted XFS filesystems. * Mount fails if UUID is nil or a FS with the same UUID is already mounted. @@ -731,10 +734,15 @@ xfs_mountfs( xfs_set_maxicount(mp); - error = xfs_uuid_mount(mp); + mp->m_kobj.kobject.kset = xfs_kset; + error = xfs_sysfs_init(&mp->m_kobj, &xfs_mp_ktype, NULL, mp->m_fsname); if (error) goto out; + error = xfs_uuid_mount(mp); + if (error) + goto out_remove_sysfs; + /* * Set the minimum read and write sizes */ @@ -989,6 +997,8 @@ xfs_mountfs( xfs_da_unmount(mp); out_remove_uuid: xfs_uuid_unmount(mp); + out_remove_sysfs: + xfs_sysfs_del(&mp->m_kobj); out: return error; } @@ -1071,6 +1081,8 @@ xfs_unmountfs( xfs_errortag_clearall(mp, 0); #endif xfs_free_perag(mp); + + xfs_sysfs_del(&mp->m_kobj); } int diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 7295a0b..b0447c8 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -166,6 +166,7 @@ typedef struct xfs_mount { on the next remount,rw */ int64_t m_low_space[XFS_LOWSP_MAX]; /* low free space thresholds */ + struct xfs_kobj m_kobj; struct workqueue_struct *m_data_workqueue; struct workqueue_struct *m_unwritten_workqueue; diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c new file mode 100644 index 0000000..ae9aa7a --- /dev/null +++ b/fs/xfs/xfs_sysfs.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2014 Red Hat, Inc. + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "xfs.h" +#include "xfs_sysfs.h" + +struct xfs_sysfs_attr { + struct attribute attr; + ssize_t (*show)(char *buf, void *data); + ssize_t (*store)(const char *buf, size_t count, void *data); +}; + +static inline struct xfs_sysfs_attr * +to_attr(struct attribute *attr) +{ + return container_of(attr, struct xfs_sysfs_attr, attr); +} + +#define XFS_SYSFS_ATTR_RW(name) \ + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RW(name) +#define XFS_SYSFS_ATTR_RO(name) \ + static struct xfs_sysfs_attr xfs_sysfs_attr_##name = __ATTR_RO(name) + +#define ATTR_LIST(name) &xfs_sysfs_attr_##name.attr + +/* + * xfs_mount kobject. This currently has no attributes and thus no need for show + * and store helpers. The mp kobject serves as the per-mount parent object that + * is identified by the fsname under sysfs. + */ + +struct kobj_type xfs_mp_ktype = { + .release = xfs_sysfs_release, +}; diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h new file mode 100644 index 0000000..438976b --- /dev/null +++ b/fs/xfs/xfs_sysfs.h @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2014 Red Hat, Inc. + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __XFS_SYSFS_H__ +#define __XFS_SYSFS_H__ + +extern struct kobj_type xfs_mp_ktype; /* xfs_mount */ + +static inline struct xfs_kobj * +to_kobj(struct kobject *kobject) +{ + return container_of(kobject, struct xfs_kobj, kobject); +} + +static inline void +xfs_sysfs_release(struct kobject *kobject) +{ + struct xfs_kobj *kobj = to_kobj(kobject); + complete(&kobj->complete); +} + +static inline int +xfs_sysfs_init( + struct xfs_kobj *kobj, + struct kobj_type *ktype, + struct xfs_kobj *p_kobj, + const char *name) +{ + init_completion(&kobj->complete); + return kobject_init_and_add(&kobj->kobject, ktype, &p_kobj->kobject, + "%s", name); +} + +static inline void +xfs_sysfs_del( + struct xfs_kobj *kobj) +{ + kobject_del(&kobj->kobject); + kobject_put(&kobj->kobject); + wait_for_completion(&kobj->complete); +} + +#endif /* __XFS_SYSFS_H__ */ -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:06 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 049587F9F for ; Fri, 27 Jun 2014 07:07:06 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id B93C0304062 for ; Fri, 27 Jun 2014 05:07:05 -0700 (PDT) X-ASG-Debug-ID: 1403870823-04bdf056696a16f0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id nn6orPZlVUmfoEJw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:04 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72fX032525 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:03 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72t3029482 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 66AFE12044E; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 5/6] xfs: add log attributes for log lsn and grant head data Date: Fri, 27 Jun 2014 08:07:00 -0400 X-ASG-Orig-Subj: [PATCH v2 5/6] xfs: add log attributes for log lsn and grant head data Message-Id: <1403870821-20143-6-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870824 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create log attributes to export the current runtime state of the log to sysfs. Note that the filesystem should be frozen for consistency across attributes. The following per-mount attributes are created: log_head_lsn, log_tail_lsn, reserve_grant_head and write_grant_head. These represent the physical log head, tail and reserve and write grant heads respectively. Attribute values are exported in the following format: "cycle:[block,byte]" ... where cycle represents the log cycle and [block,bytes] represents either the basic block or byte offset of the log, depending on the attribute. Log sequence number (LSN) values are encoded in basic blocks and grant heads are encoded in bytes. All values are in decimal format. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner --- fs/xfs/xfs_sysfs.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index 88361d7..9835139 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -53,7 +53,71 @@ struct kobj_type xfs_mp_ktype = { /* xlog */ +STATIC ssize_t +log_head_lsn_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int block; + + spin_lock(&log->l_icloglock); + cycle = log->l_curr_cycle; + block = log->l_curr_block; + spin_unlock(&log->l_icloglock); + + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, block); +} +XFS_SYSFS_ATTR_RO(log_head_lsn); + +STATIC ssize_t +log_tail_lsn_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int block; + + xlog_crack_atomic_lsn(&log->l_tail_lsn, &cycle, &block); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, block); +} +XFS_SYSFS_ATTR_RO(log_tail_lsn); + +STATIC ssize_t +reserve_grant_head_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int bytes; + + xlog_crack_grant_head(&log->l_reserve_head.grant, &cycle, &bytes); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes); +} +XFS_SYSFS_ATTR_RO(reserve_grant_head); + +STATIC ssize_t +write_grant_head_show( + char *buf, + void *data) +{ + struct xlog *log = data; + int cycle; + int bytes; + + xlog_crack_grant_head(&log->l_write_head.grant, &cycle, &bytes); + return snprintf(buf, PAGE_SIZE, "%d:%d\n", cycle, bytes); +} +XFS_SYSFS_ATTR_RO(write_grant_head); + static struct attribute *xfs_log_attrs[] = { + ATTR_LIST(log_head_lsn), + ATTR_LIST(log_tail_lsn), + ATTR_LIST(reserve_grant_head), + ATTR_LIST(write_grant_head), NULL, }; -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 555467FA4 for ; Fri, 27 Jun 2014 07:07:07 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4A3AA304064 for ; Fri, 27 Jun 2014 05:07:07 -0700 (PDT) X-ASG-Debug-ID: 1403870822-04cb6c76d0334140001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CU3shJFafJ222j7N (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72Wc019748 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC71Db017580 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 2052E1201B8; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 0/6] xfs sysfs support Date: Fri, 27 Jun 2014 08:06:55 -0400 X-ASG-Orig-Subj: [PATCH v2 0/6] xfs sysfs support Message-Id: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870823 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Hi all, Here's v2 of sysfs support for XFS. The previous version is available here: http://oss.sgi.com/archives/xfs/2014-06/msg00141.html This version is rebased onto the latest for-next and further cleans up the code to use some abstractions for sysfs object maintenance and associated helpers. As noted in the v1 thread, I think the current doc patch already indicates that the sysfs attrs are not considered stable. Unless there is further feedback on that front, I'll leave that patch as is. Brian v2: - Rebased to latest for-next (error negation, libxfs). - Introduce xfs_kobj container for kobject and completion. - Genericize kobject release function. - Move snprintf() outside of iclog lock in log_head_lsn_show(). Clean up xlog handlers. v1: - Move sysfs infrastructure code to new source file, add helpers for object initialization, etc. - Created an xfs_mount->xlog object heirarchy for attributes associated with the log. - Renamed the reserve/write grant head attributes to '[reserve,write]_grant_head.' - Use the 'cycle:block' or 'cycle:bytes' decimal format for attributes (rather than export encoded values). - Included generic mountfs fix and doc. Brian Foster (6): xfs: fix a couple error sequence jumps in xfs_mountfs() xfs: add a sysfs kset xfs: add xfs_mount sysfs kobject xfs: add xlog sysfs kobject and attribute handlers xfs: add log attributes for log lsn and grant head data xfs: document log sysfs attributes in testing ABI Documentation/ABI/testing/sysfs-fs-xfs | 39 ++++++++ fs/xfs/Makefile | 1 + fs/xfs/xfs_linux.h | 11 +++ fs/xfs/xfs_log.c | 9 ++ fs/xfs/xfs_log_priv.h | 2 + fs/xfs/xfs_mount.c | 18 +++- fs/xfs/xfs_mount.h | 1 + fs/xfs/xfs_super.c | 12 ++- fs/xfs/xfs_sysfs.c | 165 +++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 59 ++++++++++++ 10 files changed, 313 insertions(+), 4 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-fs-xfs create mode 100644 fs/xfs/xfs_sysfs.c create mode 100644 fs/xfs/xfs_sysfs.h -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6A6A27FA6 for ; Fri, 27 Jun 2014 07:07:07 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 500DB8F8087 for ; Fri, 27 Jun 2014 05:07:07 -0700 (PDT) X-ASG-Debug-ID: 1403870822-04bdf056666a16e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 1PreoiF5YfEzqD3p (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC724X010579 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72gG021179 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 38B761201CA; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() Date: Fri, 27 Jun 2014 08:06:56 -0400 X-ASG-Orig-Subj: [PATCH v2 1/6] xfs: fix a couple error sequence jumps in xfs_mountfs() Message-Id: <1403870821-20143-2-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870822 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 xfs_mountfs() has a couple failure conditions that do not jump to the correct labels. Specifically: - xfs_initialize_perag_data() failure does not deallocate the log even though it occurs after log initialization - xfs_mount_reset_sbqflags() failure returns the error directly rather than jump to the error sequence Signed-off-by: Brian Foster Reviewed-by: Dave Chinner --- fs/xfs/xfs_mount.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index d5c44a6..4e9dd4a 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -855,7 +855,7 @@ xfs_mountfs( !mp->m_sb.sb_inprogress) { error = xfs_initialize_perag_data(mp, sbp->sb_agcount); if (error) - goto out_fail_wait; + goto out_log_dealloc;; } /* @@ -927,7 +927,7 @@ xfs_mountfs( xfs_notice(mp, "resetting quota flags"); error = xfs_mount_reset_sbqflags(mp); if (error) - return error; + goto out_rtunmount; } } -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:05 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 282737FA1 for ; Fri, 27 Jun 2014 07:07:05 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 0F0D3304064 for ; Fri, 27 Jun 2014 05:07:05 -0700 (PDT) X-ASG-Debug-ID: 1403870823-04cb6c76d2334150001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id OFuXT7zZwRJU8r5f (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:04 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72Zj032519 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:03 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72cf029476 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 5414D1201CB; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 4/6] xfs: add xlog sysfs kobject and attribute handlers Date: Fri, 27 Jun 2014 08:06:59 -0400 X-ASG-Orig-Subj: [PATCH v2 4/6] xfs: add xlog sysfs kobject and attribute handlers Message-Id: <1403870821-20143-5-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870823 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Embed a kobject into the xfs log data structure (xlog). This creates a 'log' subdirectory for every XFS mount instance in sysfs. The lifecycle of the log kobject is tied to the lifecycle of the log. Also define a set of generic attribute handlers associated with the log kobject in preparation for the addition of attributes. Signed-off-by: Brian Foster --- fs/xfs/xfs_log.c | 9 +++++++++ fs/xfs/xfs_log_priv.h | 2 ++ fs/xfs/xfs_sysfs.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_sysfs.h | 1 + 4 files changed, 64 insertions(+) diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 7647818..149a4a5 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -34,6 +34,7 @@ #include "xfs_trace.h" #include "xfs_fsops.h" #include "xfs_cksum.h" +#include "xfs_sysfs.h" kmem_zone_t *xfs_log_ticket_zone; @@ -707,6 +708,11 @@ xfs_log_mount( } } + error = xfs_sysfs_init(&mp->m_log->l_kobj, &xfs_log_ktype, &mp->m_kobj, + "log"); + if (error) + goto out_destroy_ail; + /* Normal transactions can now occur */ mp->m_log->l_flags &= ~XLOG_ACTIVE_RECOVERY; @@ -947,6 +953,9 @@ xfs_log_unmount( xfs_log_quiesce(mp); xfs_trans_ail_destroy(mp); + + xfs_sysfs_del(&mp->m_log->l_kobj); + xlog_dealloc_log(mp->m_log); } diff --git a/fs/xfs/xfs_log_priv.h b/fs/xfs/xfs_log_priv.h index 9bc403a..db7cbde 100644 --- a/fs/xfs/xfs_log_priv.h +++ b/fs/xfs/xfs_log_priv.h @@ -405,6 +405,8 @@ struct xlog { struct xlog_grant_head l_reserve_head; struct xlog_grant_head l_write_head; + struct xfs_kobj l_kobj; + /* The following field are used for debugging; need to hold icloglock */ #ifdef DEBUG char *l_iclog_bak[XLOG_MAX_ICLOGS]; diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index ae9aa7a..88361d7 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -18,6 +18,9 @@ #include "xfs.h" #include "xfs_sysfs.h" +#include "xfs_log_format.h" +#include "xfs_log.h" +#include "xfs_log_priv.h" struct xfs_sysfs_attr { struct attribute attr; @@ -47,3 +50,52 @@ to_attr(struct attribute *attr) struct kobj_type xfs_mp_ktype = { .release = xfs_sysfs_release, }; + +/* xlog */ + +static struct attribute *xfs_log_attrs[] = { + NULL, +}; + +static inline struct xlog * +to_xlog(struct kobject *kobject) +{ + struct xfs_kobj *kobj = to_kobj(kobject); + return container_of(kobj, struct xlog, l_kobj); +} + +STATIC ssize_t +xfs_log_show( + struct kobject *kobject, + struct attribute *attr, + char *buf) +{ + struct xlog *log = to_xlog(kobject); + struct xfs_sysfs_attr *xfs_attr = to_attr(attr); + + return xfs_attr->show ? xfs_attr->show(buf, log) : 0; +} + +STATIC ssize_t +xfs_log_store( + struct kobject *kobject, + struct attribute *attr, + const char *buf, + size_t count) +{ + struct xlog *log = to_xlog(kobject); + struct xfs_sysfs_attr *xfs_attr = to_attr(attr); + + return xfs_attr->store ? xfs_attr->store(buf, count, log) : 0; +} + +static struct sysfs_ops xfs_log_ops = { + .show = xfs_log_show, + .store = xfs_log_store, +}; + +struct kobj_type xfs_log_ktype = { + .release = xfs_sysfs_release, + .sysfs_ops = &xfs_log_ops, + .default_attrs = xfs_log_attrs, +}; diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h index 438976b..3dcfe80 100644 --- a/fs/xfs/xfs_sysfs.h +++ b/fs/xfs/xfs_sysfs.h @@ -20,6 +20,7 @@ #define __XFS_SYSFS_H__ extern struct kobj_type xfs_mp_ktype; /* xfs_mount */ +extern struct kobj_type xfs_log_ktype; /* xlog */ static inline struct xfs_kobj * to_kobj(struct kobject *kobject) -- 1.8.3.1 From bfoster@redhat.com Fri Jun 27 07:07:07 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id CCFAB7FA4 for ; Fri, 27 Jun 2014 07:07:07 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id 61FA8AC002 for ; Fri, 27 Jun 2014 05:07:04 -0700 (PDT) X-ASG-Debug-ID: 1403870822-04cbb06535162950001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id WZMVktTsSynxt3wq (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 05:07:03 -0700 (PDT) X-Barracuda-Envelope-From: bfoster@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC72gf019747 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: from bfoster.bfoster ([10.18.41.237]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s5RC71mc028005 for ; Fri, 27 Jun 2014 08:07:02 -0400 Received: by bfoster.bfoster (Postfix, from userid 1000) id 2E36B12014A; Fri, 27 Jun 2014 08:07:01 -0400 (EDT) From: Brian Foster To: xfs@oss.sgi.com Subject: [PATCH v2 2/6] xfs: add a sysfs kset Date: Fri, 27 Jun 2014 08:06:57 -0400 X-ASG-Orig-Subj: [PATCH v2 2/6] xfs: add a sysfs kset Message-Id: <1403870821-20143-3-git-send-email-bfoster@redhat.com> In-Reply-To: <1403870821-20143-1-git-send-email-bfoster@redhat.com> References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1403870823 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 Create a sysfs kset to contain all sub-objects associated with the XFS module. The kset is created and removed on module initialization and removal respectively. The kset uses fs_obj as a parent. This leads to the creation of a /sys/fs/xfs directory when the kset exists. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner --- fs/xfs/xfs_super.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index f2e5f8a..986c557 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -61,6 +61,7 @@ static const struct super_operations xfs_super_operations; static kmem_zone_t *xfs_ioend_zone; mempool_t *xfs_ioend_pool; +struct kset *xfs_kset; #define MNTOPT_LOGBUFS "logbufs" /* number of XFS log buffers */ #define MNTOPT_LOGBSIZE "logbsize" /* size of XFS log buffers */ @@ -1761,9 +1762,15 @@ init_xfs_fs(void) if (error) goto out_cleanup_procfs; + xfs_kset = kset_create_and_add("xfs", NULL, fs_kobj); + if (!xfs_kset) { + error = -ENOMEM; + goto out_sysctl_unregister;; + } + error = xfs_qm_init(); if (error) - goto out_sysctl_unregister; + goto out_kset_unregister; error = register_filesystem(&xfs_fs_type); if (error) @@ -1772,6 +1779,8 @@ init_xfs_fs(void) out_qm_exit: xfs_qm_exit(); + out_kset_unregister: + kset_unregister(xfs_kset); out_sysctl_unregister: xfs_sysctl_unregister(); out_cleanup_procfs: @@ -1793,6 +1802,7 @@ exit_xfs_fs(void) { xfs_qm_exit(); unregister_filesystem(&xfs_fs_type); + kset_unregister(xfs_kset); xfs_sysctl_unregister(); xfs_cleanup_procfs(); xfs_buf_terminate(); -- 1.8.3.1 From tinguely@sgi.com Fri Jun 27 09:26:41 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 557987F9B for ; Fri, 27 Jun 2014 09:26:41 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay2.corp.sgi.com (Postfix) with ESMTP id 31DF7304039; Fri, 27 Jun 2014 07:26:37 -0700 (PDT) Message-ID: <53AD7F1B.500@sgi.com> Date: Fri, 27 Jun 2014 09:26:35 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> <53AC7CA9.9050505@sgi.com> <20140626224727.GS9508@dastard> In-Reply-To: <20140626224727.GS9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/26/14 17:47, Dave Chinner wrote: > On Thu, Jun 26, 2014 at 03:03:53PM -0500, Mark Tinguely wrote: >> Could an out of order CIL push cause this? > > I don't think so - the issue appears to be that a CRC is not being > recalculated on a buffer before IO has been issued to disk, not that > there is incorrect metadata in the buffer. Regardless of how we > modify the buffer, the CRC should always match the contents of the > block on disk because we calculate it with the buffer locked and > just prior to it being written. > >> SGI saw sequence 2 (and sometimes 3/4) of the cil push get in front >> of cil push sequence 1. Looks like the setting of >> log->l_cilp->xc_ctx->commit_lsn in xlog_cil_init_post_recovery() >> lets this happen. > > I don't think can actually happen - the CIL is not used until after > xlog_cil_init_post_recovery() is completed and transactions start > during EFI recovery. Any attempt to use it prior to that call will > oops on the null ctx_ticket. > > As for the ordering issue, I'm pretty sure that was fixed in > commit f876e44 ("xfs: always do log forces via the workqueue"). The problem will be with the first CIL push *after* the xlog_cil_init_post_recovery() especially if the first ctx has a large vector list and the following ones have small ones. Looks to me that the problem is still in the cil push worker. --Mark. From jack@suse.cz Fri Jun 27 16:35:31 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9A8237F3F for ; Fri, 27 Jun 2014 16:35:31 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 851068F8078 for ; Fri, 27 Jun 2014 14:35:28 -0700 (PDT) X-ASG-Debug-ID: 1403904925-04cbb065361788e0001-NocioJ Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by cuda.sgi.com with ESMTP id x1B1XwKNuY0YWxBf (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 14:35:26 -0700 (PDT) X-Barracuda-Envelope-From: jack@suse.cz X-Barracuda-Apparent-Source-IP: 195.135.220.15 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id A235DAC5D; Fri, 27 Jun 2014 21:35:25 +0000 (UTC) Received: by quack.suse.cz (Postfix, from userid 1000) id A5CE881ED3; Fri, 27 Jun 2014 23:35:24 +0200 (CEST) Date: Fri, 27 Jun 2014 23:35:24 +0200 From: Jan Kara To: Dave Chinner Cc: Jan Kara , xfs@oss.sgi.com Subject: Re: XFS CRC errors after a crash Message-ID: <20140627213524.GA11519@quack.suse.cz> X-ASG-Orig-Subj: Re: XFS CRC errors after a crash References: <20140625164939.GA27620@quack.suse.cz> <20140625215952.GM9508@dastard> <20140626202046.GA17707@quack.suse.cz> <20140626231843.GU9508@dastard> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="a8Wt8u1KmwUX3Y2C" Content-Disposition: inline In-Reply-To: <20140626231843.GU9508@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: cantor2.suse.de[195.135.220.15] X-Barracuda-Start-Time: 1403904926 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7007 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri 27-06-14 09:18:43, Dave Chinner wrote: > On Thu, Jun 26, 2014 at 10:20:46PM +0200, Jan Kara wrote: > > On Thu 26-06-14 07:59:52, Dave Chinner wrote: > > > On Wed, Jun 25, 2014 at 06:49:39PM +0200, Jan Kara wrote: > > > > Hello, > > > > > > > > so I've been crash-testing XFS (just killing KVM with XFS filesystem > > > > mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty > > > > easily hit CRC mismatches after that. Kernel complains like: > > > > > > Yes, we had that reported yesterday by another person, using virtual > > > box. I've been unable to reproduce it on my local KVM VMs, so I'm > > > wondering what your configuration KVM configuration is? > > I'm running the qemu as: > > qemu-kvm -m 2048 -smp 6 -drive file=/dev/sdb,if=virtio,cache=none -net > > nic,macaddr=00:16:3e:32:96:20,model=virtio -net > > tap,script=/root/tests/bin/qemu-setup-net -vnc :1 -serial file:serial.log > > -kernel /boot/vmlinuz-autotest -initrd /boot/initrd-autotest -append > > 'root=/dev/vda3 rootflags=relatime' > > Ok, so you are testing directly on a block device via virtio, using > direct IO. Hmmm _ I'm using virtio,cache=none on image files on XFS, > so I can't see that there's be much difference there. Nothing else > stands out - I'm assuming that you're not using the "nobarrier" > mount option? No, I'm not using nobarrier. > > > > [518184.794175] XFS (sdb3): Mounting V5 Filesystem > > > > [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) > > > > [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 > > > > [518187.118870] XFS (sdb3): Unmount and run xfs_repair > > > > [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: > > > > [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ > > > > [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... > > > > [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ > > > > [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ > > > > [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 > > > > > > > > So it seem like the checksum doesn't get updated properly in all the cases. > > > > Looking into the logdump, there doesn't seem to be any modifications for > > > > this AGF block in unrelayed part of the log but there are some modifications > > > > in the older parts of the log - the latest LSN where block 1 was updated is > > > > 1,4639 (and the buffer contents in the log corresponds to the data I see in > > > > block 1). However the lsn field in AGF structure in that block shows 1,3616 > > > > so that really seems stale (and I've checked and in that transaction the > > > > block has been modified as well). > > > > > > That tallies with what has been reported -it was the AGI block, > > > however. What I know so far is that the CRC matches for the version > > > of the structure logged at the apparent LSN, but the data is more > > > recent. > > Yes, this is the case with my corruption as well. > > > > > Now the only way I can see the data getting updated without the LSN > > > being updates is through log recovery, the analysis is here: > > Yes, that's what I originally though as well but for me: > > log tail: 8960 head: 10080 state: > > and the problematic AGF has last been modified in lsn 1,4639 (and it > > contains data logged there, while agf_lsn field is set to 1,3616). So it > > seems recovery shouldn't replay lsn 4639? > > No, what that tells me is that a previous log recovery replayed the > change at lsn 4639. Log recovery does not update the lsn in the > object because if log recovery fails we need to run it completely > from tail to head again, and we want it to rewrite all the changes > appropriately. If we update the lsn each time we recover a change, > then this won't happen. > > Hence a sign of an object that has been recovered is that there is > newer data than the LSN indicates. The issue here is that the CRC > does not appear to have been updated, and I can't work out how that > can occur - log recovery of a buffer will see the appropriate magic > number, add the correct verifier, and when the recovered data is > written it will recalc the CRC first. > > That's why I send the debug patch to catch buffer writes that didn't > have verifier ops attached. (attached below again for you). If that > fires at any time, then we have a smoking gun. But if it doesn't > fire and you still see CRC mismatches then we've got something > extremely subtle OK, so I've reproduced the issue again and after some investigation found at least one issue in log recovery code (your debug assertions have tripped): In the case reproduced now, I had a log with one transaction containing the AGF buffer however the AGF buffer on disk already had the data from that transaction written (and had agf_lsn set appropriately). Log replay then read-ahead the buffer (that leaves b_ops at NULL), then after investigation of the log item found it shouldn't be replayed and never ended up calling xlog_recover_validate_buf_type() to set proper b_ops. Later when we removed orphan inodes (I'm not sure about proper xfs terminology), AGF was modified and written without proper verifiers set. The attached patch fixes the problem for me (at least this particular case of corruption). Since I'm on vacation already and it's late I'll leave it for now. If the problem needs to be fixed differently, feel free to modify / discard the attached patch (since I will be scarcely on email for following two weeks). Honza -- Jan Kara SUSE Labs, CR --a8Wt8u1KmwUX3Y2C Content-Type: text/x-patch; charset=us-ascii Content-Disposition: attachment; filename="0001-xfs-Fix-CRC-errors-after-unclean-umount.patch" >From 7d1c4c0ee7f8b6734d41d857b7c8dd94e6b55b4e Mon Sep 17 00:00:00 2001 From: Jan Kara Date: Fri, 27 Jun 2014 23:27:11 +0200 Subject: [PATCH] xfs: Fix CRC errors after unclean umount After unclean shutdown and log recovery filesystem checker reports CRC errors in AGI or AGF blocks. The problem is that we don't properly set buffer verifiers when replay of some log item is skipped because the lsn of the transaction is less than or equal to lsn stored in the corresponding AGI / AGF. Thus next time the AGI / AGF buffer is modified (e.g. during unlinked inode removal) it is written to disk without updating the CRC and lsn. Fix the problem by setting proper buffer verifiers even if we skip replay of the log item. Signed-off-by: Jan Kara --- fs/xfs/xfs_log_recover.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 981af0f6504b..feb9330962f1 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2508,8 +2508,15 @@ xlog_recover_buffer_pass2( * the lsn of the transaction we are replaying. */ lsn = xlog_recover_get_buf_lsn(mp, bp); - if (lsn && lsn != -1 && XFS_LSN_CMP(lsn, current_lsn) >= 0) + if (lsn && lsn != -1 && XFS_LSN_CMP(lsn, current_lsn) >= 0) { + if (xfs_sb_version_hascrc(&mp->m_sb)) { + if (buf_f->blf_flags & XFS_BLF_INODE_BUF) + bp->b_ops = &xfs_inode_buf_ops; + else + xlog_recover_validate_buf_type(mp, bp, buf_f); + } goto out_release; + } if (buf_f->blf_flags & XFS_BLF_INODE_BUF) { error = xlog_recover_do_inode_buffer(mp, item, bp, buf_f); -- 1.8.1.4 --a8Wt8u1KmwUX3Y2C-- From arekm@maven.pl Fri Jun 27 18:42:04 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id C30377F4E for ; Fri, 27 Jun 2014 18:42:04 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay3.corp.sgi.com (Postfix) with ESMTP id 47C58AC006 for ; Fri, 27 Jun 2014 16:42:04 -0700 (PDT) X-ASG-Debug-ID: 1403912516-04cb6c76d234cb70001-NocioJ Received: from mail-we0-f179.google.com (mail-we0-f179.google.com [74.125.82.179]) by cuda.sgi.com with ESMTP id X7tVYzcrvKivv53A (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 27 Jun 2014 16:41:57 -0700 (PDT) X-Barracuda-Envelope-From: arekm@maven.pl X-Barracuda-Apparent-Source-IP: 74.125.82.179 Received: by mail-we0-f179.google.com with SMTP id w62so5924740wes.38 for ; Fri, 27 Jun 2014 16:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:mime-version:content-type :content-transfer-encoding:message-id; bh=e17ZVYoG3tw5LxnQou8ZxWiveEJGsE+5d0miEVcENYM=; b=OclAgTIk3I8hni9qHRh6B/i0573gyATLLp/p+mVql394jeL47LCG9lMgOEa5yesTks 3v6hPwUkBJyiU3l73wOV6nH/Y/R3zm3a7a81iMOrXaCtYtdz/OrEV7iils3LS+zVX+iV P1018MfA0OH5QM52vvYcnyXDK7+vGp/vMX7dA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:user-agent:mime-version :content-type:content-transfer-encoding:message-id; bh=e17ZVYoG3tw5LxnQou8ZxWiveEJGsE+5d0miEVcENYM=; b=Fc1CbXk4IUP5APQp7qSSmR90zWYPKidm7QUJfESCBaS/YRWMDApKs7wMIFt5OoK8aJ 5Ii7ME9MMtACfFOQsy847NpQYFDB6MuYRdz0Zu9ET5xO8MJD5l323NmsH9vvBETgv/Vt CFKKueRGAyJzFm6FGIrneb2oI6sFy7lYaSN2BJZYTckIlkqZG1WoyCwji1puEKroB/CM 9s+LPkXXY0+7VSg0LVDTLahRNLV7Yo+YV174MiYhlMEkFwx1EH+ViWwoLZTKL18sF07Y 7Rf3FwtloH3Qk2Nz+f9lP3rP1RGdrOlupEVl+8wqOKu61/jZzcUo7HC9F3ZMGdrCF6PE etrA== X-Gm-Message-State: ALoCoQmQ4l++PbR67RajoUVhVf3opvPudpG8BTOLDWVt+qKKVDxs7dAsjCTY176BvO96fsdCKTz/ X-Received: by 10.180.36.225 with SMTP id t1mr15075034wij.38.1403912516068; Fri, 27 Jun 2014 16:41:56 -0700 (PDT) Received: from t400.localnet (89-65-189-48.dynamic.chello.pl. [89.65.189.48]) by mx.google.com with ESMTPSA id i8sm1683718wiw.22.2014.06.27.16.41.55 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Jun 2014 16:41:55 -0700 (PDT) From: Arkadiusz =?utf-8?q?Mi=C5=9Bkiewicz?= To: xfs@oss.sgi.com Subject: xfs_repair 3.2.0 cannot (?) fix fs Date: Sat, 28 Jun 2014 01:41:54 +0200 X-ASG-Orig-Subj: xfs_repair 3.2.0 cannot (?) fix fs User-Agent: KMail/1.13.7 (Linux/3.16.0-rc2-00211-gd7933ab; KDE/4.13.2; x86_64; ; ) MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201406280141.54350.arekm@maven.pl> X-Barracuda-Connect: mail-we0-f179.google.com[74.125.82.179] X-Barracuda-Start-Time: 1403912516 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello. I have a fs (metadump of it http://ixion.pld-linux.org/~arekm/p2/x1/web2-home.metadump.gz) that xfs_repair 3.2.0 is unable to fix properly. Running xfs_repair few times shows the same errors repeating: http://ixion.pld-linux.org/~arekm/p2/x1/repair2.txt http://ixion.pld-linux.org/~arekm/p2/x1/repair3.txt http://ixion.pld-linux.org/~arekm/p2/x1/repair4.txt http://ixion.pld-linux.org/~arekm/p2/x1/repair5.txt (repair1.txt also exists - it was initial, very big/long repair) Note that fs mounts fine (and was mounting fine before and after repair) bu= t=20 xfs_repair indicates that not everything got fixed. Unfortunately there looks to be a problem with metadump image. xfs_repair i= s=20 able to finish fixing on a restored image but is not able (see repairX.txt)= =20 above on real devices. Huh? Examples of problems repeating each time xfs_repair is run: 1) reset bad sb for ag 5 non-null group quota inode field in superblock 7 2)=20 correcting nblocks for inode 965195858, was 19 - counted 20 correcting nextents for inode 965195858, was 16 - counted 17 3) clearing some entries; moving to lost+found (the same files) 4)=20 Phase 7 - verify and correct link counts... Invalid inode number 0xfeffffffffffffff xfs_dir_ino_validate: XFS_ERROR_REPORT Metadata corruption detected at block 0x11fbb698/0x1000 libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 Invalid inode number 0xfeffffffffffffff xfs_dir_ino_validate: XFS_ERROR_REPORT Metadata corruption detected at block 0x11fbb698/0x1000 libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 done 5)Metadata CRC error detected at block 0x0/0x200 but it is not CRC enabled fs =2D-=20 Arkadiusz Mi=C5=9Bkiewicz, arekm / maven.pl From webmaster@getit11.subsprice.com Fri Jun 27 19:02:02 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 695277F3F for ; Fri, 27 Jun 2014 19:02:02 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 5586830406A for ; Fri, 27 Jun 2014 17:01:58 -0700 (PDT) X-ASG-Debug-ID: 1403913712-04cb6c76d234d530001-NocioJ Received: from server2.subsprice.com (dc1.nreseller.com [115.124.106.61]) by cuda.sgi.com with ESMTP id PgUJpy8KucI9cCsD (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 27 Jun 2014 17:01:54 -0700 (PDT) X-Barracuda-Envelope-From: webmaster@getit11.subsprice.com X-Barracuda-Apparent-Source-IP: 115.124.106.61 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=getit11.subsprice.com; s=default; h=Content-Type:Content-Transfer-Encoding:MIME-Version:List-Unsubscribe:Message-ID:Reply-To:From:Date:Subject:To; bh=ai2leOKil0gbEO55Cj7m3xignqcnFoc2JX8FMapfFJ0=; b=tClzTqrl9gBjNkJKvsoD2FabqyV0OGGD/fcePHmDfowFBNCx7Vy/ihsn96BlCc658xlBUI3MZUAVaPFpGDbYyeRGXWTTKDpEOjx5Y0UyGBB7p8bu17iQRVoVx/nYabluSzUSivtmaJOAzxc0e/rkGhC/AE6hdVKRvBelnYYW+Fg=; Received: from nobody by server2.subsprice.com with local (Exim 4.82) (envelope-from ) id 1X0g5V-0005zf-4s for xfs@oss.sgi.com; Sat, 28 Jun 2014 00:01:49 +0000 To: xfs@oss.sgi.com Subject: Goodbye from our newsletter Received: from crawl-66-249-74-202.googlebot.com [66.249.74.202] by getit11.subsprice.com with HTTP; Sat, 28 Jun 2014 00:01:48 +0000 X-ASG-Orig-Subj: Goodbye from our newsletter Date: Sat, 28 Jun 2014 00:01:49 +0000 From: Webmaster Reply-To: Webmaster Message-ID: <486aecb698d136b3e06ff2e81d0e29a6@getit11.subsprice.com> X-Priority: 3 X-Mailer: PHPMailer 5.2.5 (https://github.com/Synchro/PHPMailer/) X-phpList-version: 3.0.6 X-MessageID: systemmessage X-ListMember: xfs@oss.sgi.com Precedence: bulk Bounces-To: webmaster@getit11.subsprice.com List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server2.subsprice.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [47 12] X-AntiAbuse: Sender Address Domain - getit11.subsprice.com X-Get-Message-Sender-Via: server2.subsprice.com: uid via acl_c_vhost_owner from authenticated_id: getit11s from //getit11.subsprice.com/mailz/?p=unsubscribe&uid=0efd1f72a9287be622b376046fd15370& /from_h X-Barracuda-Connect: dc1.nreseller.com[115.124.106.61] X-Barracuda-Start-Time: 1403913714 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7010 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Goodbye from our Newsletter, sorry to see you go. You have been unsubscribed from our newsletters. This is the last email you will receive from us. Our newsletter system, phpList, will refuse to send you any further messages, without manual intervention by our administrator. If there is an error in this information, you can re-subscribe: please go to http://getit11.subsprice.com/mailz/?p=subscribe and follow the steps. Thank you From david@fromorbit.com Fri Jun 27 19:29:56 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 326117F3F for ; Fri, 27 Jun 2014 19:29:56 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 01F258F807A for ; Fri, 27 Jun 2014 17:29:55 -0700 (PDT) X-ASG-Debug-ID: 1403915389-04bdf056676bd2d0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id qdp7Ps0zPhtNpIJc for ; Fri, 27 Jun 2014 17:29:50 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AopEAKALrlN5LHZ8PGdsb2JhbABagw2DSYUIoyMBAQEBAQEGmXABgQwXBAEBAQE4NYQDAQEEATocIwULCAMOCgklDwUlAwcaE4g6B8RYFxeFTYg/EQFQB4RDBZpcl1ArgTo Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail06.adl2.internode.on.net with ESMTP; 28 Jun 2014 09:59:49 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0gWZ-0004yN-AP; Sat, 28 Jun 2014 10:29:47 +1000 Date: Sat, 28 Jun 2014 10:29:47 +1000 From: Dave Chinner To: Jan Kara Cc: xfs@oss.sgi.com Subject: Re: XFS CRC errors after a crash Message-ID: <20140628002947.GZ9508@dastard> X-ASG-Orig-Subj: Re: XFS CRC errors after a crash References: <20140625164939.GA27620@quack.suse.cz> <20140625215952.GM9508@dastard> <20140626202046.GA17707@quack.suse.cz> <20140626231843.GU9508@dastard> <20140627213524.GA11519@quack.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140627213524.GA11519@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403915389 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7011 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 27, 2014 at 11:35:24PM +0200, Jan Kara wrote: > On Fri 27-06-14 09:18:43, Dave Chinner wrote: > > On Thu, Jun 26, 2014 at 10:20:46PM +0200, Jan Kara wrote: > > > On Thu 26-06-14 07:59:52, Dave Chinner wrote: > > > > On Wed, Jun 25, 2014 at 06:49:39PM +0200, Jan Kara wrote: > > > > > Hello, > > > > > > > > > > so I've been crash-testing XFS (just killing KVM with XFS filesystem > > > > > mounted) a bit with V5 superblock enabled in 3.16-rc1 and I can pretty > > > > > easily hit CRC mismatches after that. Kernel complains like: > > > > > > > > Yes, we had that reported yesterday by another person, using virtual > > > > box. I've been unable to reproduce it on my local KVM VMs, so I'm > > > > wondering what your configuration KVM configuration is? > > > I'm running the qemu as: > > > qemu-kvm -m 2048 -smp 6 -drive file=/dev/sdb,if=virtio,cache=none -net > > > nic,macaddr=00:16:3e:32:96:20,model=virtio -net > > > tap,script=/root/tests/bin/qemu-setup-net -vnc :1 -serial file:serial.log > > > -kernel /boot/vmlinuz-autotest -initrd /boot/initrd-autotest -append > > > 'root=/dev/vda3 rootflags=relatime' > > > > Ok, so you are testing directly on a block device via virtio, using > > direct IO. Hmmm _ I'm using virtio,cache=none on image files on XFS, > > so I can't see that there's be much difference there. Nothing else > > stands out - I'm assuming that you're not using the "nobarrier" > > mount option? > No, I'm not using nobarrier. > > > > > > [518184.794175] XFS (sdb3): Mounting V5 Filesystem > > > > > [518184.902898] XFS (sdb3): Starting recovery (logdev: internal) > > > > > [518187.118860] XFS (sdb3): Metadata CRC error detected at xfs_agf_read_verify+0x5a/0x100 [xfs], block 0x1 > > > > > [518187.118870] XFS (sdb3): Unmount and run xfs_repair > > > > > [518187.118875] XFS (sdb3): First 64 bytes of corrupted metadata buffer: > > > > > [518187.118882] ffff880136ffd600: 58 41 47 46 00 00 00 01 00 00 00 00 00 0f aa 40 XAGF...........@ > > > > > [518187.118887] ffff880136ffd610: 00 02 6d 53 00 02 77 f8 00 00 00 00 00 00 00 01 ..mS..w......... > > > > > [518187.118891] ffff880136ffd620: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 03 ................ > > > > > [518187.118895] ffff880136ffd630: 00 00 00 04 00 08 81 d0 00 08 81 a7 00 00 00 00 ................ > > > > > [518187.118923] XFS (sdb3): metadata I/O error: block 0x1 ("xfs_trans_read_buf_map") error 74 numblks 1 > > > > > > > > > > So it seem like the checksum doesn't get updated properly in all the cases. > > > > > Looking into the logdump, there doesn't seem to be any modifications for > > > > > this AGF block in unrelayed part of the log but there are some modifications > > > > > in the older parts of the log - the latest LSN where block 1 was updated is > > > > > 1,4639 (and the buffer contents in the log corresponds to the data I see in > > > > > block 1). However the lsn field in AGF structure in that block shows 1,3616 > > > > > so that really seems stale (and I've checked and in that transaction the > > > > > block has been modified as well). > > > > > > > > That tallies with what has been reported -it was the AGI block, > > > > however. What I know so far is that the CRC matches for the version > > > > of the structure logged at the apparent LSN, but the data is more > > > > recent. > > > Yes, this is the case with my corruption as well. > > > > > > > Now the only way I can see the data getting updated without the LSN > > > > being updates is through log recovery, the analysis is here: > > > Yes, that's what I originally though as well but for me: > > > log tail: 8960 head: 10080 state: > > > and the problematic AGF has last been modified in lsn 1,4639 (and it > > > contains data logged there, while agf_lsn field is set to 1,3616). So it > > > seems recovery shouldn't replay lsn 4639? > > > > No, what that tells me is that a previous log recovery replayed the > > change at lsn 4639. Log recovery does not update the lsn in the > > object because if log recovery fails we need to run it completely > > from tail to head again, and we want it to rewrite all the changes > > appropriately. If we update the lsn each time we recover a change, > > then this won't happen. > > > > Hence a sign of an object that has been recovered is that there is > > newer data than the LSN indicates. The issue here is that the CRC > > does not appear to have been updated, and I can't work out how that > > can occur - log recovery of a buffer will see the appropriate magic > > number, add the correct verifier, and when the recovered data is > > written it will recalc the CRC first. > > > > That's why I send the debug patch to catch buffer writes that didn't > > have verifier ops attached. (attached below again for you). If that > > fires at any time, then we have a smoking gun. But if it doesn't > > fire and you still see CRC mismatches then we've got something > > extremely subtle > OK, so I've reproduced the issue again and after some investigation found > at least one issue in log recovery code (your debug assertions have > tripped): Ok, I am going to make that debug patch a permanent "feature" seeing as it proved useful in tracking down this bug. > In the case reproduced now, I had a log with one transaction > containing the AGF buffer however the AGF buffer on disk already had the data > from that transaction written (and had agf_lsn set appropriately). Log > replay then read-ahead the buffer (that leaves b_ops at NULL), then after > investigation of the log item found it shouldn't be replayed and never > ended up calling xlog_recover_validate_buf_type() to set proper b_ops. > Later when we removed orphan inodes (I'm not sure about proper xfs > terminology), AGF was modified and written without proper verifiers set. Ok, that also explains why we've been seeing it in AGF, AGI and related ABT/IBT buffers and not in any other type of buffer. So you analysis definitely fits the symptoms reported. > The attached patch fixes the problem for me (at least this particular case > of corruption). Since I'm on vacation already and it's late I'll leave it for > now. If the problem needs to be fixed differently, feel free to modify / > discard the attached patch (since I will be scarcely on email for following > two weeks). I might end up fixing it differently, but you'll get the credit for finding debugging the problem. Many thanks, Jan, I owe you a beer or two for finding this. :) Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Fri Jun 27 19:49:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 3BF2A7F3F for ; Fri, 27 Jun 2014 19:49:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id 18653304067 for ; Fri, 27 Jun 2014 17:49:36 -0700 (PDT) X-ASG-Debug-ID: 1403916574-04cb6c76d034f120001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id aPyDiKZHEJgpyByU for ; Fri, 27 Jun 2014 17:49:35 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aih9AIwQrlN5LHZ8PGdsb2JhbABSCIMNg0mFCKMjAQEBAQEBBpEqAohEAYEMFwQBAQEBODWEAwEBBAEnExwjBQsIAxgJJQ8FJQMHGhOIOgfEVRcXhU2IS1YHgy2BFgWWRoQWl1Ar Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail06.adl2.internode.on.net with ESMTP; 28 Jun 2014 10:19:34 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0gpg-00050K-Mr; Sat, 28 Jun 2014 10:49:32 +1000 Date: Sat, 28 Jun 2014 10:49:32 +1000 From: Dave Chinner To: Mark Tinguely Cc: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount Message-ID: <20140628004932.GA9508@dastard> X-ASG-Orig-Subj: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> <53AC7CA9.9050505@sgi.com> <20140626224727.GS9508@dastard> <53AD7F1B.500@sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53AD7F1B.500@sgi.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403916574 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7012 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 27, 2014 at 09:26:35AM -0500, Mark Tinguely wrote: > On 06/26/14 17:47, Dave Chinner wrote: > >On Thu, Jun 26, 2014 at 03:03:53PM -0500, Mark Tinguely wrote: > > >>Could an out of order CIL push cause this? > > > >I don't think so - the issue appears to be that a CRC is not being > >recalculated on a buffer before IO has been issued to disk, not that > >there is incorrect metadata in the buffer. Regardless of how we > >modify the buffer, the CRC should always match the contents of the > >block on disk because we calculate it with the buffer locked and > >just prior to it being written. > > > >>SGI saw sequence 2 (and sometimes 3/4) of the cil push get in front > >>of cil push sequence 1. Looks like the setting of > >>log->l_cilp->xc_ctx->commit_lsn in xlog_cil_init_post_recovery() > >>lets this happen. > > > >I don't think can actually happen - the CIL is not used until after > >xlog_cil_init_post_recovery() is completed and transactions start > >during EFI recovery. Any attempt to use it prior to that call will > >oops on the null ctx_ticket. > > > >As for the ordering issue, I'm pretty sure that was fixed in > >commit f876e44 ("xfs: always do log forces via the workqueue"). > > The problem will be with the first CIL push *after* the > xlog_cil_init_post_recovery() especially if the first ctx has a > large vector list and the following ones have small ones. Sequence 2 cannot start until sequence 1 is on the committing list and the xc_ctx_lock has been dropped. If seqeunce 2 is then pushed, while sequence 1 is still writing to the log, then sequence 2 can be interleaved with sequence 1. However, the sequences on the commit list are then strictly ordered while the commit record is written. i.e. seqeunce 2 will sleep waiting for seqeunce 1 to write it's commit record, which then wakes sequence 2 so it can write it's commit record, whcih then wakes seqeunce 3... and so on. Log recovered once cares that the commit records for each checkpoint are written in the correct order. You can see the checkpoint transactions be written to the log out of order, but the order of commit records determines the order in which checkpoints are replayed during recovery. > Looks to me that the problem is still in the cil push worker. I can't see how the commit records (which are written in xfs_log_done()) would be incorrectly ordered given the way that the commit list code serialises and orders calls to xfs_log_done() based on sequence number. Keep in mind that I might just be being stupid and missing something so obvious I need a brown paper bag to hide in, so you'll need to spell it out for me. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Fri Jun 27 19:56:21 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id BF2E17F3F for ; Fri, 27 Jun 2014 19:56:21 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id A974A8F807A for ; Fri, 27 Jun 2014 17:56:21 -0700 (PDT) X-ASG-Debug-ID: 1403916979-04cbb0653617e5d0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id wk0qiQWK8q4QFtAL for ; Fri, 27 Jun 2014 17:56:19 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AolEAIQRrlN5LHZ8PGdsb2JhbABagw2DSYUIoyMBAQEBAQEGmXABgQwXBAEBAQE4NYQDAQEFOhwjEAgDDgoJJQ8FJQMHGhOIQcRTFxeFTYNnhToHgy2BFgWaXItAjBAr Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail06.adl2.internode.on.net with ESMTP; 28 Jun 2014 10:26:19 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X0gwD-00051H-Qi; Sat, 28 Jun 2014 10:56:17 +1000 Date: Sat, 28 Jun 2014 10:56:17 +1000 From: Dave Chinner To: Brian Foster Cc: xfs@oss.sgi.com Subject: Re: [PATCH v2 3/6] xfs: add xfs_mount sysfs kobject Message-ID: <20140628005617.GB9508@dastard> X-ASG-Orig-Subj: Re: [PATCH v2 3/6] xfs: add xfs_mount sysfs kobject References: <1403870821-20143-1-git-send-email-bfoster@redhat.com> <1403870821-20143-4-git-send-email-bfoster@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1403870821-20143-4-git-send-email-bfoster@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1403916979 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7012 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Jun 27, 2014 at 08:06:58AM -0400, Brian Foster wrote: > Embed a base kobject into xfs_mount. This creates a kobject associated > with each XFS mount and a subdirectory in sysfs with the name of the > filesystem. The subdirectory lifecycle matches that of the mount. Also > add the new xfs_sysfs.[c,h] source files with some XFS sysfs > infrastructure to facilitate attribute creation. > > Note that there are currently no attributes exported as part of the > xfs_mount kobject. It exists solely to serve as a per-mount container > for child objects. > > Signed-off-by: Brian Foster One minor thing I can clean up directly: > +static inline int > +xfs_sysfs_init( > + struct xfs_kobj *kobj, > + struct kobj_type *ktype, > + struct xfs_kobj *p_kobj, ^^^^^^ parent_kobj would be better - that looks too much like hungarian notation... :) Other than that, Reviewed-by: Dave Chinner -- Dave Chinner david@fromorbit.com From pcc@pcc-toner.com Sat Jun 28 03:25:11 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: ** X-Spam-Status: No, score=2.9 required=5.0 tests=FR_TITLE_NUMS,HTML_MESSAGE autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id B15977F3F for ; Sat, 28 Jun 2014 03:25:11 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 6444CAC003 for ; Sat, 28 Jun 2014 01:25:07 -0700 (PDT) X-ASG-Debug-ID: 1403943905-04bdf056686c9060001-NocioJ Received: from smtpbg299.qq.com (smtpbg299.qq.com [184.105.67.99]) by cuda.sgi.com with ESMTP id pFLsDsHqfMYIXmn1 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 28 Jun 2014 01:25:05 -0700 (PDT) X-Barracuda-Envelope-From: pcc@pcc-toner.com X-Barracuda-Apparent-Source-IP: 184.105.67.99 X-QQ-mid: bizesmtp9t1403943900t652t292 Received: from PC-20130610DSDO (unknown [59.56.14.173]) by esmtp4.qq.com (ESMTP) with SMTP id 0 for ; Sat, 28 Jun 2014 16:25:00 +0800 (CST) X-QQ-SSF: 0130000001200010FX12000A0000000 X-QQ-FEAT: NKq+EU1+cwHE/x9cnU5iV/WBgO/yzO+sFNi9wcsrjdYRCb4hC04LWWLZmNoDc 3kkVV/jlBPlvKhl9bTTrUz6hPoaQBxMrBkYteCFua9bUBjx+ZqFeVnTbM3Pq5pO5rx8qw7p wdBe9CzY1i0s4FVZxjqq5VApw5DEnm07DXawIA4NITo8TxRplA== X-QQ-GoodBg: 0 Subject: Re: china supplier/ spare parts and consumables for photocopiers, printers, FAX machines Content-Type: multipart/alternative; charset=UTF-8; boundary="FFVrBqE3wTDgr3T=_QBqo6RqqpfAGpn9f6" X-ASG-Orig-Subj: Re: china supplier/ spare parts and consumables for photocopiers, printers, FAX machines MIME-Version: 1.0 Date: Sat, 28 Jun 2014 16:24:53 +0800 From: "PCC" To: xfs@oss.sgi.com Reply-To: "PCC" X-QQ-SENDSIZE: 520 X-QQ-FName: 7462BDB7475A42A09AFA91A9ADE71466 X-QQ-LocalIP: 112.95.241.173 X-Barracuda-Connect: smtpbg299.qq.com[184.105.67.99] X-Barracuda-Start-Time: 1403943905 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.14 X-Barracuda-Spam-Status: No, SCORE=0.14 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MISSING_MID X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7023 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 HTML_MESSAGE BODY: HTML included in message Message-Id: <20140628082507.CAAADA42178@cuda.sgi.com> This is a multi-part message in MIME format --FFVrBqE3wTDgr3T=_QBqo6RqqpfAGpn9f6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: Quoted-Printable Content-Disposition: inline How are you recent? =20 Here is Printer Consumable Center (PCC) from Fuzhou, China, exporting = spare parts and consumables for photocopiers, printers, FAX machines main product as follows: Toner cartridge, opc drum, toner chip, Fuser = film Sleeve, Heating Element,=20 Upper Fuser Roller, Lower pressure roller, Pick-up roller, Gears etc =20 I am looking forwards to your reply =20 Kindly Regards --- Anderson Our brand : Samsung, HP, Xerox, Konica minolta, Dell, Epson, Oki, Shar= p, Brother, Canon, Pansionic,=20 Kyocera, Brother, Toshiba, Ricoh etc=20 Printer Consumable Center (PCC) Skype: toner_linda ICQ: 697-871-867 pcc-online(DOM)com(DOM)cn --FFVrBqE3wTDgr3T=_QBqo6RqqpfAGpn9f6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: Quoted-Printable Content-Disposition: inline 1

Friend, Hope your everything is ok.

 

It is PCC (Printer Consumable Center) from China= , exporting spare parts and consumables for=20 photocopiers, printers, FAX machines
main product as follows: Toner=20 cartridge, opc drum, toner chip,
Fuser=20 film Sleeve, Heating Element,
Upper=20 Fuser Roller, Lower pressure roller, Pick-up roller, = Gears=20 etc

 

Any question, please tell me and talk more.

 

Best Regards

---
=

Anderson

= Our brand : Samsung, HP, Xerox, Konica minolta= , Dell,=20 Epson, Oki, Sharp, Brother, Canon, Pansionic,=20

Kyocera, Brother, Toshiba, Ricoh etc<= /FONT>


Printer Consumable Center=20= (PCC)

Skype: toner_linda ICQ: 697-871-867

= pcc-online(DOM)com(DOM)cn

= --FFVrBqE3wTDgr3T=_QBqo6RqqpfAGpn9f6-- From arekm@maven.pl Sat Jun 28 16:53:06 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 21FCD7F3F for ; Sat, 28 Jun 2014 16:53:06 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id E89238F8033 for ; Sat, 28 Jun 2014 14:53:02 -0700 (PDT) X-ASG-Debug-ID: 1403992378-04bdf056686d9f20001-NocioJ Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by cuda.sgi.com with ESMTP id thCHdXucN8riAdz7 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 28 Jun 2014 14:52:59 -0700 (PDT) X-Barracuda-Envelope-From: arekm@maven.pl X-Barracuda-Apparent-Source-IP: 209.85.212.178 Received: by mail-wi0-f178.google.com with SMTP id n15so4284064wiw.17 for ; Sat, 28 Jun 2014 14:52:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=yHH2egFhd8sb+s7DcFbbuMJiKLerouI8shyuMpwJfWk=; b=PkBGnuMU3je7WSGqOZJZZmKTBbt5rh1CDnTIsnS1IR3pYZDb5KkKdBOSJCLU0yYew7 ntV/SaUzgOMyymCALJPwkT+qHGPOxFJN3qFVOa8RywnMiPaohQ+5Usizo+8dfUr0RoFn dX8AX3MVtoFmQExVNuviG92vLKDDs8w+BKWbQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:user-agent:cc:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; bh=yHH2egFhd8sb+s7DcFbbuMJiKLerouI8shyuMpwJfWk=; b=MFzI/0011CGppfbJZnWe1zcxUwSi3JszEvVkTQD6i1Pl8Dld9Edb6Y/uE5R7O45kLR F0DSoC+qADUWQQF+wIY4dRPBC9tzT6e1zmAr5CQO9O8ngcq9OP8wxV9di8LduToa8AvA zS2EDCB9Tb7q9gnAGQR2ijAQnaGqv1xVbYzUInU5XOoH0U471Q3OfQFz+F/2Z+PB3SEf RGE1PLxXT3yz6ITczsQhDXRzHnYxaWr+duRoYhIk7FKoRBA+QIMgyxef1Dd54zSNkwCZ 98RU84xiNB4BL/V+OKygNV0uxRK2Y53APkQF5+eXVfF6sUkNlNze0W7ovWDndFjxMiyj eHZw== X-Gm-Message-State: ALoCoQmtqu0QbJCQpUh1K3r8zs4/ntLzLJKPk+wgL+ETnY1JYxQL02cOov5mKNWHAR35QwgKMn7T X-Received: by 10.180.91.225 with SMTP id ch1mr20309720wib.34.1403992377678; Sat, 28 Jun 2014 14:52:57 -0700 (PDT) Received: from t400.localnet (89-65-189-48.dynamic.chello.pl. [89.65.189.48]) by mx.google.com with ESMTPSA id cd1sm30373652wjc.19.2014.06.28.14.52.56 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 Jun 2014 14:52:57 -0700 (PDT) From: Arkadiusz =?utf-8?q?Mi=C5=9Bkiewicz?= To: xfs@oss.sgi.com Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Date: Sat, 28 Jun 2014 23:52:56 +0200 X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs User-Agent: KMail/1.13.7 (Linux/3.16.0-rc2-00211-gd7933ab; KDE/4.13.2; x86_64; ; ) Cc: Alex Elder References: <201406280141.54350.arekm@maven.pl> In-Reply-To: <201406280141.54350.arekm@maven.pl> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201406282352.56431.arekm@maven.pl> X-Barracuda-Connect: mail-wi0-f178.google.com[209.85.212.178] X-Barracuda-Start-Time: 1403992378 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7042 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Saturday 28 of June 2014, Arkadiusz Mi=C5=9Bkiewicz wrote: > Hello. >=20 > I have a fs (metadump of it > http://ixion.pld-linux.org/~arekm/p2/x1/web2-home.metadump.gz) > that xfs_repair 3.2.0 is unable to fix properly. >=20 > Running xfs_repair few times shows the same errors repeating: > http://ixion.pld-linux.org/~arekm/p2/x1/repair2.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair3.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair4.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair5.txt >=20 > (repair1.txt also exists - it was initial, very big/long repair) >=20 > Note that fs mounts fine (and was mounting fine before and after repair) > but xfs_repair indicates that not everything got fixed. >=20 >=20 > Unfortunately there looks to be a problem with metadump image. xfs_repair > is able to finish fixing on a restored image but is not able (see > repairX.txt) above on real devices. Huh? Made xfs metadump without file obfuscation and I'm able to reproduce the=20 problem reliably on the image (if some xfs developer wants metadump image t= hen=20 please mail me - I don't want to put it for everyone due to obvious reasons= ). So additional bug in xfs_metadump where file obfuscation "fixes" some issue= s.=20 Does it obfuscate but keep invalid conditions (like keeping "/" in file nam= e)=20 ? I guess it is not doing that. CC: Alex as he did obfuscation algorithm rewrite at some point. Anyway repair logs for that metadump http://ixion.pld-linux.org/~arekm/p2/x2/repair-no-obfuscation1.txt http://ixion.pld-linux.org/~arekm/p2/x2/repair-no-obfuscation2.txt =2D-=20 Arkadiusz Mi=C5=9Bkiewicz, arekm / maven.pl From arekm@maven.pl Sat Jun 28 17:01:46 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id 817A67F3F for ; Sat, 28 Jun 2014 17:01:46 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay3.corp.sgi.com (Postfix) with ESMTP id F2D1AAC005 for ; Sat, 28 Jun 2014 15:01:45 -0700 (PDT) X-ASG-Debug-ID: 1403992900-04cbb0653619bfe0001-NocioJ Received: from mail-we0-f170.google.com (mail-we0-f170.google.com [74.125.82.170]) by cuda.sgi.com with ESMTP id inD6njpAhqMa1Eo3 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 28 Jun 2014 15:01:40 -0700 (PDT) X-Barracuda-Envelope-From: arekm@maven.pl X-Barracuda-Apparent-Source-IP: 74.125.82.170 Received: by mail-we0-f170.google.com with SMTP id w61so6468753wes.1 for ; Sat, 28 Jun 2014 15:01:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version :content-type:content-transfer-encoding:message-id; bh=Asbzw8TiWG3ZfTLHpi/zckJgbRD6vjcoWYPleUbF9E4=; b=dIelx/Qvctkz7ZcnrVOmF7ENJRsguc9vP+6u+EwsyhT7/Nj2OiMEieb07arcAWgixe o7Wmu2tbAppO5idCqFLSufLjfC8mDZFJqlwZJDTdZd/0o6l5zJgAwkGuDtLJUwNYIZAm BC7wfWNbwi8wgvzDmcjcLK2T7MMZTOnitUyzM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:user-agent:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; bh=Asbzw8TiWG3ZfTLHpi/zckJgbRD6vjcoWYPleUbF9E4=; b=k5EwzTx+EsYNX8JqItp4ytIi47QgMvHZiKG81mC4S5/bsuX+D05PPjDvcq58g9wORf 58l+MdgxHkdIwBffD602z7td0L/ekTMrwQsebPiPeZR0Xlm67+X3ZHDPwkJETmq19tct NZfyocRo3F/BuRsp8PRfpSxD0LVLRyYCPEmUpfFcif2Mv70bMr/ToSBtU89m/7FUUrut 225GYYaB6sjcopfGWwa5Ol0uEHQ7GQ5t5q/W4v4apt+sOlRn3fq24Ftxncie0r1Vrt2C vhiJT/+xBPLC5nmbkefuxILDKrJlsq2H3r29cXPkyC+U0dBRQkthj0jR1pUMi4YxINnL xUUw== X-Gm-Message-State: ALoCoQkOtl/d71Qrj2XQXIBkDOAd1IEs/2KFI0PAxKuGBcQ0AOn61YIMT8HPVaxA8drCX1fd3b+T X-Received: by 10.180.20.112 with SMTP id m16mr20394234wie.6.1403992899829; Sat, 28 Jun 2014 15:01:39 -0700 (PDT) Received: from t400.localnet (89-65-189-48.dynamic.chello.pl. [89.65.189.48]) by mx.google.com with ESMTPSA id jv9sm30405347wjc.28.2014.06.28.15.01.38 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 28 Jun 2014 15:01:39 -0700 (PDT) From: Arkadiusz =?utf-8?q?Mi=C5=9Bkiewicz?= To: xfs@oss.sgi.com Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Date: Sun, 29 Jun 2014 00:01:38 +0200 X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs User-Agent: KMail/1.13.7 (Linux/3.16.0-rc2-00211-gd7933ab; KDE/4.13.2; x86_64; ; ) References: <201406280141.54350.arekm@maven.pl> <201406282352.56431.arekm@maven.pl> In-Reply-To: <201406282352.56431.arekm@maven.pl> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201406290001.38493.arekm@maven.pl> X-Barracuda-Connect: mail-we0-f170.google.com[74.125.82.170] X-Barracuda-Start-Time: 1403992900 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7042 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Saturday 28 of June 2014, Arkadiusz Mi=C5=9Bkiewicz wrote: > On Saturday 28 of June 2014, Arkadiusz Mi=C5=9Bkiewicz wrote: > > Hello. > >=20 > > I have a fs (metadump of it > > http://ixion.pld-linux.org/~arekm/p2/x1/web2-home.metadump.gz) > > that xfs_repair 3.2.0 is unable to fix properly. > >=20 > > Running xfs_repair few times shows the same errors repeating: > > http://ixion.pld-linux.org/~arekm/p2/x1/repair2.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair3.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair4.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair5.txt > >=20 > > (repair1.txt also exists - it was initial, very big/long repair) > >=20 > > Note that fs mounts fine (and was mounting fine before and after repair) > > but xfs_repair indicates that not everything got fixed. > >=20 > >=20 > > Unfortunately there looks to be a problem with metadump image. xfs_repa= ir > > is able to finish fixing on a restored image but is not able (see > > repairX.txt) above on real devices. Huh? >=20 > Made xfs metadump without file obfuscation and I'm able to reproduce the > problem reliably on the image (if some xfs developer wants metadump image > then please mail me - I don't want to put it for everyone due to obvious > reasons). =46orgot to mention about new problem. After running xfs_repair (reproducib= le on=20 real fs and on metadump) and trying to mount fs: [3571367.717167] XFS (loop0): Mounting Filesystem [3571367.883958] XFS (loop0): Ending clean mount [3571367.900733] XFS (loop0): Failed to initialize disk quotas. =46iles are accessible etc. Just no quota. Unfortunately no information why= =20 initialization failed. So xfs_repair wasn't able to fix that, too. =2D-=20 Arkadiusz Mi=C5=9Bkiewicz, arekm / maven.pl From tinguely@sgi.com Sun Jun 29 11:19:27 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 4427B7F3F for ; Sun, 29 Jun 2014 11:19:27 -0500 (CDT) Received: from eagdhcp-232-174.americas.sgi.com (eagdhcp-232-174.americas.sgi.com [128.162.232.174]) by relay2.corp.sgi.com (Postfix) with ESMTP id 1EF42304039; Sun, 29 Jun 2014 09:19:23 -0700 (PDT) Message-ID: <53B03C89.10402@sgi.com> Date: Sun, 29 Jun 2014 11:19:21 -0500 From: Mark Tinguely User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0 MIME-Version: 1.0 To: Dave Chinner CC: xfs@oss.sgi.com Subject: Re: Metadata CRC error upon unclean unmount References: <20140624201946.GJ9508@dastard> <20140625012144.GK9508@dastard> <20140626002859.GQ9508@dastard> <53AC7CA9.9050505@sgi.com> <20140626224727.GS9508@dastard> <53AD7F1B.500@sgi.com> <20140628004932.GA9508@dastard> In-Reply-To: <20140628004932.GA9508@dastard> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/27/14 19:49, Dave Chinner wrote: > On Fri, Jun 27, 2014 at 09:26:35AM -0500, Mark Tinguely wrote: >> On 06/26/14 17:47, Dave Chinner wrote: >>> On Thu, Jun 26, 2014 at 03:03:53PM -0500, Mark Tinguely wrote: >> >>>> Could an out of order CIL push cause this? >>> >>> I don't think so - the issue appears to be that a CRC is not being >>> recalculated on a buffer before IO has been issued to disk, not that >>> there is incorrect metadata in the buffer. Regardless of how we >>> modify the buffer, the CRC should always match the contents of the >>> block on disk because we calculate it with the buffer locked and >>> just prior to it being written. >>> >>>> SGI saw sequence 2 (and sometimes 3/4) of the cil push get in front >>>> of cil push sequence 1. Looks like the setting of >>>> log->l_cilp->xc_ctx->commit_lsn in xlog_cil_init_post_recovery() >>>> lets this happen. >>> >>> I don't think can actually happen - the CIL is not used until after >>> xlog_cil_init_post_recovery() is completed and transactions start >>> during EFI recovery. Any attempt to use it prior to that call will >>> oops on the null ctx_ticket. >>> >>> As for the ordering issue, I'm pretty sure that was fixed in >>> commit f876e44 ("xfs: always do log forces via the workqueue"). >> >> The problem will be with the first CIL push *after* the >> xlog_cil_init_post_recovery() especially if the first ctx has a >> large vector list and the following ones have small ones. > > Sequence 2 cannot start until sequence 1 is on the committing list > and the xc_ctx_lock has been dropped. If seqeunce 2 is then pushed, > while sequence 1 is still writing to the log, then sequence 2 can be > interleaved with sequence 1. > > However, the sequences on the commit list are then strictly ordered > while the commit record is written. i.e. seqeunce 2 will sleep > waiting for seqeunce 1 to write it's commit record, which then wakes > sequence 2 so it can write it's commit record, whcih then wakes > seqeunce 3... and so on. > > Log recovered once cares that the commit records for each checkpoint > are written in the correct order. You can see the checkpoint > transactions be written to the log out of order, but the order of > commit records determines the order in which checkpoints are > replayed during recovery. > >> Looks to me that the problem is still in the cil push worker. > > I can't see how the commit records (which are written in > xfs_log_done()) would be incorrectly ordered given the way that > the commit list code serialises and orders calls to xfs_log_done() > based on sequence number. > > Keep in mind that I might just be being stupid and missing > something so obvious I need a brown paper bag to hide in, so you'll > need to spell it out for me. > > Cheers, > > Dave. It took me a long time to find the needle in the hay stack: 427 STATIC int 428 xlog_cil ... 568 /* 569 * now that we've written the checkpoint into the log, strictly 570 * order the commit records so replay will get them in the right order. 571 */ 572 restart: 573 spin_lock(&cil->xc_push_lock); 574 list_for_each_entry(new_ctx, &cil->xc_committing, committing) { 575 /* 576 * Avoid getting stuck in this loop because we were woken by the 577 * shutdown, but then went back to sleep once already in the 578 * shutdown state. 579 */ 580 if (XLOG_FORCED_SHUTDOWN(log)) { 581 spin_unlock(&cil->xc_push_lock); 582 goto out_abort_free_ticket; 583 } 584 585 /* 586 * Higher sequences will wait for this one so skip them. 587 * Don't wait for our own sequence, either. 588 */ 589 if (new_ctx->sequence >= ctx->sequence) 590 continue; 591 if (!new_ctx->commit_lsn) { ^^^^^^^^^^^^^^^^^^^^^ here ... 592 /* 593 * It is still being pushed! Wait for the push to 594 * complete, then start again from the beginning. 595 */ 596 xlog_wait(&cil->xc_commit_wait, &cil->xc_push_lock); 597 goto restart; 598 } 599 } 600 spin_unlock(&cil->xc_push_lock);_push( 429 struct xlog *log) 430 { ...and ... 65 /* 66 * After the first stage of log recovery is done, we know where the head and 67 * tail of the log are. We need this log initialisation done before we can 68 * initialise the first CIL checkpoint context. 69 * 70 * Here we allocate a log ticket to track space usage during a CIL push. This 71 * ticket is passed to xlog_write() directly so that we don't slowly leak log 72 * space by failing to account for space used by log headers and additional 73 * region headers for split regions. 74 */ 75 void 76 xlog_cil_init_post_recovery( 77 struct xlog *log) 78 { 79 log->l_cilp->xc_ctx->ticket = xlog_cil_ticket_alloc(log); 80 log->l_cilp->xc_ctx->sequence = 1; 81 log->l_cilp->xc_ctx->commit_lsn = xlog_assign_lsn(log->l_curr_cycle, 82 log->l_curr_block); ^^^^^^^^^^ this setting is the problem. 83 } We need: 1) More than one cil push after recovery. It appears that the cil push worker still does the pushes in separate threads and they write their log vector list in parallel. 2) first push after the recovery is much larger than the following push(es). a) the following push's log writes beat the first. b) when they enter the above loop to check to see who is the lowest cil push sequence, since the commit_lsn was set in xlog_cil_init_post_recovery, so the later push sequences think that push 1 is complete writing the log item list and commit ticket, so they proceed and write their commit tickets. --Mark. From david@fromorbit.com Sun Jun 29 22:18:24 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=FAKE_REPLY_C autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 8322F7F4E for ; Sun, 29 Jun 2014 22:18:24 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 66C338F8033 for ; Sun, 29 Jun 2014 20:18:21 -0700 (PDT) X-ASG-Debug-ID: 1404098293-04cb6c76d2387f30001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id T2omyk3EeA2wwFS7 for ; Sun, 29 Jun 2014 20:18:14 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av2AAMbVsFN5LHZ8PGdsb2JhbABaFoJ3UlOCJFGoJAEBAQEBAQYIZgGGb2CRdwGBCRcEAQEBATg1hAMBAQQBIw8BIyMFEwMYAgIFIQIRBSUDBxoTiDoHCQWpbJwzF4EUhDmIUgEBAgtCB4J3NoEWBZpdgUeJeYIviWMrLwGBAgEHFw Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Jun 2014 12:48:11 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X1S6c-0002LP-3j; Mon, 30 Jun 2014 13:18:10 +1000 Date: Mon, 30 Jun 2014 13:18:10 +1000 From: Dave Chinner To: Arkadiusz =?utf-8?Q?Mi=C5=9Bkiewicz?= Cc: xfs@oss.sgi.com, Alex Elder Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Message-ID: <20140630031810.GC4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201406290001.38493.arekm@maven.pl> <201406282352.56431.arekm@maven.pl> <201406280141.54350.arekm@maven.pl> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1404098293 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7088 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- [Compendium reply to all 3 emails] On Sat, Jun 28, 2014 at 01:41:54AM +0200, Arkadiusz Miśkiewicz wrote: > > Hello. > > I have a fs (metadump of it > http://ixion.pld-linux.org/~arekm/p2/x1/web2-home.metadump.gz) > that xfs_repair 3.2.0 is unable to fix properly. > > Running xfs_repair few times shows the same errors repeating: > http://ixion.pld-linux.org/~arekm/p2/x1/repair2.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair3.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair4.txt > http://ixion.pld-linux.org/~arekm/p2/x1/repair5.txt > > (repair1.txt also exists - it was initial, very big/long repair) > > Note that fs mounts fine (and was mounting fine before and after repair) but > xfs_repair indicates that not everything got fixed. > > > Unfortunately there looks to be a problem with metadump image. xfs_repair is > able to finish fixing on a restored image but is not able (see repairX.txt) > above on real devices. Huh? > > Examples of problems repeating each time xfs_repair is run: > > 1) > reset bad sb for ag 5 >. non-null group quota inode field in superblock 7 OK, so this is indicative of something screwed up a long time ago. Firstly, the primary superblocks shows: uquotino = 4077961 gquotino = 0 qflags = 0 i.e. user quota @ inode 4077961, no group quota. The secondary superblocks that are being warned about show: uquotino = 0 gquotino = 4077962 qflags = 0 Which is clearly wrong. They should have been overwritten during the growfs operation to match the primary superblock. The similarity in inode number leads me to beleive at some point both user and group/project quotas were enabled on this filesystem, but right now only user quotas are enabled. It's only AGs 1-15 that show this, so this seems to me that it is likely that this filesystem was originally only 16 AGs and it's been grown many times since? Oh, this all occurred because you had a growfs operation on 3.10 fail because of garbage in the the sb of AG 16 (i.e. this from IRC: http://sprunge.us/UJFE)? IOWs, this commit: 9802182 xfs: verify superblocks as they are read from disk tripped up on sb 16. That means sb 16 is was not modified by the growfs operation, and so should have the pre-growfs information in it: uquotino = 4077961 gquotino = 4077962 qflags = 0x77 Yeah, that's what I thought - the previous grow operation had both quotas enabled. OK, that explains why the growfs operation had issues, but it doesn't explain exactly how the quota inodes got screwed up like that. Anyway, the growfs issues were solved by: 10e6e65 xfs: be more forgiving of a v4 secondary sb w/ junk in v5 fields which landed in 3.13. > 2) > correcting nblocks for inode 965195858, was 19 - counted 20 > correcting nextents for inode 965195858, was 16 - counted 17 Which is preceeded by: data fork in ino 965195858 claims free block 60323539 data fork in ino 965195858 claims free block 60323532 and when combined with the later: entry "dsc0945153ac18d4d4f1a-150x150.jpg" (ino 967349800) in dir 965195858 is a duplicate name, marking entry to be junked errors from that directory, it looks like the space was freed but the directory btree not correctly updated. No idea what might have caused that, but it is a classic symptom of volatile write caches... Hmmm, and when It goes to junk them on my local testing: rebuilding directory inode 965195858 name create failed in ino 965195858 (117), filesystem may be out of space Which is an EFSCORRUPTED error trying to rebuild that directory. The second error pass did not throw an error, but it did not fix the errors as a 3rd pass still reported this. I'll look into why. > 3) clearing some entries; moving to lost+found (the same files) > > 4) > Phase 7 - verify and correct link counts... > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > done Not sure what that is yet, but it looks like writing a directory block found entries with invalid inode numbers in it. i.e. it's telling me that there's something not been fixed up. I'm actually seeing this in phase4: - agno = 148 Invalid inode number 0xfeffffffffffffff xfs_dir_ino_validate: XFS_ERROR_REPORT Metadata corruption detected at block 0x11fbb698/0x1000 libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 Second time around, this does not happen, so the error has been corrected in a later phase of the first pass. > 5)Metadata CRC error detected at block 0x0/0x200 > but it is not CRC enabled fs That's typically caused by junk in the superblock beyond the end of the v4 superblock structure. It should be followed by "zeroing junk ..." > Made xfs metadump without file obfuscation and I'm able to reproduce the > problem reliably on the image (if some xfs developer wants metadump image then > please mail me - I don't want to put it for everyone due to obvious reasons). > > So additional bug in xfs_metadump where file obfuscation "fixes" some issues. > Does it obfuscate but keep invalid conditions (like keeping "/" in file name) > ? I guess it is not doing that. I doubt it handles a "/" in a file name properly - that's rather illegal, and the obfuscation code probably doesn't handle it at all. FWIW, xfs_repair will trash those files anyway: entry at block 22 offset 560 in directory inode 419558142 has illegal name "/_198.jpg": clearing entry So regardless of whether metadump handles them or is not going to change the fact that filenames with "/" them are broken.... But the real question here is how did you get "/" characters in filenames? > [3571367.717167] XFS (loop0): Mounting Filesystem > [3571367.883958] XFS (loop0): Ending clean mount > [3571367.900733] XFS (loop0): Failed to initialize disk quotas. > > Files are accessible etc. Just no quota. Unfortunately no information why > initialization failed. I can't tell why that's happening yet. I'm not sure what the correct state is supposed to be yet (mount options will tell me) so I'm not sure what went wrong. As it is, you probaby should be upgrading to a more recent kernel.... > So xfs_repair wasn't able to fix that, too. xfs_repair isn't detecting there is a problem because the uquotino is not corrupt and the qflags is zero. Hence it doesn't do anything. More as I find it. Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Sun Jun 29 22:44:20 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 6A51C7F51 for ; Sun, 29 Jun 2014 22:44:20 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 5E8EA8F8035 for ; Sun, 29 Jun 2014 20:44:20 -0700 (PDT) X-ASG-Debug-ID: 1404099857-04cb6c76d23887b0001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id Wk0jV5IeZYMsOcgd for ; Sun, 29 Jun 2014 20:44:17 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai5bAKrbsFN5LHZ8PGdsb2JhbABagw2DSVGoJgEBAQEBAQaaNQGBCBcEAQEBATg1hAMBAQQBIwQLASMjBQsIAxgCAgUhAgIPBSUDBxoTiDoHqXmcHBcXgRSEOYkjB4J3NoEWBZpdi0CMEis Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail05.adl6.internode.on.net with ESMTP; 30 Jun 2014 13:14:16 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X1SVr-0002OO-4c; Mon, 30 Jun 2014 13:44:15 +1000 Date: Mon, 30 Jun 2014 13:44:15 +1000 From: Dave Chinner To: Arkadiusz =?utf-8?Q?Mi=C5=9Bkiewicz?= Cc: Alex Elder , xfs@oss.sgi.com Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Message-ID: <20140630034415.GD4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs References: <201406290001.38493.arekm@maven.pl> <201406282352.56431.arekm@maven.pl> <201406280141.54350.arekm@maven.pl> <20140630031810.GC4453@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20140630031810.GC4453@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1404099857 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7088 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 30, 2014 at 01:18:10PM +1000, Dave Chinner wrote: > On Sat, Jun 28, 2014 at 01:41:54AM +0200, Arkadiusz Miśkiewicz wrote: > > 4) > > Phase 7 - verify and correct link counts... > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > done > > Not sure what that is yet, but it looks like writing a directory > block found entries with invalid inode numbers in it. i.e. it's > telling me that there's something not been fixed up. > > I'm actually seeing this in phase4: > > - agno = 148 > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 OK: repair/dir2.c:#define BADFSINO ((xfs_ino_t)0xfeffffffffffffffULL) And: /* * Now we can mark entries with BADFSINO's bad. */ if (!no_modify && ent_ino == BADFSINO) { dep->name[0] = '/'; *dirty = 1; junkit = 0; } So these errors: > entry at block 22 offset 560 in directory inode 419558142 has illegal name "/_198.jpg": clearing entry Appear to be a result of repair failing at some point before phase 6 which cleans up bad inodes and entries in the directory structure. > So regardless of whether metadump handles them or is not going to > change the fact that filenames with "/" them are broken.... > > But the real question here is how did you get "/" characters in > filenames? Yup, there are several places where repair overwrites the dirent name with a leading "/" to indicate a junked entry, and this is supposed to be detected and handled in phase 6. Seems like the directory is not being rebuilt in phase 6? Cheers, Dave. -- Dave Chinner david@fromorbit.com From arekm@maven.pl Mon Jun 30 00:36:37 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 76CBF7F54 for ; Mon, 30 Jun 2014 00:36:37 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 75F9C8F8035 for ; Sun, 29 Jun 2014 22:36:34 -0700 (PDT) X-ASG-Debug-ID: 1404106586-04cb6c76d238b290001-NocioJ Received: from mail-we0-f173.google.com (mail-we0-f173.google.com [74.125.82.173]) by cuda.sgi.com with ESMTP id ssx42W0pP8Rg7jlj (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sun, 29 Jun 2014 22:36:27 -0700 (PDT) X-Barracuda-Envelope-From: arekm@maven.pl X-Barracuda-Apparent-Source-IP: 74.125.82.173 Received: by mail-we0-f173.google.com with SMTP id t60so7556440wes.32 for ; Sun, 29 Jun 2014 22:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=uxpe6sTOzMBowo96224WaXKMgxJK13EB1dzXBmyfO/4=; b=Wj8SGOb1W3sG/dvXEDXC1wQU+TsWcTwAcOIZqvYn8Gzpi1s38jPC+ViDycZ4YmWNtc 3etKzLlbGeitqPd/Tn8LClT68bKsL+WdLyNkwM++dpmMKJfigTy3iE78odtYNtXRCN8g N1aGozcIP7VT9gwxyDJCVOHRWkOHWSmAVRBOQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:user-agent:cc:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; bh=uxpe6sTOzMBowo96224WaXKMgxJK13EB1dzXBmyfO/4=; b=SVoJtfWjXJJIdbxeylACrCJkHHP9fPGi9Td8q+hYx2oxZGzOQ/YhFsjQN5iXG/uYml XAQJ7s4Doou/8J9R+8VW1IUlbr98CGMrhck/nIgj50A61yeepXeBwGpqiZFpXEylgEX7 a+myD70l+yvOIUZ/fZBeBH3FJjY+wUlCqMYBRtlP66QohWonWbFehOMxZRPTg9J22EnE C7q7faYBSuKNPIwz++TN6FLDXO/8ghtp8hYvk/zXD5gTOIWV72qkDqv35MFsym44CUXn CaxCd7OJFq3JQtpZR22kPjcdgS2/JcdelsED2+KRsyhOnKk49PH9iftAPH4DLBZO+ocU Mutw== X-Gm-Message-State: ALoCoQlCqRCYOlk51pWEJYiho4jPF8E+iv+O5ssnoWkRIEgZr+ofG3HIHaWJwlNfCfSGH4zfZfxc X-Received: by 10.180.105.68 with SMTP id gk4mr26392502wib.24.1404106585920; Sun, 29 Jun 2014 22:36:25 -0700 (PDT) Received: from t400.localnet (89-65-189-48.dynamic.chello.pl. [89.65.189.48]) by mx.google.com with ESMTPSA id nb8sm27326663wic.18.2014.06.29.22.36.24 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 29 Jun 2014 22:36:25 -0700 (PDT) From: Arkadiusz =?utf-8?q?Mi=C5=9Bkiewicz?= To: Dave Chinner Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Date: Mon, 30 Jun 2014 07:36:24 +0200 X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs User-Agent: KMail/1.13.7 (Linux/3.16.0-rc2-00341-g24b414d; KDE/4.13.2; x86_64; ; ) Cc: xfs@oss.sgi.com, Alex Elder References: <20140630031810.GC4453@dastard> In-Reply-To: <20140630031810.GC4453@dastard> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201406300736.24291.arekm@maven.pl> X-Barracuda-Connect: mail-we0-f173.google.com[74.125.82.173] X-Barracuda-Start-Time: 1404106586 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7092 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Monday 30 of June 2014, Dave Chinner wrote: > [Compendium reply to all 3 emails] >=20 > On Sat, Jun 28, 2014 at 01:41:54AM +0200, Arkadiusz Mi=C5=9Bkiewicz wrote: > > Hello. > >=20 > > I have a fs (metadump of it > > http://ixion.pld-linux.org/~arekm/p2/x1/web2-home.metadump.gz) > > that xfs_repair 3.2.0 is unable to fix properly. > >=20 > > Running xfs_repair few times shows the same errors repeating: > > http://ixion.pld-linux.org/~arekm/p2/x1/repair2.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair3.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair4.txt > > http://ixion.pld-linux.org/~arekm/p2/x1/repair5.txt > >=20 > > (repair1.txt also exists - it was initial, very big/long repair) > >=20 > > Note that fs mounts fine (and was mounting fine before and after repair) > > but xfs_repair indicates that not everything got fixed. > >=20 > >=20 > > Unfortunately there looks to be a problem with metadump image. xfs_repa= ir > > is able to finish fixing on a restored image but is not able (see > > repairX.txt) above on real devices. Huh? > >=20 > > Examples of problems repeating each time xfs_repair is run: > >=20 > > 1) > > reset bad sb for ag 5 > > > >. non-null group quota inode field in superblock 7 >=20 > OK, so this is indicative of something screwed up a long time ago. > Firstly, the primary superblocks shows: >=20 > uquotino =3D 4077961 > gquotino =3D 0 > qflags =3D 0 >=20 > i.e. user quota @ inode 4077961, no group quota. The secondary > superblocks that are being warned about show: >=20 > uquotino =3D 0 > gquotino =3D 4077962 > qflags =3D 0 >=20 > Which is clearly wrong. They should have been overwritten during the > growfs operation to match the primary superblock. >=20 > The similarity in inode number leads me to beleive at some point > both user and group/project quotas were enabled on this filesystem, Both user and project quotas were enabled on this fs for last few years. > but right now only user quotas are enabled. It's only AGs 1-15 that > show this, so this seems to me that it is likely that this > filesystem was originally only 16 AGs and it's been grown many times > since? The quotas was running fine until some repair run (ie. before and after fir= st=20 repair mounting with quota succeeded) - some xfs_repair run later broke thi= s. >=20 > Oh, this all occurred because you had a growfs operation on 3.10 > fail because of garbage in the the sb of AG 16 (i.e. this from IRC: > http://sprunge.us/UJFE)? IOWs, this commit: >=20 > 9802182 xfs: verify superblocks as they are read from disk >=20 > tripped up on sb 16. That means sb 16 is was not modified by the > growfs operation, and so should have the pre-growfs information in > it: >=20 > uquotino =3D 4077961 > gquotino =3D 4077962 > qflags =3D 0x77 >=20 > Yeah, that's what I thought - the previous grow operation had both > quotas enabled. OK, that explains why the growfs operation had > issues, but it doesn't explain exactly how the quota inodes got > screwed up like that. The fs had working quota when having 3 digit number of AGs. I wouldn't blam= e=20 growfs failure to be related to quota brokeness. IMO some repair broke this= =20 (or tried fixing and broke). > Anyway, the growfs issues were solved by: >=20 > 10e6e65 xfs: be more forgiving of a v4 secondary sb w/ junk in v5 fields >=20 > which landed in 3.13. Ok. >=20 > > 2) > > correcting nblocks for inode 965195858, was 19 - counted 20 > > correcting nextents for inode 965195858, was 16 - counted 17 >=20 > Which is preceeded by: >=20 > data fork in ino 965195858 claims free block 60323539 > data fork in ino 965195858 claims free block 60323532 >=20 > and when combined with the later: >=20 > entry "dsc0945153ac18d4d4f1a-150x150.jpg" (ino 967349800) in dir 965195858 > is a duplicate name, marking entry to be junked >=20 > errors from that directory, it looks like the space was freed but > the directory btree not correctly updated. No idea what might have > caused that, but it is a classic symptom of volatile write caches... >=20 > Hmmm, and when It goes to junk them on my local testing: >=20 > rebuilding directory inode 965195858 > name create failed in ino 965195858 (117), filesystem may be out of space >=20 > Which is an EFSCORRUPTED error trying to rebuild that directory. > The second error pass did not throw an error, but it did not fix > the errors as a 3rd pass still reported this. I'll look into why. >=20 > > 3) clearing some entries; moving to lost+found (the same files) > >=20 > >=20 > > 4) > > Phase 7 - verify and correct link counts... > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > done >=20 > Not sure what that is yet, but it looks like writing a directory > block found entries with invalid inode numbers in it. i.e. it's > telling me that there's something not been fixed up. >=20 > I'm actually seeing this in phase4: >=20 > - agno =3D 148 > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 >=20 > Second time around, this does not happen, so the error has been > corrected in a later phase of the first pass. Here on two runs I got exactly the same report: Phase 7 - verify and correct link counts... Invalid inode number 0xfeffffffffffffff xfs_dir_ino_validate: XFS_ERROR_REPORT Metadata corruption detected at block 0x11fbb698/0x1000 libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 Invalid inode number 0xfeffffffffffffff xfs_dir_ino_validate: XFS_ERROR_REPORT Metadata corruption detected at block 0x11fbb698/0x1000 libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 but there were more of errors like this earlier so repair fixed some but le= ft=20 with these two. >=20 > > 5)Metadata CRC error detected at block 0x0/0x200 > > but it is not CRC enabled fs >=20 > That's typically caused by junk in the superblock beyond the end > of the v4 superblock structure. It should be followed by "zeroing > junk ..." Shouldn't repair fix superblocks when noticing v4 fs? I mean 3.2.0 repair reports: $ xfs_repair -v ./1t-image=20 Phase 1 - find and verify superblock... - reporting progress in intervals of 15 minutes - block cache size set to 748144 entries Phase 2 - using internal log - zero log... zero_log: head block 2 tail block 2 - scan filesystem freespace and inode maps... Metadata CRC error detected at block 0x0/0x200 zeroing unused portion of primary superblock (AG #0) - 07:20:11: scanning filesystem freespace - 391 of 391 allocation=20 groups done - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - 07:20:11: scanning agi unlinked lists - 391 of 391 allocation gro= ups=20 done - process known inodes and perform inode discovery... - agno =3D 0 [...] but if I run 3.1.11 after running 3.2.0 then superblocks get fixed: $ ./xfsprogs/repair/xfs_repair -v ./1t-image=20 Phase 1 - find and verify superblock... - block cache size set to 748144 entries Phase 2 - using internal log - zero log... zero_log: head block 2 tail block 2 - scan filesystem freespace and inode maps... zeroing unused portion of primary superblock (AG #0) zeroing unused portion of secondary superblock (AG #3) zeroing unused portion of secondary superblock (AG #1) zeroing unused portion of secondary superblock (AG #8) zeroing unused portion of secondary superblock (AG #2) zeroing unused portion of secondary superblock (AG #5) zeroing unused portion of secondary superblock (AG #6) zeroing unused portion of secondary superblock (AG #20) zeroing unused portion of secondary superblock (AG #9) zeroing unused portion of secondary superblock (AG #7) zeroing unused portion of secondary superblock (AG #12) zeroing unused portion of secondary superblock (AG #10) zeroing unused portion of secondary superblock (AG #13) zeroing unused portion of secondary superblock (AG #14) [...] zeroing unused portion of secondary superblock (AG #388) zeroing unused portion of secondary superblock (AG #363) - found root inode chunk Phase 3 - for each AG... Shouldn't these be "unused" for 3.2.0, too (since v4 fs) ? > > Made xfs metadump without file obfuscation and I'm able to reproduce the > > problem reliably on the image (if some xfs developer wants metadump ima= ge > > then please mail me - I don't want to put it for everyone due to obvious > > reasons). > >=20 > > So additional bug in xfs_metadump where file obfuscation "fixes" some > > issues. Does it obfuscate but keep invalid conditions (like keeping "/" > > in file name) ? I guess it is not doing that. >=20 > I doubt it handles a "/" in a file name properly - that's rather > illegal, and the obfuscation code probably doesn't handle it at all. Would be nice to keep these bad conditions. obfuscated metadump is behaving= =20 differently than non-obfuscated metadump with xfs_repair here (less issues= =20 with obfuscated than non-obfuscated), so obfuscation simply hides problems. I assume that you do testing on the non-obfuscated dump I gave on irc? > FWIW, xfs_repair will trash those files anyway: >=20 > entry at block 22 offset 560 in directory inode 419558142 has illegal name > "/_198.jpg": clearing entry >=20 > So regardless of whether metadump handles them or is not going to > change the fact that filenames with "/" them are broken.... >=20 > But the real question here is how did you get "/" characters in > filenames? No idea. It could get corrupted many months/years ago. This fs has not seen= =20 repair for very long time (since there was no visible issues with it). > > [3571367.717167] XFS (loop0): Mounting Filesystem > > [3571367.883958] XFS (loop0): Ending clean mount > > [3571367.900733] XFS (loop0): Failed to initialize disk quotas. > >=20 > > Files are accessible etc. Just no quota. Unfortunately no information w= hy > > initialization failed. >=20 > I can't tell why that's happening yet. I'm not sure what the correct > state is supposed to be yet (mount options will tell me) noatime,nodiratime,nodev,nosuid,usrquota,prjquota > so I'm not > sure what went wrong. As it is, you probaby should be upgrading to > a more recent kernel.... I can try to mount metadump image on newer kernel - will check and report=20 back. > > So xfs_repair wasn't able to fix that, too. >=20 > xfs_repair isn't detecting there is a problem because the uquotino > is not corrupt and the qflags is zero. Hence it doesn't do anything. >=20 > More as I find it. >=20 > Cheers, >=20 > Dave. =2D-=20 Arkadiusz Mi=C5=9Bkiewicz, arekm / maven.pl From david@fromorbit.com Mon Jun 30 06:12:25 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 9EFEE7F56 for ; Mon, 30 Jun 2014 06:12:25 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay1.corp.sgi.com (Postfix) with ESMTP id 895218F8035 for ; Mon, 30 Jun 2014 04:12:22 -0700 (PDT) X-ASG-Debug-ID: 1404126737-04bdf05666706040001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id PLbdjMGDB8biFv4t for ; Mon, 30 Jun 2014 04:12:17 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuWbAN9EsVN5LHZ8PGdsb2JhbABagw2CIIEpUYQ3o3EBAQEBAQEGmjUBgQYXBAEBAQE4NYQDAQEEASMPASMjBQsIAxgCAgUhAgIPBSUDBxoTiDoHqnKcJRcXgRSEOYhSAQECTQeCdzaBFgWaXYtAjBIrgTIIFw Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail06.adl2.internode.on.net with ESMTP; 30 Jun 2014 20:42:16 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X1ZVO-0003Lu-C8; Mon, 30 Jun 2014 21:12:14 +1000 Date: Mon, 30 Jun 2014 21:12:14 +1000 From: Dave Chinner To: Arkadiusz =?utf-8?Q?Mi=C5=9Bkiewicz?= Cc: xfs@oss.sgi.com, Alex Elder Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Message-ID: <20140630111214.GE4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs References: <20140630031810.GC4453@dastard> <201406300736.24291.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201406300736.24291.arekm@maven.pl> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1404126737 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7099 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 30, 2014 at 07:36:24AM +0200, Arkadiusz Miśkiewicz wrote: > On Monday 30 of June 2014, Dave Chinner wrote: > > [Compendium reply to all 3 emails] > > > > On Sat, Jun 28, 2014 at 01:41:54AM +0200, Arkadiusz Miśkiewicz wrote: > > > reset bad sb for ag 5 > > > > > >. non-null group quota inode field in superblock 7 > > > > OK, so this is indicative of something screwed up a long time ago. > > Firstly, the primary superblocks shows: > > > > uquotino = 4077961 > > gquotino = 0 > > qflags = 0 > > > > i.e. user quota @ inode 4077961, no group quota. The secondary > > superblocks that are being warned about show: > > > > uquotino = 0 > > gquotino = 4077962 > > qflags = 0 > > > > Which is clearly wrong. They should have been overwritten during the > > growfs operation to match the primary superblock. > > > > The similarity in inode number leads me to beleive at some point > > both user and group/project quotas were enabled on this filesystem, > > Both user and project quotas were enabled on this fs for last few years. > > > but right now only user quotas are enabled. It's only AGs 1-15 that > > show this, so this seems to me that it is likely that this > > filesystem was originally only 16 AGs and it's been grown many times > > since? > > The quotas was running fine until some repair run (ie. before and after first > repair mounting with quota succeeded) - some xfs_repair run later broke this. Actually, it looks more likely that a quotacheck has failed part way though, leaving the quota in an indeterminate state and then repair has been run, messing things up more... > > > Invalid inode number 0xfeffffffffffffff > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > done > > > > Not sure what that is yet, but it looks like writing a directory > > block found entries with invalid inode numbers in it. i.e. it's > > telling me that there's something not been fixed up. > > > > I'm actually seeing this in phase4: > > > > - agno = 148 > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > > Second time around, this does not happen, so the error has been > > corrected in a later phase of the first pass. > > Here on two runs I got exactly the same report: > > Phase 7 - verify and correct link counts... > > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > Invalid inode number 0xfeffffffffffffff > xfs_dir_ino_validate: XFS_ERROR_REPORT > Metadata corruption detected at block 0x11fbb698/0x1000 > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > but there were more of errors like this earlier so repair fixed some but left > with these two. Right, I suspect that I've got a partial fix for this already in place - i was having xfs_repair -n ... SEGV on when parsing the broken directory in phase 6, so I have some code that prevents that crash which might also be partially fixing this. > > > 5)Metadata CRC error detected at block 0x0/0x200 > > > but it is not CRC enabled fs > > > > That's typically caused by junk in the superblock beyond the end > > of the v4 superblock structure. It should be followed by "zeroing > > junk ..." > > Shouldn't repair fix superblocks when noticing v4 fs? It does. > I mean 3.2.0 repair reports: > > $ xfs_repair -v ./1t-image > Phase 1 - find and verify superblock... > - reporting progress in intervals of 15 minutes > - block cache size set to 748144 entries > Phase 2 - using internal log > - zero log... > zero_log: head block 2 tail block 2 > - scan filesystem freespace and inode maps... > Metadata CRC error detected at block 0x0/0x200 > zeroing unused portion of primary superblock (AG #0) > - 07:20:11: scanning filesystem freespace - 391 of 391 allocation > groups done > - found root inode chunk > Phase 3 - for each AG... > - scan and clear agi unlinked lists... > - 07:20:11: scanning agi unlinked lists - 391 of 391 allocation groups > done > - process known inodes and perform inode discovery... > - agno = 0 > [...] > > but if I run 3.1.11 after running 3.2.0 then superblocks get fixed: > > $ ./xfsprogs/repair/xfs_repair -v ./1t-image > Phase 1 - find and verify superblock... > - block cache size set to 748144 entries > Phase 2 - using internal log > - zero log... > zero_log: head block 2 tail block 2 > - scan filesystem freespace and inode maps... > zeroing unused portion of primary superblock (AG #0) ,,, > Shouldn't these be "unused" for 3.2.0, too (since v4 fs) ? I'm pretty sure that's indicative of older xfs_repair code not understanding that sb_badfeatures2 didn't need to be zeroed. It wasn't until: cbd7508 xfs_repair: zero out unused parts of superblocks that xfs_repair correctly sized the unused area of the superblock. You'll probably find that mounting this filesystem resulted in ""sb_badfeatures2 mistach detected. Correcting." or something similar in dmesg because of this (now fixed) repair bug. > > > Made xfs metadump without file obfuscation and I'm able to reproduce the > > > problem reliably on the image (if some xfs developer wants metadump image > > > then please mail me - I don't want to put it for everyone due to obvious > > > reasons). > > > > > > So additional bug in xfs_metadump where file obfuscation "fixes" some > > > issues. Does it obfuscate but keep invalid conditions (like keeping "/" > > > in file name) ? I guess it is not doing that. > > > > I doubt it handles a "/" in a file name properly - that's rather > > illegal, and the obfuscation code probably doesn't handle it at all. > > Would be nice to keep these bad conditions. obfuscated metadump is behaving > differently than non-obfuscated metadump with xfs_repair here (less issues > with obfuscated than non-obfuscated), so obfuscation simply hides problems. Sure, but we didn't even know this was a problem until now, so that will have to wait.... > I assume that you do testing on the non-obfuscated dump I gave on irc? Yes, but I've been cross checking against the obfuscated one with xfs_db.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From arekm@maven.pl Mon Jun 30 06:53:19 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 867E07F5A for ; Mon, 30 Jun 2014 06:53:19 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 9491230405F for ; Mon, 30 Jun 2014 04:53:19 -0700 (PDT) X-ASG-Debug-ID: 1404129193-04cbb065381c85a0001-NocioJ Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by cuda.sgi.com with ESMTP id APpeeu1h7n8wes9n (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 30 Jun 2014 04:53:14 -0700 (PDT) X-Barracuda-Envelope-From: arekm@maven.pl X-Barracuda-Apparent-Source-IP: 74.125.82.50 Received: by mail-wg0-f50.google.com with SMTP id m15so8072148wgh.9 for ; Mon, 30 Jun 2014 04:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=iUzKpD3JKd4dqMT4kY58VM43a2yGKvQfOITsZ5zmxss=; b=U2bpas6CRo/ifNKcIjeTCjkB/+0Vp+AZOyOUuZ0mQi3Md3rlYMkZr3ECq3VdlYCuhr sZm3FTfS9Z334ZhBdmbs3/K2zoHc4buwMUWVas5vEcCOnL5UrgIdkY8PyCnFQYNFioi5 VAkMHAH9VUPyG2+ayIBRZB+dnkDgscGbpsuz0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:user-agent:cc:references :in-reply-to:mime-version:content-type:content-transfer-encoding :message-id; bh=iUzKpD3JKd4dqMT4kY58VM43a2yGKvQfOITsZ5zmxss=; b=iYcjDLHQTNnsYWefQnzv6P+uvpp6+5+YDCtm2tXwV6ua5rPsBow8nPvo8YsOM0AJP8 EJ0lOjBh1f5cIApT6T+TwvsuBJ25zcc2AJ11rEpszpNeDcJEiAB1ojAa1zZjouJGK78t PbWWSjkmhUbZ6ofgjPwNQ8XGebPE18fYJIdnY2FfiCU84uJTCATUP+e8S+m3cXYDR2s3 H0R6j/x4wWaCcXC8D/7y8LP2TlhNwDEnuznRe3va6gpjKZvnAaPK9WC+FEsrcG0M0owL d4RR7JDIZiMd7+6bnt9nv73p9PeuOslaMwJI8pJGkecd9/8XSUv8VCr8hI+axN8Szp19 eiQg== X-Gm-Message-State: ALoCoQnKidPL1LJ7IXUWyOinufEX1FHXlW49u9YG9XHlYDBBqxqP9SmUedIa7uNyEuazH6Dw44+G X-Received: by 10.194.48.8 with SMTP id h8mr2639810wjn.106.1404129192606; Mon, 30 Jun 2014 04:53:12 -0700 (PDT) Received: from t400.localnet ([91.234.176.246]) by mx.google.com with ESMTPSA id bx2sm40853664wjb.47.2014.06.30.04.53.11 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Jun 2014 04:53:12 -0700 (PDT) From: Arkadiusz =?utf-8?q?Mi=C5=9Bkiewicz?= To: Dave Chinner Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Date: Mon, 30 Jun 2014 13:53:10 +0200 X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs User-Agent: KMail/1.13.7 (Linux/3.16.0-rc3-00006-g16874b2; KDE/4.13.2; x86_64; ; ) Cc: xfs@oss.sgi.com, Alex Elder References: <20140630031810.GC4453@dastard> <201406300736.24291.arekm@maven.pl> <20140630111214.GE4453@dastard> In-Reply-To: <20140630111214.GE4453@dastard> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201406301353.10829.arekm@maven.pl> X-Barracuda-Connect: mail-wg0-f50.google.com[74.125.82.50] X-Barracuda-Start-Time: 1404129193 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7101 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Monday 30 of June 2014, Dave Chinner wrote: > On Mon, Jun 30, 2014 at 07:36:24AM +0200, Arkadiusz Mi=C5=9Bkiewicz wrote: > > On Monday 30 of June 2014, Dave Chinner wrote: > > > [Compendium reply to all 3 emails] > > >=20 > > > On Sat, Jun 28, 2014 at 01:41:54AM +0200, Arkadiusz Mi=C5=9Bkiewicz w= rote: > > > > reset bad sb for ag 5 > > > > > > > >. non-null group quota inode field in superblock 7 > > >=20 > > > OK, so this is indicative of something screwed up a long time ago. > > > Firstly, the primary superblocks shows: > > >=20 > > > uquotino =3D 4077961 > > > gquotino =3D 0 > > > qflags =3D 0 > > >=20 > > > i.e. user quota @ inode 4077961, no group quota. The secondary > > > superblocks that are being warned about show: > > >=20 > > > uquotino =3D 0 > > > gquotino =3D 4077962 > > > qflags =3D 0 > > >=20 > > > Which is clearly wrong. They should have been overwritten during the > > > growfs operation to match the primary superblock. > > >=20 > > > The similarity in inode number leads me to beleive at some point > > > both user and group/project quotas were enabled on this filesystem, > >=20 > > Both user and project quotas were enabled on this fs for last few years. > >=20 > > > but right now only user quotas are enabled. It's only AGs 1-15 that > > > show this, so this seems to me that it is likely that this > > > filesystem was originally only 16 AGs and it's been grown many times > > > since? > >=20 > > The quotas was running fine until some repair run (ie. before and after > > first repair mounting with quota succeeded) - some xfs_repair run later > > broke this. >=20 > Actually, it looks more likely that a quotacheck has failed part way > though, leaving the quota in an indeterminate state and then repair > has been run, messing things up more... Hm, the only quotacheck I see in logs from that day reported "Done". I assu= me=20 it wouldn't report that if some problem occured in middle? Jun 28 00:57:36 web2 kernel: [736161.906626] XFS (dm-1): Quotacheck needed:= =20 Please wait. Jun 28 01:09:10 web2 kernel: [736855.851555] XFS (dm-1): Quotacheck: Done. [...] here were few Internal error xfs_bmap_read_extents(1) while doing=20 xfs_dir_lookup (I assume due to not fixed directory entries problem).=20 xfs_repair was also run few times and then... Jun 28 23:16:50 web2 kernel: [816515.898210] XFS (dm-1): Mounting Filesystem Jun 28 23:16:50 web2 kernel: [816515.915356] XFS (dm-1): Ending clean mount Jun 28 23:16:50 web2 kernel: [816515.940008] XFS (dm-1): Failed to initiali= ze=20 disk quotas. >=20 > > > > Invalid inode number 0xfeffffffffffffff > > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > > done > > >=20 > > > Not sure what that is yet, but it looks like writing a directory > > > block found entries with invalid inode numbers in it. i.e. it's > > > telling me that there's something not been fixed up. > > >=20 > > > I'm actually seeing this in phase4: > > > - agno =3D 148 > > >=20 > > > Invalid inode number 0xfeffffffffffffff > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > >=20 > > > Second time around, this does not happen, so the error has been > > > corrected in a later phase of the first pass. > >=20 > > Here on two runs I got exactly the same report: > >=20 > > Phase 7 - verify and correct link counts... > >=20 > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > Invalid inode number 0xfeffffffffffffff > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > Metadata corruption detected at block 0x11fbb698/0x1000 > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > >=20 > > but there were more of errors like this earlier so repair fixed some but > > left with these two. >=20 > Right, I suspect that I've got a partial fix for this already in > place - i was having xfs_repair -n ... SEGV on when parsing the > broken directory in phase 6, so I have some code that prevents that > crash which might also be partially fixing this. Nice :-) Do you also know why 3.1.11 doesn't have this problem with=20 xfs_dir_ino_validate: XFS_ERROR_REPORT ? > > > > 5)Metadata CRC error detected at block 0x0/0x200 > > > > but it is not CRC enabled fs > > >=20 > > > That's typically caused by junk in the superblock beyond the end > > > of the v4 superblock structure. It should be followed by "zeroing > > > junk ..." > >=20 > > Shouldn't repair fix superblocks when noticing v4 fs? >=20 > It does. >=20 > > I mean 3.2.0 repair reports: > >=20 > > $ xfs_repair -v ./1t-image > > Phase 1 - find and verify superblock... > >=20 > > - reporting progress in intervals of 15 minutes > > - block cache size set to 748144 entries > >=20 > > Phase 2 - using internal log > >=20 > > - zero log... > >=20 > > zero_log: head block 2 tail block 2 > >=20 > > - scan filesystem freespace and inode maps... > >=20 > > Metadata CRC error detected at block 0x0/0x200 > > zeroing unused portion of primary superblock (AG #0) > >=20 > > - 07:20:11: scanning filesystem freespace - 391 of 391 allocati= on > >=20 > > groups done > >=20 > > - found root inode chunk > >=20 > > Phase 3 - for each AG... > >=20 > > - scan and clear agi unlinked lists... > > - 07:20:11: scanning agi unlinked lists - 391 of 391 allocation > > groups > >=20 > > done > >=20 > > - process known inodes and perform inode discovery... > > - agno =3D 0 > >=20 > > [...] > >=20 > > but if I run 3.1.11 after running 3.2.0 then superblocks get fixed: > >=20 > > $ ./xfsprogs/repair/xfs_repair -v ./1t-image > > Phase 1 - find and verify superblock... > >=20 > > - block cache size set to 748144 entries > >=20 > > Phase 2 - using internal log > >=20 > > - zero log... > >=20 > > zero_log: head block 2 tail block 2 > >=20 > > - scan filesystem freespace and inode maps... > >=20 > > zeroing unused portion of primary superblock (AG #0) >=20 > ,,, >=20 > > Shouldn't these be "unused" for 3.2.0, too (since v4 fs) ? >=20 > I'm pretty sure that's indicative of older xfs_repair code > not understanding that sb_badfeatures2 didn't need to be zeroed. > It wasn't until: >=20 > cbd7508 xfs_repair: zero out unused parts of superblocks >=20 > that xfs_repair correctly sized the unused area of the superblock. > You'll probably find that mounting this filesystem resulted in > ""sb_badfeatures2 mistach detected. Correcting." or something > similar in dmesg because of this (now fixed) repair bug. Tested 3.1.11 with cbd7508 applied and indeed no "zeroing unused portion o= f=20 primary superblock: anymore. > > > > Made xfs metadump without file obfuscation and I'm able to reproduce > > > > the problem reliably on the image (if some xfs developer wants > > > > metadump image then please mail me - I don't want to put it for > > > > everyone due to obvious reasons). > > > >=20 > > > > So additional bug in xfs_metadump where file obfuscation "fixes" so= me > > > > issues. Does it obfuscate but keep invalid conditions (like keeping > > > > "/" in file name) ? I guess it is not doing that. > > >=20 > > > I doubt it handles a "/" in a file name properly - that's rather > > > illegal, and the obfuscation code probably doesn't handle it at all. > >=20 > > Would be nice to keep these bad conditions. obfuscated metadump is > > behaving differently than non-obfuscated metadump with xfs_repair here > > (less issues with obfuscated than non-obfuscated), so obfuscation simply > > hides problems. >=20 > Sure, but we didn't even know this was a problem until now, so that > will have to wait.... >=20 > > I assume that you do testing on the non-obfuscated dump I gave on irc? >=20 > Yes, but I've been cross checking against the obfuscated one with > xfs_db.... >=20 > Cheers, >=20 > Dave. =2D-=20 Arkadiusz Mi=C5=9Bkiewicz, arekm / maven.pl From david@fromorbit.com Mon Jun 30 07:06:22 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay3.corp.sgi.com [198.149.34.15]) by oss.sgi.com (Postfix) with ESMTP id DBDA67F60 for ; Mon, 30 Jun 2014 07:06:21 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay3.corp.sgi.com (Postfix) with ESMTP id 76E9EAC005 for ; Mon, 30 Jun 2014 05:06:18 -0700 (PDT) X-ASG-Debug-ID: 1404129975-04bdf05668707e80001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id Q2nwbfB5JvKHYe1h for ; Mon, 30 Jun 2014 05:06:16 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AppaAAxSsVN5LHZ8PGdsb2JhbABagw2DSVGEN6NxAQEBAQEBBpo1AYEGFwQBAQEBODWEAwEBBSMPASMjEAgDGAICBSECAg8FJQMHGhOIQap5nCkXF4EUhDmIVk0Hgnc2gRYFml2LQIwSK4Ey Received: from ppp121-44-118-124.lns20.syd6.internode.on.net (HELO dastard) ([121.44.118.124]) by ipmail06.adl2.internode.on.net with ESMTP; 30 Jun 2014 21:36:15 +0930 Received: from dave by dastard with local (Exim 4.80) (envelope-from ) id 1X1aLd-0003Vf-46; Mon, 30 Jun 2014 22:06:13 +1000 Date: Mon, 30 Jun 2014 22:06:13 +1000 From: Dave Chinner To: Arkadiusz =?utf-8?Q?Mi=C5=9Bkiewicz?= Cc: xfs@oss.sgi.com, Alex Elder Subject: Re: xfs_repair 3.2.0 cannot (?) fix fs Message-ID: <20140630120613.GF4453@dastard> X-ASG-Orig-Subj: Re: xfs_repair 3.2.0 cannot (?) fix fs References: <20140630031810.GC4453@dastard> <201406300736.24291.arekm@maven.pl> <20140630111214.GE4453@dastard> <201406301353.10829.arekm@maven.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201406301353.10829.arekm@maven.pl> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1404129975 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7101 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Mon, Jun 30, 2014 at 01:53:10PM +0200, Arkadiusz Miśkiewicz wrote: > On Monday 30 of June 2014, Dave Chinner wrote: > > On Mon, Jun 30, 2014 at 07:36:24AM +0200, Arkadiusz Miśkiewicz wrote: > > > On Monday 30 of June 2014, Dave Chinner wrote: > > > > but right now only user quotas are enabled. It's only AGs 1-15 that > > > > show this, so this seems to me that it is likely that this > > > > filesystem was originally only 16 AGs and it's been grown many times > > > > since? > > > > > > The quotas was running fine until some repair run (ie. before and after > > > first repair mounting with quota succeeded) - some xfs_repair run later > > > broke this. > > > > Actually, it looks more likely that a quotacheck has failed part way > > though, leaving the quota in an indeterminate state and then repair > > has been run, messing things up more... > > Hm, the only quotacheck I see in logs from that day reported "Done". I assume > it wouldn't report that if some problem occured in middle? > > Jun 28 00:57:36 web2 kernel: [736161.906626] XFS (dm-1): Quotacheck needed: > Please wait. > Jun 28 01:09:10 web2 kernel: [736855.851555] XFS (dm-1): Quotacheck: Done. If there was an error, it should report it and say that quotas are being turned off. > [...] here were few Internal error xfs_bmap_read_extents(1) while doing > xfs_dir_lookup (I assume due to not fixed directory entries problem). > xfs_repair was also run few times and then... > > Jun 28 23:16:50 web2 kernel: [816515.898210] XFS (dm-1): Mounting Filesystem > Jun 28 23:16:50 web2 kernel: [816515.915356] XFS (dm-1): Ending clean mount > Jun 28 23:16:50 web2 kernel: [816515.940008] XFS (dm-1): Failed to initialize > disk quotas. I haven't yet tracked down what the error here is yet - I'm still working on the reapir side of things before I even try to mount the images you sent me. :/ Once I get repair running cleanly, I'll look at why this is failing. > > > > > Invalid inode number 0xfeffffffffffffff > > > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > > > done > > > > > > > > Not sure what that is yet, but it looks like writing a directory > > > > block found entries with invalid inode numbers in it. i.e. it's > > > > telling me that there's something not been fixed up. > > > > > > > > I'm actually seeing this in phase4: > > > > - agno = 148 > > > > > > > > Invalid inode number 0xfeffffffffffffff > > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > > > > > > Second time around, this does not happen, so the error has been > > > > corrected in a later phase of the first pass. > > > > > > Here on two runs I got exactly the same report: > > > > > > Phase 7 - verify and correct link counts... > > > > > > Invalid inode number 0xfeffffffffffffff > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > Invalid inode number 0xfeffffffffffffff > > > xfs_dir_ino_validate: XFS_ERROR_REPORT > > > Metadata corruption detected at block 0x11fbb698/0x1000 > > > libxfs_writebufr: write verifer failed on bno 0x11fbb698/0x1000 > > > > > > but there were more of errors like this earlier so repair fixed some but > > > left with these two. > > > > Right, I suspect that I've got a partial fix for this already in > > place - i was having xfs_repair -n ... SEGV on when parsing the > > broken directory in phase 6, so I have some code that prevents that > > crash which might also be partially fixing this. > > Nice :-) Do you also know why 3.1.11 doesn't have this problem with > xfs_dir_ino_validate: XFS_ERROR_REPORT ? Oh, that's easy: 3.1.11 doesn't have write verifiers, so it would never know that it wrote a bad inode number to disk. Like the kernel code, the write verifiers actually check that the modifications being made result in valid on disk values, and that's something we've never had in repair before 3.2.0. IOWs, 3.1.11 could well be writing inodes with 0xfeffffffffffffff in them, but there's nothing to catch that in repair or libxfs on read or write. Hence we could be tripping over an old bug we never knew existed until now... Cheers, Dave. -- Dave Chinner david@fromorbit.com From kirandeen@google.com Mon Jun 30 15:48:17 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE,T_DKIM_INVALID autolearn=ham version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id CE5897F5E for ; Mon, 30 Jun 2014 15:48:17 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay2.corp.sgi.com (Postfix) with ESMTP id C218F304067 for ; Mon, 30 Jun 2014 13:48:14 -0700 (PDT) X-ASG-Debug-ID: 1404161293-04cb6c76d03a9500001-NocioJ Received: from mail-ve0-f172.google.com (mail-ve0-f172.google.com [209.85.128.172]) by cuda.sgi.com with ESMTP id PFgyiTZWENEchRjF (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 30 Jun 2014 13:48:13 -0700 (PDT) X-Barracuda-Envelope-From: kirandeen@google.com X-Barracuda-Apparent-Source-IP: 209.85.128.172 X-Barracuda-IPDD: Level1 [google.com/209.85.128.172] Received: by mail-ve0-f172.google.com with SMTP id jz11so8709773veb.31 for ; Mon, 30 Jun 2014 13:48:12 -0700 (PDT) X-Barracuda-IPDD: Level1 [google.com/209.85.128.172] X-Barracuda-IPDD: Level1 [google.com/209.85.128.172] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=LHcPZkBa4QeViji3bzJj4uyyVkuOnGGh8Roeg9q+Kxs=; b=BQMvBBrFUuPIJlYET6KL6C08G7FC9Sk0sZbXPf00WptOjDKKOD3rX//LpMRAPJZCaT 2v6bJuDsP5PC7ZWHfBPLguk3ki4JqI4vqCClZFaeMrXRYgIO+gYBoKI6tKUR5YG4+zMt JJI1HZoY71RjaSKB8HXWfYKAWG/7PJn2QiBwBA2uOEyQ51XcS0aGJkdewGosbpsUFJw5 vRIjr1ueOk4MpehvqqdAB2fdVxVaG1lrL5FlQ3uCTtcum23RRCSG1Y/Enoanxs062Nr5 GrZEeNhHDEPjvF0W6iUESl706PmInIuW4F1eIWg4YcJFMw58q+sNjqb4py/amkwV5NTQ +RmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=LHcPZkBa4QeViji3bzJj4uyyVkuOnGGh8Roeg9q+Kxs=; b=TbkIgPWpYqUkbSij1ofyf/dB5LsZQegd/HohJcLPYqMTYl/OedT0f1DvkNuQjCmnvV 4B6adXU0+mvQoK05sMzjAseKl3uEW55nrObpOPx2wW7w4iuiWhCaaLSxVj5wNUb/jrhd cuGbSiaEWNn0fCdmqkzuyCAFYId3Qc7sOt+KhRo5HhFcnbwAHamNME+pR4Q9i2YNW3jA 57K7TyQIXqHvHPLdCMdge0XwCuUfz5hyHEpZTO9NNEKGMq2ae4w5jMIPvJfUlrnxO2qU cOvgUG7RbS2PEeR9P/JgGPn8wecJ/Qh16OW1QDIUhOenEO13I8ZkbgfmGVNFUTn6xoDf MfOA== X-Gm-Message-State: ALoCoQkrjKp7RlwuVyMhHlzcsXfaPgE4GRBPNrAPT6nx+TdfhLrPYAu0qJFREY8WepsETboGB+EPPFMkV6qIsYnfZmy0ky5UwSKqiBpFf2lOwkTgH5L4F8YZE484sFItN4a2M2XygYmDK3gzoKKBDBYKofm+hRVYnt/5A6SytU/FhG4v4zbxyz5lhRvxAzUdFDTnUM1XLzIH X-Received: by 10.221.20.199 with SMTP id qp7mr40194374vcb.24.1404161292643; Mon, 30 Jun 2014 13:48:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.58.182.66 with HTTP; Mon, 30 Jun 2014 13:47:32 -0700 (PDT) From: Kiran Deen Date: Mon, 30 Jun 2014 13:47:32 -0700 Message-ID: Subject: Greetings from Google! To: xfs@oss.sgi.com X-ASG-Orig-Subj: Greetings from Google! Content-Type: multipart/alternative; boundary=001a11339e2e0e56ab04fd13c778 X-Barracuda-Connect: mail-ve0-f172.google.com[209.85.128.172] X-Barracuda-Start-Time: 1404161293 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7115 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --001a11339e2e0e56ab04fd13c778 Content-Type: text/plain; charset=UTF-8 Hi Kevin, I hope your day is going well. I wanted to connect to see if you are interested in exploring opportunities at Google. I came across your information online and believe your skills may be aligned with some engineering roles that I support. Let me know if you are interested and we can schedule a time speak further. Thank you for your time and consideration. I look forward to hearing back from you! Best, Kiran Deen -- Kiran Deen | 650.214.6955 | kirandeen@google.com | Follow us on Life at Google --001a11339e2e0e56ab04fd13c778 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Kevin,

I hope your day is = going well. I wanted to connect to see if you are interested in exploring o= pportunities at Google. I came across your information online and believe y= our skills may be aligned with some engineering roles that I support. Let m= e know if you are interested and we can schedule a time speak further.=C2= =A0

Thank you for your time and consideration. I look forwa= rd to hearing back from you!

Best,
Kiran= Deen


--

=
Kiran Deen |
=C2=A0650.214.6955 |=C2=A0kirandeen@google.com | =C2=A0Follow us on=C2=A0Life at Google=


--001a11339e2e0e56ab04fd13c778-- From bounces+944491-f7e4-xfs=oss.sgi.com@sendgrid.info Mon Jun 30 21:47:28 2014 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.4 required=5.0 tests=HTML_IMAGE_ONLY_32, HTML_MESSAGE,MIME_HTML_ONLY,T_DKIM_INVALID autolearn=no version=3.3.1 X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 7D9507F5E for ; Mon, 30 Jun 2014 21:47:28 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 6E5538F8035 for ; Mon, 30 Jun 2014 19:47:25 -0700 (PDT) X-ASG-Debug-ID: 1404182843-04cbb065351ea710001-NocioJ Received: from o1.shared.sendgrid.net (o1.shared.sendgrid.net [74.63.231.244]) by cuda.sgi.com with SMTP id EUFgVUW1KsdAhsCZ (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO) for ; Mon, 30 Jun 2014 19:47:23 -0700 (PDT) X-Barracuda-Envelope-From: bounces+944491-f7e4-xfs=oss.sgi.com@sendgrid.info X-Barracuda-Apparent-Source-IP: 74.63.231.244 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.me; h=from:to:subject:mime-version:content-type:content-transfer-encoding; s=smtpapi; bh=pM+uCt9uvwi1HxumkxSBwNay4UE=; b=wWUtKUMVf8GG/h3Ipb 8oeWbDJ6GdAoShodFkRwMLTaPd4xenMSRSzBlkdrSKXbSx9ZOevTZakj5q8EJKJy GfRf4+p9rXC8cux0Uzo9ZjHsRkToOwuSD/r3+1QN/4iZmSSPBoIyFs4VboN610mC jIN6MX2KeVq5ICahlUhGJsiK4= Received: by mf135.sendgrid.net with SMTP id mf135.21721.53B2211AD 2014-07-01 02:47:22.642390104 +0000 UTC Received: from livebookserver (unknown [168.63.232.197]) by mi113.sendgrid.net (SG) with ESMTP id 146efd1c396.739a.f8ae for ; Mon, 30 Jun 2014 21:47:21 -0500 (CST) From: Gopalakrishna N M via 6degrees To: xfs@oss.sgi.com Message-ID: <1654986583.210941404182865818.JavaMail.root@smtp.sendgrid.net> Subject: Update Contact Information MIME-Version: 1.0 X-ASG-Orig-Subj: Update Contact Information Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 01 Jul 2014 02:47:22 +0000 (UTC) X-SG-EID: GPcH5AR4FNxUx3/k94obBuFzds479X57W1U837jaM3f/naHaHjZ5kd+v8kn+3x2NAZ3Y/JH6Tsi0IVRoVS8cr5Uv8iBOmgnU8yDIqkp0V2lzbeE1/OMhdh+5ENiV6Aw9qC/r6Sz0IPFGHJMPDCHamg== X-Barracuda-Connect: o1.shared.sendgrid.net[74.63.231.244] X-Barracuda-Start-Time: 1404182843 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED, HTML_IMAGE_ONLY_32, HTML_MESSAGE, MIME_HTML_ONLY X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.7124 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_IMAGE_ONLY_32 BODY: HTML: images with 2800-3200 bytes of words 0.00 MIME_HTML_ONLY BODY: Message only has text/html MIME parts 0.00 HTML_MESSAGE BODY: HTML included in message 6degrees Email Templates<= /title> </head> <body> <div id=3D"wrapper"> <table cellspacing=3D"0" ce= llpadding=3D"0" border=3D"0" width=3D"100%" style=3D"font-family: 'Helvetic= a Neue', Helvetica, Arial, sans-serif; color:#000000;"> <tr> <td bgcolor= =3D"F6F6F6"> <table width=3D"592" cellspacing=3D"0" cellpadding=3D"0" bo= rder=3D"0" align=3D"center"> <tr> <td style=3D"padding:20px 30px 4= 0px 30px;"> <table cellspacing=3D"0" cellpadding=3D"0" border=3D"0"> = <tr> <td width=3D"30" valign=3D"top" height=3D"96"> = <img src=3D"https://www.sixdegreez.co/images/logo.png" width=3D"30" height= =3D"41"> </td> <td width=3D"472" valign=3D"middle" height= =3D"96" style=3D"text-align:center;padding:24px 0 0;"> <img src=3D= "https://www.sixdegreez.co/UImage?userID=3D7523431" width=3D"80" height=3D"= 80"> </td> <td width=3D"30" height=3D"96">   = </td> </tr> <tr> <td colspan=3D"3" style=3D"p= adding:0 30px;text-align:center;"> <p style=3D"font-size:18px;line= -height:24px;">Hello ,</p> <p style=3D"font-size:18px;line-height:= 24px;"><strong>Gopalakrishna N M</strong> would like you to privately confi= rm that your below contact details are up-to-date.</p> <p style=3D= "font-size:18px;line-height:24px;">Here is what Gopalakrishna N M has about= you:</p> <p style=3D"font-size:16px;line-height:20px;">xfs@oss.sg= i.com</br></p> </td> </tr> <tr> <td = colspan=3D"3" style=3D"padding:20px;text-align:center;"> <a href= =3D"https://www.sixdegreez.co/verify.jsp?id=3D7525523&username=3Dgopalakris= hna.n.m@gmail.com" style=3D"background-color:#4CD764;color:#ffffff;font-siz= e:18px;line-height:24px;padding:12px 16px;border-radius:4px;text-decoration= :none;">Privately Edit or Confirm Info</a> </td> </tr> = <tr> <td colspan=3D"3" style=3D"text-align:center;"> <p = style=3D"font-size:12px;color:#9b9b9b;font-style:italic;">For your safety, = this link expires in 48 hours</p> </td> </tr> </table>= </td> </tr> </table> </td> </tr> <tr> <td bgcolor=3D"FFF= FFF"> <table width=3D"592" cellspacing=3D"0" cellpadding=3D"0" border=3D= "0" align=3D"center"> <tr> <td style=3D"padding:20px 30px 40px 30p= x;text-align:center;"> <p style=3D"font-size:16px;line-height:20px;">= 6degrees is the self-updating phonebook that cleans duplicates, integrates = your social networks and backs itself up. <a href=3D"#" style=3D"color:#569= 3F9;text-decoration:none;">Learn More</a></p> <p style=3D"font-size:1= 6px;line-height:20px;"><a href=3D"https://www.sixdegreez.co/unsubscribe.jsp= ?id=3Dxfs@oss.sgi.com" style=3D"color:#9b9b9b;text-decoration:none;">Unsubs= ribe from 6degrees verification emails</a></p> <p style=3D"font-size:= 16px;line-height:20px;">© 6degrees</p> </td> </tr> </table= > </td> </tr> </table> </div> </body></html> From simon@szrealan.com Mon Jun 30 23:22:04 2014 Return-Path: <simon@szrealan.com> X-Original-To: xfs@oss.sgi.com Delivered-To: xfs@oss.sgi.com Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 1EE4F7F66 for <xfs@oss.sgi.com>; Mon, 30 Jun 2014 23:22:04 -0500 (CDT) Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by relay2.corp.sgi.com (Postfix) with ESMTP id 2C13B304064 for <xfs@oss.sgi.com>; Mon, 30 Jun 2014 21:22:02 -0700 (PDT) X-ASG-Debug-ID: 1404188515-04bdf0566672d550001-NocioJ Received: from smtp.chinaemail.cn (smtp.chinaemail.cn [211.152.51.58]) by cuda.sgi.com with ESMTP id wplwa66Heqgp7hTw (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <xfs@oss.sgi.com>; Mon, 30 Jun 2014 21:21:56 -0700 (PDT) X-Barracuda-Envelope-From: simon@szrealan.com X-Barracuda-Apparent-Source-IP: 211.152.51.58 Received: from s3.chinaemail.cn (unknown [59.151.125.136]) by smtp.chinaemail.cn (Postfix) with ESMTP id 7706C970117 for <xfs@oss.sgi.com>; Tue, 1 Jul 2014 12:21:00 +0800 (CST) Received: from simonpc (unknown [183.14.18.155]) (Authenticated sender: simon@szrealan.com) by s3.chinaemail.cn (Bossmail) with ESMTP id 931B445A88A for <xfs@oss.sgi.com>; Tue, 1 Jul 2014 12:21:03 +0800 (CST) From: "simon" <simon@szrealan.com> To: xfs@oss.sgi.com Subject: Supply Original Intel Mainboard intel D2700MUD and intel D2700DC Date: Tue, 1 Jul 2014 12:21:04 +0800 X-ASG-Orig-Subj: Supply Original Intel Mainboard intel D2700MUD and intel D2700DC Message-Id: <DM__140630171238_76286751358@59.151.120.228> MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_14063017131968907748536_001" X-Priority: 3 X-Mailer: DreamMail 4.6.9.2 X-MID: 999783816.2300728794.9.1404188463.699684.20231 X-Rate: Yes X-Real-From: simon@szrealan.com X-Rcpt: ,xfs@oss.sgi.com, X-Mop-Send: ,eric@szrealan.com, X-Save-Smtp: simon@szrealan.com X-MD5: ef281eb213ee694a41d2f4a83ebe47a5 X-Barracuda-Connect: smtp.chinaemail.cn[211.152.51.58] X-Barracuda-Start-Time: 1404188516 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Barracuda-BRTS-Status: 1 X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 ------=_NextPart_14063017131968907748536_001 Content-Type: multipart/alternative; boundary="----=_NextPart_14063017131968907748536_002" ------=_NextPart_14063017131968907748536_002 Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 SGVsbG8go6wNCg0KeGZzDQoNCg0KSSBhbSB3cml0dGluZyB0byBhc2sgaWYgeW91IGFyZSBpbnRl cmVzdGVkIGluIGludGVsICBtb3RoZXJib2FyZHM6IEQyNzAwTVVEIGFuZCBEMjU1ME1VRC4NCg0K U2luY2Ugbm93IHdlIGNvb3BlcmF0ZSB3aXRoIEludGVsIGFuZCBnZXQgdGhlIGV4Y2x1c2l2ZSBz YWxlcyBmb3IgdGhlc2UgdHdvIG1vdGhlcmJvYXJkLiBCZXNpZGVzLCBpbnRlbCBtb3RoZXJib2Fy ZCBEMjcwMERDIGFuZCBEMjU1MERDIGFyZSBhbHNvIGF2YWlsYmxlIGZvciBzYWxlLg0KDQoNClRo ZWlyIHVuaXQgcHJpY2UgaXMgVVMkNTUuDQoNCklmIHlvdXIgb3JkZXIgaXMgbW9yZSB0aGFuIDUw MHBjcywgdGhlIHVuaXQgcHJpY2UgY2FuIGJlIFVTJDUxLg0KV2FycmFudHk6IDMgeWVhcnMNCiAN ClNpbmNlIEludGVsIGFscmVhZHkgc3RvcCBwcm9kdWN0aW9uIG9mIEQyNzAwTVVEIGFuZCBEMjU1 ME1VRCwgdGhlIGludmVudG9yeSBpcyBsaW1pdGVkLg0KTGltaXRlZCBpbnZlbnRvcnk6DQpEMjcw ME1VRDogOCwwMDAgcGNzDQpEMjU1ME1VRDogOTAwIHBjcw0KRDI3MDBEQzogODAwcGNzDQpEMjU1 MERDOiA4MDBwY3MNCiANCg0KDQogDQoNCiANCg0KDQogDQpMb29raW5nIGZvcndhcmQgdG8gaGVh cmluZyBmcm9tIHlvdSBzb29uLg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NClRoYW5rcyAgJiAgYmVzdCByZWdhcmRzLCAgDQpTaW1vbiBXdSANClNhbGVz IE1hbmFnZXIgDQpTaGVuemhlbiBSZWFsYW4gQ29tcHV0ZXIgUHJvZHVjdHMgQ28uLCBMdGQgDQpB ZGQ6IE5hbnNoYW4gRGlzdHJpY3QsU2hlbnpoZW4sIENoaW5hICANClRlbDogMDg2LTc1NS0yNjk5 NjE2MS04MDYgIA0KV2Vic2l0ZTogd3d3Lm1pbmljYXNlLm5ldCANCk1vYmlsZTogMDg2LTE4OTIg ODQwIDM2MTAgICAgICAgICAgICAgICAgICAgDQpFLW1haWw6IHNpbW9uQHN6cmVhbGFuLmNvbSAN ClNreXBlOiBzaW1vbnd1NTUNCg== ------=_NextPart_14063017131968907748536_002 Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: base64 PEhUTUw+PEhFQUQ+PFRJVExFPk1haWw8L1RJVExFPg0KPE1FVEEgbmFtZT1HRU5FUkFUT1IgDQpj b250ZW50PSJLc0RIVE1MRURMaWIub2N4LCBGcmVlV2FyZSBIVE1MIEVkaXRvciAxLjE2NC4yLCA/ S3VydCBTZW5mZXIiPg0KPE1FVEEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUdCMjMxMiIg aHR0cC1lcXVpdj1Db250ZW50LVR5cGU+PC9IRUFEPg0KPEJPRFkgc3R5bGU9IkZPTlQtRkFNSUxZ OiBBcmlhbDsgRk9OVC1TSVpFOiAxMnB0IiBsZWZ0TWFyZ2luPTUgdG9wTWFyZ2luPTUgDQojZmZm ZmZmPg0KPERJVj5IZWxsbyCjrDwvRElWPg0KPERJVj4NCjxESVY+eGZzPC9ESVY+DQo8RElWPg0K PERJVj48L0RJVj4NCjxESVY+SSBhbSB3cml0dGluZyB0byBhc2sgaWYgeW91IGFyZSBpbnRlcmVz dGVkIGluIGludGVsJm5ic3A7IG1vdGhlcmJvYXJkczogDQpEMjcwME1VRCBhbmQgRDI1NTBNVUQu PC9ESVY+DQo8RElWPjwvRElWPg0KPERJVj5TaW5jZSBub3cgd2UgY29vcGVyYXRlIHdpdGggSW50 ZWwgYW5kIGdldCB0aGUgZXhjbHVzaXZlIHNhbGVzIGZvciB0aGVzZSB0d28gDQptb3RoZXJib2Fy ZC4gQmVzaWRlcywgaW50ZWwgbW90aGVyYm9hcmQgRDI3MDBEQyBhbmQgRDI1NTBEQyBhcmUgYWxz byBhdmFpbGJsZSANCmZvciBzYWxlLjwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+PC9ESVY+DQo8 RElWPlRoZWlyIHVuaXQgcHJpY2UgaXMgPEZPTlQgY29sb3I9IzAwMDBmZj5VUyQ1NTwvRk9OVD4u PC9ESVY+DQo8RElWPjwvRElWPg0KPERJVj5JZiB5b3VyIG9yZGVyIGlzIG1vcmUgdGhhbiA1MDBw Y3MsIHRoZSB1bml0IHByaWNlIGNhbiBiZSA8Rk9OVCANCmNvbG9yPSMwMDAwZmY+VVMkNTE8L0ZP TlQ+LjwvRElWPg0KPERJVj5XYXJyYW50eTogMyB5ZWFyczwvRElWPg0KPERJVj4mbmJzcDs8L0RJ Vj4NCjxESVY+U2luY2UgSW50ZWwgYWxyZWFkeSBzdG9wIHByb2R1Y3Rpb24gb2YgRDI3MDBNVUQg YW5kIEQyNTUwTVVELCB0aGUgaW52ZW50b3J5IA0KaXMgbGltaXRlZC48L0RJVj4NCjxESVY+PFNU Uk9ORz48Rk9OVCBzdHlsZT0iQkFDS0dST1VORC1DT0xPUjogI2ZmZmZmZiIgY29sb3I9IzAwMDBm Zj5MaW1pdGVkIA0KaW52ZW50b3J5OjwvRk9OVD48L1NUUk9ORz48L0RJVj4NCjxESVY+RDI3MDBN VUQ6IDgsMDAwIHBjczwvRElWPg0KPERJVj5EMjU1ME1VRDogOTAwIHBjczwvRElWPg0KPERJVj5E MjcwMERDOiA4MDBwY3M8L0RJVj4NCjxESVY+RDI1NTBEQzogODAwcGNzPC9ESVY+DQo8RElWPiZu YnNwOzwvRElWPjwvRElWPjwvRElWPg0KPERJVj4NCjxESVY+PElNRyBib3JkZXI9MCBoc3BhY2U9 MCBhbHQ9IiIgYWxpZ249YmFzZWxpbmUgDQpzcmM9ImNpZDpBdHRyXzEzMTk2NjAxNDU0Ij48L0RJ Vj4NCjxESVY+Jm5ic3A7PC9ESVY+DQo8RElWPjxJTUcgYm9yZGVyPTAgaHNwYWNlPTAgYWx0PSIi IGFsaWduPWJhc2VsaW5lIA0Kc3JjPSJjaWQ6QXR0cl8xMzE5NjYxNDgxMCI+PC9ESVY+DQo8RElW PiZuYnNwOzwvRElWPg0KPERJVj48SU1HIGJvcmRlcj0wIGhzcGFjZT0wIGFsdD0iIiBhbGlnbj1i YXNlbGluZSBzcmM9ImNpZDpBdHRyXzEzMTk2NjI1NzY4Ij48L0RJVj4NCjxESVY+PElNRyBib3Jk ZXI9MCBoc3BhY2U9MCBhbHQ9IiIgYWxpZ249YmFzZWxpbmUgc3JjPSJjaWQ6QXR0cl8xMzE5NjYz MjIzMyI+PC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPjwvRElWPg0KPERJVj5Mb29raW5nIGZvcndh cmQgdG8gaGVhcmluZyBmcm9tIHlvdSBzb29uLjwvRElWPg0KPERJVj48L0RJVj4NCjxESVY+DQo8 RElWPjxGT05UIA0KZmFjZT1BcmlhbD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPEJSPlRoYW5rcyZuYnNwOyZuYnNwOyZhbXA7Jm5ic3A7Jm5ic3A7YmVzdCZuYnNw O3JlZ2FyZHMsJm5ic3A7IA0KPEJSPjxTVFJPTkc+U2ltb24mbmJzcDtXdTwvU1RST05HPiA8QlI+ U2FsZXMmbmJzcDtNYW5hZ2VyIA0KPEJSPjxTVFJPTkc+U2hlbnpoZW4mbmJzcDtSZWFsYW4mbmJz cDtDb21wdXRlciZuYnNwO1Byb2R1Y3RzJm5ic3A7Q28uLCZuYnNwO0x0ZDwvU1RST05HPiANCjxC Uj5BZGQ6Jm5ic3A7TmFuc2hhbiZuYnNwO0Rpc3RyaWN0LFNoZW56aGVuLCZuYnNwO0NoaW5hJm5i c3A7IA0KPEJSPlRlbDombmJzcDswODYtNzU1LTI2OTk2MTYxLTgwNiZuYnNwOyA8QlI+V2Vic2l0 ZTombmJzcDt3d3cubWluaWNhc2UubmV0IA0KPEJSPk1vYmlsZTombmJzcDswODYtMTg5MiZuYnNw Ozg0MCZuYnNwOzM2MTAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgDQo8QlI+RS1tYWlsOiZuYnNwO3NpbW9uQHN6cmVhbGFuLmNvbSANCjxCUj5Ta3lw ZTombmJzcDtzaW1vbnd1NTU8L0ZPTlQ+PC9ESVY+PC9ESVY+PC9CT0RZPjwvSFRNTD4NCg== ------=_NextPart_14063017131968907748536_002-- ------=_NextPart_14063017131968907748536_001 Content-Type: image/jpeg; name="=?GB2312?B?UVHNvMasMjAxNDA1MjgxMTA3MjMuanBn?=" Content-Transfer-Encoding: base64 Content-ID: <Attr_13196601454> /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAJwBAADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9EfvG koooIFVqFzmg0e1ADqbup1FADd1Oopq96AHbvenKxptFAAfl/ipfxpF60771ACL0NL+O2jvRQAUc +tFFACj5aNx9aX+GkC9KAEp38NA/jpaCwz/tUUfeWk20ALTT1NOpo96AHUnNLRQAUUUUAFFFFABR RRQAUUUUAFFFFADt1JzSj/vqloAT8aF6GhelLQA3+Kl3UtFACfjR+NLRQA3mk+8afTf4qAEpyrQq /LRtoATmkpx6Gjb60ANXPNO3UH+7ijbQA2ig96dtoAbRRRQAUUUUAJtox70tFABSc0i96XigBtFO 20hoASiiigAptOpOKAE/9BooooAb/DRj3p1N20ABzSUq96NtACUh6GlooATmm0ppKAE3Uh+8adRQ A2kP3TTttJQAU006jZ7UAMpD0p22koAac0lO20hzQAH60ynUjfxUAN2/WkK0oXbS0ANPTvUdSGg0 ARlTRT6QrQAwrtpp6Gn7d1BXcaAGbaTmpD3ptADPu0hytPPSmlaAGHoab/DUhXrQaAGGmlTT6Nu6 gCI96bt96lK0m3/gNAEJ6Uv3qlK/9802gCLb9KBnb/dqTbTaAIyvWjbTiu2l20AMK9abt+tTFfvU 0LuoAj2/Wk20/bRtoAj27qKcehpSp20AR7aCpp22g9TQAxe1HOaftpp6UFkZX5s0VJtpKAIytG33 qQ96D3oA65v4qSl3Ubf+A0GIK1G6hOtG2gB1FN3U6gApu2nUUAFFH0pdtAC/doo/hpNtAC0UUUAF KvWkpR8poASnfhRxSL1oAF706he1A6tQWFFFFABRRRQAUUUUAFFFO/8AQaAG/dooooAKPu0UUAH3 qcelHtRtoAbRTttH/oVABtpaQe9LQAm2loooAKKKKACiiigBNtA+alooAQe9LRRQAUg9qWigApD0 NLSbaAAfLQelA96bQAUUUUAFFJupfvLQAUU006gBq96ce9FFADR24pW/ipaT+KgA202n/eWmmgBK DiiigBp6minLmkK+lACUUUUAN20c06m8LQAe1JS/xUlABRRRQA00lPK0ygBD0o20tFABt/hptOpD 0oASjZ7UUUAN20lPpu2gBKbt+lPK03+GgBtI33TTz0ptADD0NLSmjbQA09DSbadRQA00lOPQ0m2g BpWm1IabtoAYVoNLs9qD3oAiK0VIVpqrzQAh6mm7flp5Xmm7fvZoAZt3UDq1Sd6SgCPbSVJxQaAI j0oK089DSbaAI9u6mlam20GgCLbRtp+2jbQBEF20h6VNtpuz2oAj20bakpNtAEe32ppXmpttG2gC Hb8tJUu3dSbaAIytN21Lt203bQWM200rUpXrRtoA6g0L16Ud9tC96DEOFo+9TqKACiiigAooo+Wg BytSbaRetOoAKKKB0+agAp38NNpfbdQWHvS/w0m3ml/ioAN1Iv3TQfmNOoICiiigsKKKKACiiigB P4qWiigBytQvQ0L0NJ/FQAp6ULmmj73NO/8AQaADbSfxU6igBNtLRRQAUUUUAFFFFABRRS7aAEop dvy/7VBoAF70lKvegfMaAEooo/8AQaACiiigAooooAKb/FTlX5etFACHpQelLSFeaADbTafSbqAG /dooooAKKKKACk/ipaKAEx70tJtpF70ABoOaUfxUhWgBKKU9TSUAFFFFACD5VpKU9KSgAooooAb9 6j7tOprdTQAGkoooAKKKKAEPQ02n0m360AIeppKdt+tIaAEptOpCtACUUUUAIfumlXG2iigCM9KW nnvTdvy0AJt+WmU7bS/eoAZSFetPK0h6mgBpX2o2807b9KNv0oAjPQ0hU08rupNvagBppKceho2/ WgBm2m7PapCtHNAEe3bSD5qfto20AMK0lO2e1BWgBm2mldtS7Pak20AMPU00r1p+3mg9KAGGg0pW grQAwLtop9FAEe2jbT9tG2gCMLuo521IV603b9aAGFaT+GpKP4aAGbaafpUm2koAiK0GpCvNG2gC Hb/s0u008rR96gs6H+KjbR/FTqDEKKKKABfmpdtJRQAU5Vo/2qKACiiigApB8y0tFADv4aRf/HqB 81LtoAOaOaWigsKKKKACihP4qF+9QAUUUUAFFFFADh8rUn8VJTj0oATml201e1PoATbuNA96WigB NtLRRQAUUUUAFFFFABRRRQAppKU0n3qAFLelHFH4Un3qAF20n3qB1/vU6gBCvpSf7NOptAAVNLtp D2ooAX8KSlXvSUAFFFFABRRRQAUh6UtFACbaNtB6UBvlagBtFFFABRRRQA0rTqT+KlPegBu75aDT uOKaepoAD1NJRRQAUUUf+hUAH97+Km0vNJQAUUUUAN206iigBpxRtoNH8NACUUu2lT7rUANopeKS gApvenUUAHy03bTqTb9aAE20gXbT6NvNAEY96Xb8tKeppKAG0U6mnvQA0fMaCtOooAZRTj900tAE ZWjbTttJQAm2m049KWgCM0baeVpNv0oAa33TSU/b9KSgBm360HFPpNtADD1NG35aU9DS0ARleaCt P2/Wk20ARnvRt3VJtpKAI9tG3bSlaNntQAzbxinGlooAZtoPSn7flpCpoAjK0Bd1SbaSgBlFSbab toAbSbafto70ARFeaNvNPpT1NAEW2k27akK9aP4aANr+KnU3+Knd6CAoop1ADacOny0h6Uv8NACL 0NKv/jtJtpaAClHy0lO20ANpVxS/xU2gB2Pej+KjbSD/AL5oAd96iiigsKKKduoAN3y0L0NNpeaA Epy9DQP++aF6GgBtOHvRtpaAGfepx6U37tO20AC9KB81LRQAm2gfNS0i9KAFoooGWoAKKKKACg/d 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 BRRRQAUUUUAf/9k= ------=_NextPart_14063017131968907748536_001 Content-Type: image/jpeg; name="=?GB2312?B?UVHNvMasMjAxNDA1MjgxMTA3MDgoMSkuanBn?=" Content-Transfer-Encoding: base64 Content-ID: <Attr_13196614810> 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 AIKnWlR50SYEhqShZweNaV1S4yqxHusQGBxwszzgiCRkYNbDbvAEbSQoAZkG5RAGdyyPtmCOMVuF doQ5ksTXGiC220wnaVpSpDUht8ICFLU2WkLbDbaFspdW0tbRWY59MtTdy/xmOwHtov6o6Rrr9962 6o0KQqFcNk9udjStUqhbFSXJDSqRcVciy41Ao1VMhtZVT3aw9IaW0lLqWFtJab3p8UnXq+dCOym+ avpFWWaFq/qrXNP+37Sa5ZCVLatq9NbLxptgw7yAbQouKs2mVWr3QwlIbQt+lx9jrZUhSoBV235p PZ9su1G3LdeXaVDcnrsy3bmrFbh0ai0imz5MONqLqKxb9YpL2qmvWqjzX9972ue+HZ7dqTK21ZFo UKk0eh0+VJzXn1FzVtpNGyWUs2xf1V827V1wXCm3btC8Hsqdo3Mbtt9+9QjIAzj1Xsn7I6/2q1B0 +isjUX2kIly8dPp7NpCA2o1NxUa4U3kpbS1Du1txzG6Y9C+OfojKkJVD7I/iOmBIKGHKsjtpcbji QlKCkLCa580NyQwr1o6XsoUglKitYX7dC+MrpbOr1xrrvbX35uWzIlUt61IlK7Nr6m1WmlbCI9Qh XC8mpSHJU/8AUWpFTjS4sODAbpT8CIwuZUUSg3Cg0/7pqXflOVHo9qaOVuPFkQ47xk6aUOpVRlCs M+lJqVXluvONJUAQ6+p5tT/Dy46FB1HkV3u5tu1aom3P0HRSHcVSqP8AiIl6Y20hyCWnMNLi/Kw4 kaAX0KS262lUrcxvJUkuF86D0/WHYX1l07iFQxo0Vy4DKT4enRWAmRuBhhgAia+jL9BvtGw3m77P Kj7FW4NbrSsPcGzbde2VJJEDbcO7cAATipzkj4wGgb63GWO3z4hLbSW1pWlPZHqc+ZbfqKT6Aw2Q na4SpaluMqdcT6WVFe3pE/F87d0sreldvvf/AB9qmmFuq7FdYl7XVENNzGUR4shLnrgek4yMLSpH orSEK/xYSFwdx390qK1XZ9kaFLZYW3vmVDS+l+iY/pFbkZJiTY6HUKceSWWUNrS8EhzCC2UBKz+7 SReVNfqlEtXQmtQGJgbk79N0OJYDjbxaiLhIq0ZCIKG2XGo6SkqSneBIWAoJgema3fsXVOzASVI0 YIjbMr9WYwexBTHfuLP+BftKG2+N0KYYqp1mrR3CbQzBX0oJCkgEyQS0STNTdYPxeu2Oa+tp3Rnv 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 ------=_NextPart_14063017131968907748536_001 Content-Type: image/jpeg; name="feature 01.jpg" Content-Transfer-Encoding: base64 Content-ID: <Attr_13196625768> /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAKCAu4DAREA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+3n9q T4ifHv4TfATx58Qf2Y/2bv8AhrL41aB/wi//AAhH7Pn/AAuHwV8DP+E//tTxr4d0XxL/AMXY8f2G peFPCf8AwifhTUdb8b/8Tezl/tz+wv8AhFtO8vVtTsZ1APyA/wCHiP8AwXs/6Vu//Owv7Fn/AMwd AB/w8R/4L2f9K3f/AJ2F/Ys/+YOgA/4eI/8ABez/AKVu/wDzsL+xZ/8AMHQAf8PEf+C9n/St3/52 F/Ys/wDmDoAP+HiP/Bez/pW7/wDOwv7Fn/zB0AH/AA8R/wCC9n/St3/52F/Ys/8AmDoAP+HiP/Be z/pW7/8AOwv7Fn/zB0AH/DxH/gvZ/wBK3f8A52F/Ys/+YOgA/wCHiP8AwXs/6Vu//Owv7Fn/AMwd AB/w8R/4L2f9K3f/AJ2F/Ys/+YOgA/4eI/8ABez/AKVu/wDzsL+xZ/8AMHQAf8PEf+C9n/St3/52 F/Ys/wDmDoAP+HiP/Bez/pW7/wDOwv7Fn/zB0AH/AA8R/wCC9n/St3/52F/Ys/8AmDoAP+HiP/Be z/pW7/8AOwv7Fn/zB0AH/DxH/gvZ/wBK3f8A52F/Ys/+YOgA/wCHiP8AwXs/6Vu//Owv7Fn/AMwd AB/w8R/4L2f9K3f/AJ2F/Ys/+YOgA/4eI/8ABez/AKVu/wDzsL+xZ/8AMHQAf8PEf+C9n/St3/52 F/Ys/wDmDoA8A+HX/Bbb/grj8Wfj3+0j+zH8Pv8Ag33/ALf+NX7Jn/Cnv+GhPBP/AA9d/Zh0v/hA P+F5+Cr/AMffCf8A4qTWvhBp3hXxZ/wlnhXTbzVv+KJ1zXv7D8r+zvFH9l6tJDZOAe//APDxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQAf8PEf+C9n/AErd/wDnYX9iz/5g6AD/AIeI/wDBez/pW7/87C/sWf8AzB0AH/DxH/gv Z/0rd/8AnYX9iz/5g6AD/h4j/wAF7P8ApW7/APOwv7Fn/wAwdAB/w8R/4L2f9K3f/nYX9iz/AOYO gA/4eI/8F7P+lbv/AM7C/sWf/MHQAf8ADxH/AIL2f9K3f/nYX9iz/wCYOgA/4eI/8F7P+lbv/wA7 C/sWf/MHQB9f/sUftV/8FNPjp8V/EPhH9sz/AIJK/wDDC3w0074f6r4i0H4u/wDDef7Pf7S//CR+ PrTxN4Q0zTPhv/wgPwt8M6Rr2j/2xoOr+JvE/wDwmN5cvoth/wAIv/YVzbtqGt6ZIoB+n9ABQBHK 4iillIyIo3cjoSFWQ4BycZ8v36jk4OefF4hYTCYrFuPOsNh62IcE+VzVGnUny81ny83s7Xs7XvZ2 s7pw9pUhTvbnnCCdr25pON9/R282r6Xf80/7G/8AwXl/a4/bu1yXVP2ef+CO/j/xd8FdG+PF38C/ Gvxsi/bM+Bmm2XhK/wBH1rQ7XxRr9x4G8UeEvDninV4/D2ha5ZeJZtM0mCf7fE50nTNSn1BZdnpc O4Web5bwVnOav+wcq4yynBZ3hMbVSx8cNluIxGIwdfETo4War1Y4PF4PF0KkHTpV6nsXWp0XSqUZ Tji1S4bzfjrIcuj/AG/m3BePzbK6mCotYCWY47APErCUKdbFc1DCvM1RpOnOdWrSw/t4qvUvTqH6 seJv+Crv/BNLwX+0Sv7KHiv9tr4A6F8e/wC37bwlN8OdR8fabDfWHjC7uI7S18HavrRc+G9F8XT3 ksVhF4V1XWbXxC2pTW+mjTTfzQ27cuSL/WSpKlkP/CpNVK1GnHCfvHiq+HqVKVehgHtmNelVpVKM 6OBdeqsRTrUHH29OrAeap5FRWIzj/hPpewp4qpPE+59WwlWlGvSxeNjdywGFnh3DFxxWMVHDvBTp 432v1Wca0uq+Jf8AwUl/4J/fBj4reJPgb8Wf2vvgX8PPi54UvPBOm678NvF/j/RdE8ZWupfEJNPk 8Eabb6Hf3MN5qmo+JINSsrzT7DS4ru8Onzf2jPBHYxz3AeWJ51XpYXKE8wxFbOqHDlLD4VOrXnnd d140svVKN5+1lLD1ISm17GFTkpVKkalSkpRmMo5RhZY3NGsDhI5HjuJJYrE/usOshy/ELC43M3Wl aH1ehX/cv3vaTqc0aUJuMmeVr/wWW/4JPHxpo3w7b/goF+zND4y1zxjqvw/s/D918T9DtLy28YaP dw2F/o2uNdXENv4ZYX8q6dZ33iObTdM1PUhPp2lXt1fQXMC44Cvh80w+ExeX16OJwmNyZcQYTGQq wjhK+UOGIqRxdPE1JRot1KeFrVqeGdT65UoqNanh5UqlKo+jMMPiMpq46hmNCtha2W5jPKsdQq0q nt8Nj6c/Z16NSjGMqnLhp+7i68YvDYR6YqtS3Pfv2Zv27P2Mv2zr74iab+yj+0t8J/jze/CvUrPS /iBbfDbxbYeIJPDs2ovfR6XeT/ZpCt7ouryabfx6P4j0xrvw9qstnex6bqtxJbzgddLDYmtleHzm GHrf2dia08NSxU6VSmliYU41Hh61OrGFbDVpUmqtOliYU6lWlzVaUZ04zk+WtWo4fMqmUVqtOGYU qLxEsNzxlKdCFSNKrVozjKVLERw9WdOli/YTqPC1atCnivZ1K1GMvz//AOClP/BXbx5+wl+1P+yj +yB8Hf2J/En7X3xf/av8NfEHX/AmgaB8c/BXwfNvN4BP2jU9La+8beFdV0SeSbSoL7VRdX2s6VDH HaNZxLcXk0CN42VY7EZxxTxHwxg8BOdThzhjI+KMXi/rFJRngs2xvFWEqRjRqKDi8CuGp1pyjUqT rLFU4U6KlSlOfo5jhsNlfDeVcR4zGRp0c04gxvDtGh7CpJwxeHXDFPDSlUg5t/XcTxJhcNCLpqFF wnVrVlTk2vTtF/4Kv/DX4L/AHwn8X/8AgqX4R8Pf8ExfFvjnxr4w8LeCvhL8VPjR4N+L2seKdM8K Wug3M/ibQvEHwp068sr+3mGsol5psVkbvSGSA6g4W8s93sY2plGFq5Ng8PnFLGZnmWUV80xmWww2 IpV8rdHOsflnsKs53p4iE6FDA49Yum1QjHMKeDk3icPiTz8FSzTFUs6xlTK6uHyzKsywOXUsylXo zoY2eNyuGPpSjGLU8PUlOjmOGhhql61RYCviYJ0Zwv8AUOmf8FBf2F9Y/Znn/bH0/wDax+Bsv7M1 pPJY3nxul+Ivh218BWesR3cdg3hu91S8voGs/FZvZYLGPwhcxR+KJb64tbKLSHuri3ifLNF/Yiy9 5p/sqzVQeUttVP7VU5YuF8s9j7T+0fZywOOjXWE9q8PLBZjHE+zlg8byVlj/ALZnj6eWJ4ueV8/9 qQhGUJZaoU8PUcsxjVUHgYOlisJVhUxPs4VKWKwdWnKdPEYeVT80f2s/+Djn/gmp+zp+zv4Q/aH+ Fnxg8HftU6N4p+M+j/BtvC/wn8b6Rp/ibRLq502fVdf8Uaxp/iO3tr2z0bwrp39nXt99osoWvbfV LKXTZpohPILw0PacRcF5Li5Ry/BcXZjicJ/rBiGnlmTYPAvL45nmeZODc40crlmmV/X8MrYvDxzD AVK1KNPEUJT1UI1Mm40zShOOIxPB+WZfjamU003jc1xmbYrGUMnyrAXXJLEZtSynPcVgazcsPXp5 Lm0KdSVTD1UvtPx7/wAFe/8Agl98LvhR8Lfjb4+/bf8AgR4f+G/xoTWpfhR4kk8Xpft48tPDuuXn hzxFqXhrRdJgvte1DSNA12xuNG1nW49L/sfTtTX7Fe38Vw0aNOKTwWaU8lxV6OZVcvy/No4WSfPD K80pTr5XmGIkk4YTCZnRhKrgK2KlShiowxH1eVR4fEqOWE5sbl9bM6EHLB4bF1cvr1tOWGZYenTq YrL4Xd8Ri8JCrQniaGHVSpQhXoTqxjCrSlL1Txb/AMFD/wBg7wF8Ovgv8XvGX7XHwI8O/C79oO+k 0z4K/ErU/iR4bh8BfES+hjD3dv4e8W/2g2iSHThuXVnub6CLSpo7iDVJLaeC5jV4yP8AZ+af2Njp QwuZPKMdn8MJXqU6c6uRZfhsLi8Xm9GcpqnXy6nhcZhMTDGUZzoV8PicLWw1SpTrUpzMHfMctrZv gIVMXl+HzLCZNiMRh6VWp7DN8bUx1LC5XWpRi61LH1auXY6n9TnTWIhUw2JhVpxnTmj3f4MfGz4Q ftGfDTw78Y/gR8RfC3xV+GHiz+1D4Y8feCtWt9a8L68uj61qOgapJpOq2rvb30Nnq+lX+nyTQO8J uLaXy3dNrnfE4PF4KVCGMw1fCzxGCwGYUaeIpTo1J4LMsHQx2AxHs6kYzjDFYSvRxFNTSn7OpDmi pNmVHEYfESxMcPXpV/qmKxGCxEqNSFWFPFYapKlXo+0pylCTpzi05QlKD0cZOLUj1GuY2CgAoAKA CgAoAKAPwB/4J2/8p7P+DkX/ALw9f+sW+PKAP0C/bl/b+8F/sJaz+yxZ+Ofh94l8X6L+0f8AHPTP gzfeJdA1LSrKy+FWm3Wl3Wpan8TfFdvqOJdQ8K+GreAXWvpp7rd2Ol/a9Vcm2tJ6Mm/4WONMr4Nh +4rZpw/nedUcwqWlhoYvBcR8DcI5HksqUWqssXxVxTx7w9kOW1I3p0sbjKTrxdJykqzCMsBwpnfF LTr0sjxOHhiMFTTWIq4KGQcW8T5zj6UmnDkyXh/g7Oc0rUH+9xMaMcNh2q0kyP45/wDBQPwV8E/2 4P2TP2Hz8PvEnjDxd+0zbeML2/8AGmkappNn4a+EdlpHgz4ieK/BkvjC2vCb2/m+Jv8Awqv4g6f4 attP2NEfC+t313Ibe32thllb+1Mx4swFKKpLhThinxDicVWqU6dDGV6rzOosnw0pyio4rD4TLvru Pr1JKhgcPjsoliGvrtBynNOXKslyrOKsva/2vncMpweDpJus8NTzXhTJ8wzScrtRw+CxvGOQ0oUk nVxksRilh23hMQy94R/4KM/ssx/BL4WfF74+fGn4Efs53PxS8K+IvGGheFPGn7RvwW1+K70Tw34w Twdql54Y8aeGPF134X8f21tq13o9nc3Pg6+1OO11bV7DQJ9us77U616uEofUqbxdJ4jEcOcFcRYn CtShWwVLjHhyefYCm4zSlicJyYLOKeDzihGWV5tg8ozDO8sxFXKIPFGv1fEPE5zRVCo6GWcVcY8L UsW48tPGVuE+IsXkeIrThJqeX4quqWExOKyXG+zzXKMRjqOT5rh6WawqUD0mz/a1+G3iv4gfsweH vhTrvw9+K/gL9pzw18V/FPg74seDvjT8KrvRbjSfhto+gan9r8GeHR4ll8QfFux1h9Ye01HU/h1a 6xY+DDai68ZTWFreWMknZTwWLWa5zlWMw9bBVsp4Vp8UNVKVSpVr0a/EHDOT4WnLDUoyrYTBYqhx DSzLD57iYxyerGGEy+lip4/Mssp1eKeKwzyrBZphq9PE08VxZheFJRjNU6dDEVcg41zfE1JYmrKN GpjsFW4Sll9XIISecy+s4vMI4X6jk+d1ael+2V+0von7Gn7Kfx5/ao8SeFtU8aaH8DPh9rfxB1Tw pol9Z6dq+vWejIjS6dp9/fo9paXM4ceXNcI0SnO4HrXjY3HQwNTJac6cp/2xxVwZwrTcWl7HEcX8 XZNwrhsZO/xUcFXzani69OPv1KNOpTptVJRZ7OV5dPNK+KoU6saTwuUcQZvKU4ykp08iyHNM7rUU lqp4illsqFOT92FSrGU04xk388/tlftv/GH9k/w74O+IOifsof8AC3Phn4x8T/Aj4f2Xiq1+O3hb wVrFt8Qvjt8S/Dvwx8J6FceFNW8H6rOdLsfEHivw/Jq3iFNSMMWnXN7cxWEj2TQzd3JiY8U4XhWp RjHF5rxFi+HMkrqqpUcfXweQZnndfE4hcqlgKap5NmlCEJ+1nKpRw8+ZQxC5fEwuNw2L4Rq8XwlN YTBcKT4uzbDSp/v8FgIRo1JUKMuflxtf2OIoVFyezi5VJU73pym+y1z9snxH8Idf/Zy0f9qT4IP8 DtK/aA8UeKvhwvju1+J3h3x78Pvhx8VrWM3/AMM/BHjzxLa6N4cj05PjRpdlrkHgzxGLcaRD400+ x8Aao0eua94akuhVsB9fxOX1cdSwtSnwvmHEuEr4yLw+Fx8sh+uY3inJ6GInL2dPMck4dw74spwr ShDMchwfE1fDOFXJK0K+844uGXVszjg6lehhc+yzKMZDDSdfEYTL85jQweVcQVaEIOo8uq8RVsPw 1jVBSq4DHZhkWLrOeX43FYjDem/smftNaZ+138NNY+M/g/wTr3hr4Wah458WaD8HPFviC6tfM+M3 w88N6gNGsvjR4e0iGMXGjeBfHOqWuqXPw/fU5X1DxF4Qg0nxqkFvpetaXC26w2Jp5ZkeMx9Cpl+O zjK6Oc1MmxMKkMwynA5hWxFXJKWbU6kKbwmaZjkywGdYrK3GVfKYZjQyvMZxzfD5hhaanVpf2rne XYarTxmHyTHf2RVzTD1ITwWMzfCUo08+w+Xzg5xxWFyTNY4nI6mYQn7DG5jgcwqYJVMvhhMdXx/E f7Tepy/tf+D/ANkb4X+AofGutab8P4/jL+0T411LxFNoPh34KfC3XdQ8ReGPhlbwRW+ha1N4x+JX xY8W+HddTwr4ND6Np1n4N8J+O/FniDxNZS2/hTRtXwyprM6vEdVtUMp4ajg8vxeYXU6mL4szTCvM cv4by/DXiqssDk6p57xNj6tanTybAZhwxSp4fG4vPKEKN5i/7PwuSrWtmef4nFzy7Ar3KdLIcnr4 Kjn3EGYYj3pYfDwr47C5TkWFhSqVs5zieYqnOhgMlzvF09r9n/8Aae8O/tKeK/jlbfDnwrrs/wAM /g74/uvhRYfGa8uNNTwf8VPiL4aa5s/ijpvw1tYbibUtW8P/AAu8QRf8ITrvjC5jttG1PxzZ+J9A 8Om/j0DUdQZ4H/bchy7iDSjhs7q4utkVCo28TmPD1CcMNhOKOSK5cNlee4unjf8AV9VJvE5nlOGo 8RU6UMlzLJMXiXjP9jzrF5H/ABsTleDwM86nD+Dleb46DxdPh6rJu9XNcHlk8DmGb06a9lllTMMN lGIqSznD5zgsL3/xp8b/ABS8AeEbfW/hJ8D9V+PPiSTWLSwm8F6R498CfD+6ttKmtr6W515td8fa lpmjSxWU1va2zafFcHUJ2vUmgiaGC5IwqVK0a+Hpww8qlKp7X22IVWnGOH5IJ0+anKSqVfbSvBez T5H707RZtTp0p0sROpiFSqUqcJUKTp1JvFTlXp0504zjFxounSlOu5VWoyjB04t1ZRieCfsVftha n+2Bp/x8m1T4G+KfgtqPwD+OPiH4A+IbTxB4w8D+NtL8QeNvCWg+HNU8Xv4W8SeB9T1LStTsfC+o +IF8K6xMku2DxVpuu6QrNcadd47qFOlieHsi4hoV+bDZ/PP3gKM6NWlWngsi4hzLhmpmcedcs8Fj 81yfNqeXVU74nDYNY6mng8ThK8+KtUrYbPs2yGvh3CtlOB4cxeJrwrUatFVuIsop59hcvkqdSU6W Nw2TYzJ8xxVKok6dLNcJSb9vTxMV1eq/tc/DLwZ8VPj74H+K2v8Aw9+Fng74FeH/AICaxq3xP8Yf Gj4W2dhd33xy1jxZoHh7SPEPhF/Ecfij4ag65oOnaN4b1bx1ZaZpfxA1PWhaeBrjUJtJ1lU4sLiM PWy/F42tXo4aVDjPG8G4ejOrCcMXicLwjwjxRGssXCTw+HxlWlxHVoSyKvOOcYfCYGlnlfDRyjNc oxNTrxVGph8RgqMIVK0MRwtiuKsRVVOdN4TBYPO89yrFt0akVVxODw1LJpY2tm+GjPLacqtbLp4h Y/B46lDQ+H37bP7GfxZ8MfE3xt8Mf2rv2e/HfhD4N2q6h8W/FnhX4y/DzWfDXw20p7K61GDW/HOu WPiOfTvDGhXlhZXeoWGvavc22jX1hbXd7Y389tBPKumInHCZbDOMU/q2WVMT9Shj696WFeO9ph6a wPtqijFY2c8VhVTwUmsVUWJwcoUpRxGHlNUqdSvmX9j0ISrZo6LxEcuop1MZLDxlUhOvDDwcqlSj TqUatKtVhGVOlXpV6FWcK1KtBfP/AMV/+CpX7IfgL4efD/4r+B/jD8Jfi98PfEf7Svwu/Zu8f+NP CXxh8DReGfgzqXxEt9T1A+LviVrEl7d2fhvTfD2iWEfiO6sddl0lr3w9eWut21+mkyQ30mlOKWac PYLHSWW4LiCnxxKhnGM/c4GjX4K4E4r4xx+DnOq6cZYypLhr+xKuFdSOJwOYY/DLFUfaQeHkqcfr GXcS4vAt4/GcO4LhTHSynBxdfG47DcVcecKcFZfXw0KTnKWGnU4jeZYbF04VcNjaGAxdDC1JTcq0 fof4e/tn/sefFv4WeMvjf8MP2pvgF46+EPw9vLzT/iB8UfDHxf8AAOreAPA99YJDLd2vjLxXaeIJ dH8LzRQXFtdBNavLRpLO5s72LzLS5tp3MVTqYHCYLHYynUwuEzGpCjl+IxEJ0qeNxM8RSwkMJhZT ivb4x4qrSwn1KnzYtYupSwrorETjCWeHlHGYzFZfhJRxONwVJYjF4XDyVWvh8K6NfERxdWnTcpRw c6GGxGIhjH/s06FHEVo1pUqVWat237X37J158LNX+Ntt+0l8FZfhRoOuW/hfXPiIvxN8Hjwlo3iy 7lsoLLwjqurtrK22n+LL+fUNPgsPC128fiC9uL/Tbez02aa8s1kmvfCrL3XUqf8Aa1SpRypOMnLM 61KWLjXoZdGKcsbXw88DjYYmhhlUrYephMdTxFOFTDYqMaoWxU8dTw8o1ZZbSjiMx5Zx5cDhZxpz p4vGTcuTDYStTqUq1DF1pQw1ahVoV6NadGrSqP0f4X/F34UfG7wsPG/wc+JPgn4n+E/7Rv8ARpPE fgPxRovijSLbXNKlEGr6FfXujXt7FYa5o85Fvq+i3rQ6rpl0fs2o2kFxlK2qYetRp4erUpyjRxdF 4jB17XoYvDKvWw31nCV4uVLFYf2+Hr0Pb0Jzpe2pVqXP7SnURlTr0atTEUYVIuthKkKWKoO8a+Fq 1KFHE06WJoStVw9Sphq9DE04VYxnPDVqGIinRqU5y+O/CX/BTD9lW8+Mfx8+CHxV+Kvws+Bfjb4O /tB2v7P+g6L8TPi74H0LW/ijqd98NfhR4607xN4Z0PV7/SL6007U7/4n2XgzTreVbpb3xNZrp9pf y6lqNjplc2RT/wBYcsyjGZenXx2bZhxhgKeTUP8AaMfSnwtx5xbwVCTp0rzqTzmpwnjczwGHjSVa eH+sUaUa7wWLrrbNovJsfj8NjE6WBwGTcOZxUzesnRwMqWd5Hhc5xFP2lT3Ixyaji8NDMcQ6jpUY 18PXxDoU6tPm+tovjh8FptN+LesR/Ff4ftpfwIvtW0z426j/AMJfoIsvhLqGieF7DxlrFn8SLhtQ EfgyfTPCmp6f4ovY9fayaDw7eWetSAadPFctlUxeFo5XHOquJo08plVzDDxzOdWEcBLEZXmNfKsz oLFOSpOvl+ZYetgMZR5/a4fGQnhq0Y1lyvajhcTiMzpZLh6FWtm1alldajllOnKePq0M4puplFan hYp1p0szppzwNWMXDExU3RlPlmdnp/irwxqvhWy8cab4g0i98IahoNv4psfFNvqNrJ4fuvDN1pya rbeIINVExs30ifTXTUI9RE32RrJluhMYTvrozb/hA/tP+275V/Y31z+11mCeFeW/UHWWOWNVbkeG eDeHrfWVV5XScJqpZps5ctqU84p4GrlM45lTzOOGnltTAtYmGPhi1B4SWDlRc1iY4pTg8O6Tkqqn T9m5c8W/DP2V/wBpHSv2svhjcfGnwf4J8TeGfhhrnijxBY/CHxN4qNlbXHxe+HekXa6fpXxk8PaL BNLe6N4F8eXMN7qPgA66bfWte8IjSPFz6bZ6brGmo3RLCYrD4HKq+YUKmX5hmOX0szr5LiYThmWT 4fGTq1crwuc05RisHm+Jyz6pmeOym88Rk0sZDKM1lSzrDZlgaUuvRnmOcYLC1aeMw2U46WVPNMNU jUwGPzLBxVHOYZbUjKSxeCyrMoYjKP7Sg/quYYvB4zE5ZKvlMsBmWI3/AI5/ET4y/DrSdBvfg5+z rrX7Qmo6hqFzbazo2jfEz4bfDqTw9YxWwlt9TnvviHq+lWepx3cwNstrp0kl1CwM0yLCc158qtWO Jp0/q7eGeHr1auN9rSjTo1aVTDxpUJUpT9rJ4inOvVVWKdKmsPUhVlGdSkn2Qp0ZYatVliIxrwrY enSwvsqspV6VSGKdeuqqi6VNYadGhB05yVSq8QpUk40azPL/ANhz9rU/tr/BPVfjPH8JfEvwjs9P +KnxX+Fdro3iTxH4T8Urr9z8J/Gup+APEXivw34h8IahqGj6x4WvfFWha9pmi6nbz7NRj0ybUbXf p1xZXUno+xoTybhXO8NilWw/FXDeXcU4SlKjXoYjDZZm9XF1MmliqVeEJRlmuU0sDn2EaupZXmeA nJqq6sVwupWpZzxLkmJw06GJ4Zzh5FjZucJ0qmYUcuy/F4+jSlBv38rxWLq5PmEHrQzbBY/CNuVG UiVP20vgz4b1/wDaDtPjT42+FfwP8K/A/wCMnhL4MReOvHXx2+EUWj+J/EHiv4SeC/idpy6vaw+K VvPhbrkkHiW9sLPwV8Q10nxVqelaQvjjTrCXwjq+i6jL5+GxOHr5Vl+Y1a9HD1MxzXjLLMPhZVac 41P9T6uPlmFehjac3hcTUhl2XYvNcfgqNSWMybD0MRRzalQr0akTsqYfExzLE5fRw9bExwmRcL53 ia9OnNTox4mzjFZJgKFXBuP1qnSq5lDAYHBZjOmsBmmPzChgctrVsTSrRN/wt+23+xl44+FXjX45 eD/2rP2f/EXwh+HOp/2J8QvihpPxg8A3fgTwRrRazSHSPF3iaPxA2l+HdSvTf6e2nWOq3VtdalHq GlS6dFcRX9g8nRiFLCYfL8ViYToUM1xP1LLKlWnOCzDHrELCyy7BRcebE5jHE2ws8voqeNhimsNO gq/uPChKGKxOMweGnCvicvwyx2Oo0pwnLCZe6FXExzHE2k1Ry6WGoVsTHMJtYKWGpV8RHEOjSqzP Afid/wAFS/2QPh7F+zd4r074y/CHxd8G/jt8YPiN8Hde+O9j8ZPAmnfDL4O678Ofgz8Rfivr0nxB 8QXl++maZf26+BU8M33h3VtR0fV9M1TWtNmvYwVWzmxVWEM4wuV41xwVHH8FcRcZ5bmVacXhczo5 FxRwVwvHLsuafLjsRmOY8Wxw+HlhalWUcbl+Lyz2M8c3TjpKMpZXmGPwiljMRlfEPDfD+Oy6hGTx WFef4bM8bHHYqNnLC4bB5fl/9pVJVoRp1cuxFHHwrRwbVd/Rnhv9sj9kTxj8FJf2j/Cv7TnwL8Qf AmDUm0S4+MWlfFbwRefDi319dQg0o+HbnxbDrr6RbeIjqdzbaWnh6a7TW31S5tNOSwa9uLeB98XC eAWXSxkZYdZtCnUyj2kZXzWFT6yqbytJN5g5vB4qKjhPay9ph8VT5faUK8VGGccZUx9LCyjXnlbq LNIwlFvLVSp0qtSeYNytgqUKNahiJVcS6dJYatQxPO6FWnUc99+17+yhpnww0X40X37SHwXg+Fvi LXpPCfh3x+fiV4Rfwvr/AIvhmvre48HaHqcWrvDq/i61n0zUYLvwpp5n8RWtxYalBdabHNZ3qpOI tha2Cw+IapVsxoTxeXU5SXNj8FThKpVx+Cs2sVgKVKMq9bHUHPB0cPGeIq140IyqIoNYmnjqtD36 eWTp0syn8McvrVXQjRoY9zt9Tr154jDQoUMRyVq1XEYWlShKrXoxl6v8PfiP8O/i54P0j4g/Cnx3 4Q+JHgfXkuX0Pxn4E8S6N4r8K6stneXGn3v9m69oV9qGm3jWV/aXNhepBdO9pf29zZXKx3UM0S7V sPXw7pqtSnT9tQw+KoOcWo18JiqMa+ExdCb92vhcXQlDEYXE0nKjiKE6dejUnSnCTzpVqVb2qpVI zlQr1cNiIJ/vMPiqE3TxGFxFNvnoYnD1IunXw9VRrUaidOrCM00/kT4I/tfeO/i58S/20dO1H4K6 L4e+D/7I/wAUfFnwfl8aeGviH47+JHxm+IvjHwl8Ovhp8SNQk0f9n/w58AYFt9LvdE8fCy0W28P/ ABM8W+M9W8QafFpGn+C5n1K3nTgweJjV4LwXFuLpYiE80xnF1HK8qy6hUzOtWwfCXiNx14e4ytia qjhKlDG4zHcHLH4PBYfC4vDrCZgo4vM6E8JUnV7sThZw4p/1ZwtXDzlRwHCeLxmPx+Io5ZhqNXir hjJuIsJThKrUrUHh8JTzVYbG43F4nBwg6LxEaMqc5Rjb/ZW/bbtv2so/2nrXw78AfjH8LfFH7N3x BsfhzqHgD4zQeCvC3jjxVqus/CLwT8WfDF6ml6R4v8T2ng628SaH440RLbTvFuo2HiTRnnMfjHQt D1eDUtFg6ZwxH+rNDiHDU6OMqYjH8UZXTyvDY3C1ascy4ZxsMBi8HVzCnUnlsqlTFSdD22ExeJwE JwqSp42tRSrPkp1sLLiP+watWrh6CyjhvPJZtWwWMpUJZbxBj8/wVPEU8BXpUc0UcK8hxNadPE4P D4qtCdL2WHtKM5eZ+C/2/fiXP+1f8Pv2UvjV+xz41+CWv+O/hJ8Vfjc3jC7+M/wT+IPh3wl8OPhZ deGdK1jxD4xtvA3iTUNQ0Sy1jxB4r0bw94fmni/4mGoPqbwq1rpWrTJFLFZZ9R44zDG5lSy/DcCc O5VxJndfE0q/1aGGzjM8wwWX4VYiEJUoYzEYXJOIs3hRnK/9nZHmlV2kqHPWJpY2jLhmNDA1sY+K eIsTw1lcKDi61XF4LKK2a43ERoyanPC4NSyvBYipG/s8dnWTYezniFfnvh1/wVN8L+OP+FAeP9b/ AGbfjb8PP2Zf2qfiBpHwy/Z1/ab8VXXwxk8L+M/Eni2XUYfhVqniv4faN491L4jfDTwd8cpNO8r4 SeJfEvh/dqlxqPhq08Z6X4Ru9e0KCfuwWBxlbMcBkOY0JZNxFmuSY/PstyPGyhUr1aOW8PYnirH5 JicVhZ18JguKsJwzgsfn+IyKpVlGnhcvzXL1mE8/wdbKDHHV6OGwud5lgqkc3ynhvOKWS55mmBUv YYerPiKhwnVzXCU66pVsw4fwvEmJwuS4jNsPD+LiKObYfC1+GXPPl+gvxV+M/wAHvgR4Zg8afG34 peAfhL4RudYsPD8Piv4keL9A8GeGn1zUo7uXT9KOueItQ07TkvbyKxu5YIJLlXeK3uZACkUrDzp4 jD0q2HoVK9KnWxX1z6tSnUhCpiPqGXY3Ncb7GEpKVV4XLcuxuPrqCk6eEw2IrztTpzkdtLDYmvTx FWhQrVqeFWEliZ0qVSpGhHG5lgcowbquEZcixWZ5jgMvw7l/FxuLwmGhzVq1OMvnSH/gpP8A8E67 jSfC+vQft0fspS6P4x8UXvgjwxqaftA/CtrPVvGGnXGlWmo+GoJh4rKx6xYXWt6Ha3tjcmKe1u9a 8P21wiXGraRHcddChXxWMwGX4ajVr43M6FPEZdhKVOc8RjaVTEYjCUnhaMYudadXF4TFYKlRgnWq Y/DYzAwpyxmHxNCHJUq0aOGx+Lq1acMLlkoxzDESnFUcJzUHiozr1HLlhRlhI/XlXb9g8vazD2rw TWIfn/7TH/BQnRf2abT9qHUdU+Glv4usv2cNN/ZTv7iLQ/i58On8ReKj+0r8Trr4dWaXvgixu9Y8 Y/Dq08JTww6taax410Gy0rx7bPf2/gq7um0nW7iGMng83x2Q4BfuKmeeL+SeEtOdniKWGxGc5fwH jKedYitQ5qNKph58Zezr8O16tHOYYbBUM1q06eWZvk2Jq649RwOCzLHKSrUsu8LONfFBr+DLE4bh DCcZYutlWGjVaniI5hT4UlClneGhWyujicZLBTnUx2Ax+HHS/wDBQfR/+E++PPgO1+GcC3PwN/bN /Z3/AGPdT1LxD8W/h14JsvEd/wDHTwF8HvHMHjnQpfG13oFvf3Xhuz+Klvp9l8MtIu9V8eeN9T0q TT/Btld6pf2mniMkazqhwriI/uIcS8S+KfDkY/x8RhKnhvk3F+Z1sVTwdJvF5nHOJ8L+wdDA0alX J8Hiq+eZnJZNlma4yEZjJZfVz+i06ssk4J4I40lKzpUa9Hi/iapw/TwNXEzX1bLnl/spYqWOx1an hsZWlQyrD2zHE4OlV9evP2+/2EtO8fj4Val+2V+zNpnxH/tzxJ4XbwHqfx0+GWn+LY/E3hPUdX0r xL4dm0G98UQahBrmjahoOuWV5pM0Cagtxo2vxpbOdK1bycsPiMPi8LVxuFr0cRg6OXYrN62KpVYT w9PKsDSrV8dmE60ZOnHCYDD0KmKx1dy9nhMJF4vFSp4Zqs9q1Gth66wtelVpYiWMy/L44epTnGtL HZpSwdXK8LGk487rZlHH4FYGCTeKqYvB0aHtK1ehCfWfDn9r79kz4wfD3xv8WfhZ+0v8DfH3w0+G st9B8RviD4V+K3gfWPBvgF9PsV1O8PjbxFZ69LpnhWKHS3j1fz9curOCTRprfV4ZX0yeC7bfEp4L A4fM8YnhMvxdSVHDY3Ep0MNWxEMRTwlTCwrVeWDxdLFVaWFrYS/1qliqlPDVaMa8owlnh/8Aa8wr ZVhP9qzHDwpVK2Aw37/Fxo1oVqlDEewpOdSWHr08PXnQxMFKhWhRrypVZxpVZLyT4wf8FHP2PvhH +yr8a/2v7f4zeBvif8LPgbpGo3ni5/hd448DeIdXn1610xdT07wJYrceKNN0y28a+Jbaayfw1oeu appcmqx6hpt3BL9gu7a7fmx2IWW/2C8XTq0ocRZ/lPDuWVJQcadTG5jmuHyzEzcpuP7vIo1auYZ/ Thz4vLsDg8xlWwzxGHlQl05bh1mmIx2Gw1fDupl2W181xjdRSjRwNOjiZ4fETdNTtQzKph1hctxV vquMxNWlCjXlDnqHousftsfsf+GPBnw78f8AjD9pn4I+DvC3xU0abxD8PtZ8VfFLwRolj4p0KzeG LVtZ0W5v9dhg1DRtBnngt9f1y1kl0bR55oE1PUIPNhZ/QxWGnhM2qZJUcJZjThhayw0W/azwuPk4 5Zi405KM44bNX7OOV1akYxx1arRw2FdTE1IUn5mW4qOaZPh87oUq0cFXk6LnUhrSxtONSWLy6q4S qQ+v4BUa317C051KmGjRxNWqlh6Nasr3xB/bI/ZE+EvjXw58N/ih+058DPAPj7xdY+FtV8KeB/Fv xV8E6H4u8S6R4y1HWNK8J6xoHh7Udct9U1fSfEF/oOs22m6rY2s+nzvpmqMLry7O6kGeFpVcbmVX J8JTnic1o42OW18toxlPH0cwnDDyp4KvhYp1qOJqfWsJClRqQjUqV8XgcNCMsRisLTnpWxGHw2Vw zuvXpUsoqYTEY+lmlSpCOX1cFhYU6mJxVHFuXsK1HD0qka9apTnKNPD8+Im1QhUqLQ8PftZ/sseL fijdfBPwv+0X8GPEHxYtNU1zQpfhvpHxM8HX/jN/EHhqGa48U+HrXQbbWZL6+1/wpBbyz+KtCsoZ 9X8OQKZtes7KMhzngbZnh54vLmsbhqeHnjJV8K/b0/qNLFU8FVx8ZU3JTwFLG1KeBqY+Dlg6ePnD AzrrFyVI2xf+wVY0cd/slWVXDUFTxP7maxGLw8sVg8NONTldPFYzCQljMJhZ2xGJwSeMoU6mFTqv gf2ov2zfhl+yR4z/AGZ9B+LFxovh3wp+0F8SPGnw9vPiX4q8Z6D4N8HfDRfCPwY+I3xZk8Q+J9R1 8w2U1jqUfgM+G7aBr+xddS1axnFxKU+yScuHxmHq57PJK1SGGkuEOIOK6eJqSTVeWS8TcBcN08no UU1Uq43NMTxvhp4RU3Kcp4WeFp4etWr02tq2Hr08lrZvRpVMT7DPuH8kqYalCTnGnnNDPcRVzKpU SlGlhcsoZHWr4tzSgqE5ValalSo1Kj9C8G/tW/sv/EXTfhxrHgH9oX4PeMNM+LnifxB4I+F1/wCG /iP4S1e18eeOPC2k6rrfinwT4VlsdXnXWPF/hrSdE1fUdf8AC1oZNf0iz03VJtS0+BLO8ZfQeHrr EYfCeym8RisnxXEGEoxi5VMXkGCxGEwmNzrCRjf6zleExONwlDE4+h7TC0K2Io06taM5q/I61FUM XiZVYRoYDMsDk+OqykowwebZlGUsty3FSk19XxmYwjz4HDVeWri4Spzw8akKlNv03QviJ4A8UeK/ HPgXw1408M694w+GlxoFp8RPC2ka3p2oa/4Iu/E+jJr/AIatfFmlWtzLd6Bc69ojxazpNvqcVvNf aVLDqFsklpLHM2VJOvhXjqP73Bxx+Myp4qn7+HWZ5fQwGIx+X+2i3D65gqGY4CtisPze2oU8ZhJ1 YRVam5a1LUa9PC1WqeIq4DD5rToTfLWnlmKxuZZfhcwjTb53g8TjcozPCUMQl7KricDjqMJyqYeu l8ifF79u7w58Iv2pvgF+y9ffAv48avN8cviRD8LLT42f8IbY+HPgV4d8YXfwn+IHxZ07RLfxZ4r1 vRtW+I2p3fhzwBq32t/hf4d8U+GvDt+JNH8ZeKdF8SRxaDNOTP8AtnN8VlNNfU54fKOI82pVca1S lmFLhvC5ficyjl+Ei54udGmsxwlJZjiaOGy6tXqOll+Jxk6GO9ms3ccnyaGb1GsXGWM4bws8Pg71 ZYSHEXFFLhjB18fibRwmFqLGTdZ5Z7epm7wfs8ZUwFPA18LjJ89+2x+2z8Vv2MPBvxU+Lt1+yB4s +KHwP+EngOfx74q+KWhfGn4LeFi9tY2U1xqOi6V4J8WeIbLxTqWtLcpBpWlWVtZPLr2rXljYaQs1 xMq1wSx06VWFKvg8RGpi89yTh7J6VBRxWIzjMc/zDKsoyijhMPQc6sauNzjM6WW06NVKoqieImlh pKoenh8u+uSoU8JiqM5/2fmGY5hKsp4bD5Vhcsp5jjMwr4zEVkqf1bB5XgJ5risVTcqVHCynGTdW jVQzxh+3p4hs/H/hz4K/Cb9k74w/Gv45L8BPBf7Rfxb+Gnh3xP8ACLwlD8EfBPji41bTfCnhjxn4 0+IPjzw14e1P4l+Ldb8N+LNH8JeDvDs1/Dfv4Z13WPEGu+H/AA6NO1e49TMY08FmPGtLCzeb5NwN m6yPNc9yxQrQzDNauHrY/D5fw/ltSrSxuaYx5NDD57i6coYfD4PLcxyWFTFzzLMsBl9TxMsxMMfl HCGPr/8ACXjuNMDXzLKMozCNaGJw2W4SOXQx+ZZ1WpUatLLcDhcZmWFyuM/3+MxWY/XqeEwNXD5b nGKo/Tv7NX7Q/wAOf2r/AIGeAP2gPhXJrS+D/Hun31xb6b4n0ptE8WeG9a0XWtT8NeLfBvi/RGuL r+xvFfgvxPour+F/E+mJdXUFnrmm38Fte3VskN3LvjsLHBPDVYYzCY7AZhlOTZ/lWa4KpOeX5pkG f5RhM8yTN8HUrU6NX6rmWVY3CY2lHEUqOJpQrOji6FHFU61FPD1qlWePw2JwmJy/MMpzXNcizfLc ZGksXl2c5LmWLyrNMDXdCtWoVJYfGYOpGniMNWrYTFUJUcXg8RWwlahXn5RZ/wDBRf8A4J8X+u3f hi0/bg/ZVk8Q2OjeJfEF7oh/aB+FMeqWmi+EIL668W6jdWU3i2OeCDwvZabe6l4g81Fk0jSrebVd RSHTVN2fOp4ihWwU8xo1YVsFDAZXmjxdGSq0HlucU8DUynHQqU3JVMNmMcxy1YWrTcoVamYZXSjJ 1cdgoVO+thcThsYsvxFCrQxrzHGZQsJWpypYhZpgcXjcDjMvlSqKMoYvD4vLsww06Ekqnt8DmVNR lPB43kbq37cnwL1j4W/Dn4wfAbx98KP2gvA3j34/fDL4AjxL4L+O3wl0rw5pHiDx1440zwfqg/4S DXvE1tpms+LPCUmoR3Z+FGlzy/EjxLdm38P+GtBudaurS3ftpYXEyzjhfLK1CrQpcTwz+tgca4Sq e0w2S8G8X8T/AFnA4OmpYnOKeIr8K1cpxH9mwrvK1Vx2cZn7LKsnzqvT45V6H9m8TY6lWp1avDWG wFfGYSMlG08bnmRZVCli8VJrD5VF0c5p5hh8TmE6WHxsFhcHg6lXFZhl0anhnhr/AIKbeGPEnjb4 feC4/hHrlrN47/4KIfHf/gnvBfv4r06SLTvEPwV+G/xR+IF98T5oF0ZWuNH8QwfDe40208NJJHfW M2pQXU+rTx20sT4ZN/wsQ4OlH9x/rbwF4j8d0ea0/qWH4A41zLhDEZdVacVWq5pWy946jiY8lPDU qsaFSnUnCVV1nUlk0uMYzvXfCWeeFGSVnH3FjZ+JvD3A2e4XEU7uXsYZPT4yo4fEU5c8sVPCVqlO dKNWEV6t4X/4KGfszW3wk8MfFT4+/F34Ifs5x+Ltd+NGleHtJ8bftEfBnWrHW7H4O/FbVPhlr2p6 D4v8O+Lbnw34guDdx6Bcax4f0i+utd8J634i0/wJ4ms7bxjb3mmDCnicLPA8P4qWIowr51wbwfxj UwftIylg8LxTkWX5tCnTrxbo5pgcHUxc8LRz/L5VcmzXD0J5xlmKq5VUp4k6q2Gr0swz3B+yqSpZ PxVm/CkcXKnKlHE43LauP5FWoVVGtleMxOFy7E4yWUZgqWZYOFKvRxdCNajVid54W/bv/Yd8deNf h78OfBH7YH7NvjDxv8VtIg174YeFPC/xv+Guva58QNHuYr+a0vfBljpXie8l8SJewaXqdzZRaULm e8tdO1a6tYpbew1CWLvp4TFVsXj8BSw1apjMsw8cVmGFhSnLEYXCywWEzFYmtSinONBZdjsBmU6t nCnl2Oy7H1JRweMwdepw1MTh6OEwuOrV6VHCYzEvB4bE1Zxp0auLWOr5b9WjObilXeY4XE5ZGlK0 5Znh8Vl0VLHUMRQXct+1B+zSnxcHwEf4/wDwgX4zG8XTB8KW+I/hAfED+2H0k67HoZ8LHWP7WGvS aEra/HoBtf7Zk8Pq+upYNpCPe1z4L/hRWJll/wDtscIsU8S8L+/VJYGfsse5Om5aZdU5aeYtXWAq VKMMa6U61FPfF/7AqMsd/skcQsM6DxP7lVI4yoqOBlF1OX3cfVvSwEn7uNqxq0sJKrUpVkvEfg1/ wUU/ZM+N3jD9rXwf4c+KvhLRZ/2OfG954O+MGs+KPGfgXTfD9pp+m+CvBnizWPiBbanH4qu00/wD os3i1vCeq+IPEy6J9i8X6B4p0y4tUgsYr2bnwOLw2P4VwXGNOtTp5Ljsfj8vp4itUhCNOrh89zTJ MuqVanNKgqfEbyupmPD/ACVp1MfltfCVowhWqSoLXE0K+F4kqcKyo1aubwyzBZnHDUac5zqwxFKV TF4WlSt7eWKyZqFPN6fseTCVK1BOpOM+Y9Ps/wBsv9kLUPhl4k+NFp+098C5PhT4O13RPC/jH4kN 8VvBEXgrwj4k8Rajo+l+HdC8V+IZtcj07w3qmv3uvaHDo1jrNxaXGpDV9FmsY5oNRsJZN8S1g6eC rYyUcLSzGtXw2Bq4mSoU8VicLSr1sZhaM6rhGWKwVPDYiWOw1/b4N0a8MXTp1KVWJjQaxVXFUMK/ rNXBYT6/iqWH/f1KOAaqyhj5QpOcvqVWNCrOhjI3w1eEJzoVZwi5PnH/AG+f2Go/BXhf4jP+13+z z/wg/jS+8Rad4Q8WL8X/AAI+h+Jrnwo1v/wlb6FfprrQ6pZeF4rq0vPEWp2jS6boum3djquq3lvp l1a3cjrL6tVoUcT/ALNUr4B5rThiWsO1lccZiMvnmFb23J9XwdPMMLiMtq4jEezpUs0pVssqzjj4 ToBRaxMcVLDNYmOCx9LKsS8P+/UM0r4Olj8PlsfZOftsdicDVp4/DYOjz4ivgJxxtGnPC3qviPiv +2J4k+Hnx3/Ys8G+GPh78NPiX8B/2yfG118O/CPxy8M/HfUJfEmkeIY/gl8XvjZY65p3w4sPgzrP g/xp8P8AWPDfwxjttM8WaZ8a7O+urzXYbiHwy+m2Qvbq8HRxM+Jsx4XzPDVssx2G4d4l4hwinSqT qTpcM1OHcPmGCzTDYiGCrZVjKmKz2FOhCnHHx9hQnWrypVqiwqyxmIw9PhpcS5fXpZjh6WccM5Ti oRqwhS/4yXPaeTYTFYDFUZYuGNhh254jEwqRwusY0KVSo5SqrrP2b/2p774w/FL9o/8AZ8+JXgGL 4WfHX9m7xRoI8SeFLLxHN4r8M+MvhB8RY9a1P4K/GvwF4muNB8NXOp+G/HWmaHreia5pl7otlqfh D4keFvHHg+7+36fYaN4m1GMstmXDmEzyDUMRh8yxnDHE2XNxdXI+L8swWWZji8CpqbeLynNcpzjK OIuGs1lChPH5NmVOhi8Hg87wGeZZh9swTy/PZ5TO1TDY3LKPEXDeYr3Y5vw/Xx2NyyrKtRd3gc4y TNMBicqz7LVUr06FT+zszwmMxGVZrlleX2DQAUAFABQAUAFABQAUAFABQAUAQ3CM9vcRqMs8MiKM gZYpMoGSQBksvJOOeTwTXFmNGpXy3MMPRjz1a2CxVGlDmjHmqVKNaEI80mox5pSiuaUlFXvJpJs1 oSjCtSnJ2jGrTlJ2btGM7t2V27LWy19WfyJf8ESv+DeH4V/Cbw34q+PP/BR79jKz0P8AbH8Gftje MPit8DPGM3x11XXLjSPAOj3fgrxL8LfEUOlfBX416t8Np2svFdtr2oxaX4q0yfXGlQxeIdMfTXsI G9nJHQ4e4G8NcLktaWWcUYPw/q5NxdUpxnXqYXO69fP8pq04yxKr4CrJcO18BSVXLZTwi5lONVZj HE1Q4zmuKOPvFLE4q2YcK53xZj8dw62nh44vKcViqmMnUcKf1fMKCrYmTqSp46NPEpT9nyKlHlf5 6+Of+CQP/BULT/2Wf2wv+CVOkfsIeFfiTcftJft/x/tKeEv+CmWo/Gj4MWXhHQvhnc+KPDGqt4n8 WeHtT1F/i/beNNLsNC1DTr7Q7DTJtYeHxT4vt9EsdVtVgu9W8LhbBTxeS/R6yXH1I8FVPBqbpZ/m GBjLExzaNDLuIcBHNchjhKsKtbFY3+1cFDB08Vy1Y4LIuHYZrHAVZVauB9TiTNKVDinxk4qy7Df6 wUfEvCqpk+TRlHD1MurVs7pZs8kzSeLp0cPRwWWOFWrCvQ58NLMsVjcRhFiKTjh637Rfs9f8EmvF z/8ABb39tb9qj9q/9mD4Y/GT9nnxD+zp+y74R/Z5+MXxd0v4G/E641X4tfDLwB8J/DnivxJ4f8F6 zqfijxz4A8Sw3fhXU3fxNqXhrQzctFu0zV7qGW2kk+kyXH0sNkvirj4YWGR8SZ/4uU+LeE44Oyx2 ByCu+OsZiP7OzXCJ/wBnUqGNxnDknhpYnDYmrXoYDExw8pYGU6XxePyuu8P4OZDPFSzvJ+F/CDM+ DuLniOb6jjc+WdZcsH9ey7FySzGWLyx5pUjiFRxOHo0MXjMHVxEKmJq0an41eKf+CDf7d+u/8Ew/ i/8ACKb9izwdqP7Tfij/AILEaj+0dosV149/Zfk8U6l+yld6I9m/iCX4h3PxJ/smLQ55rm7jk+Hd /wCJovFJM9xJJ4PKyySNw+H8MLklX6GtPNadLDYTw8wmT4XxZoulGvQwdKjmGPq42jmNChCtHiOn 9Xo5UpxyyOZwq06GEox51h1CP2HF+KhmucfSrx2ArTr/AOu+Ax//ABDLEfvKVXFZhU4owmOw9TAS rKnVyCq8FUzCrGtmH9n8iq4im6ka9aUJ/vR+xD/wT9+Nv7OP/Bcz/gpX+1HB8CfD3wv/AGSvjp8C vgB4S+DPiPwlrHwp07w94j8YeEvDXw5tfGFlbfDXwj4jbxR4YlstS0jWzNqHiDwjpFhqM63F3YXt 2LuKeXbhGu8u4C8QcmzSrOGZZx4oZZxBk+HqSniHXyKjS8RpYnFxr03Vo4eKr59gJvC4irSxcp4q UoYdqlipQ+a4gwkMVxL4X5ll1Cm8PkXhlxFkHEFenGnRlQzzF8Q8NV8DhakZ+zq4yU8tyq0cVh41 8LSo4ajh6mIhNUKT8l/4K6f8EmvG3/BR3/gqp/wTC8Z/ED9nmL4z/sPfC7wb8cPD/wC1RfTfFLQv A8Wi/wBvadf6j4Hs303TPiT4M+KusC78S2eiTif4e2d+LcoE1meHTWvkPz3CuV4ah4hcfZ3nuHUc rzHw54ZyzIMS6k5e24mynMvEHEOh7DCVJYim8NDO8vqKrjaUMvqvEKKq1J0a/s/c4kx2Kq8B8NZV klZvN8Hx3jMwzCgoU4+z4ex+J8O6GNq+1xUFhpqvl+VZ1B0qNSWOgqLdKnHEVcG5+d/8FB/+Ccv7 VP7Ott+wZ+z7/wAElvgJ8TdD/YT8C+IvjbeftC/DT9ln48fCz4cftPWWv/EGSw1DSLnwl8ff2rNW 8W694X8F67q6TTeL7fw3rjJc2sdxZ6zb2yR+E9Ts+mnWzXNOLatHiJ1cTw1huBaGRcMKhiaOAweG zb+1+JMwzDD8TLCUfr+YZRN4zK8VhaPJiF7RZtJc2NWAwlfL6tl2W8MZhVyKGFw/EWZcY4HPM+nj KOJxtXFYHDZbk2U0MXkdGtOWCw2aUcuwWNwVWq3RrQqVMkqYdSwK4iqH5WeA/wDghX/wU00T/gmf aeA9T/Zu0bU/ih8Ev+Cvd3+3Bo37IXxM+P8A8HfFOm/tI/AW08EeDdAt/DWqfFDRPEGpeAZde1WX T9S0+7Pj9fDE+pabL4l1K/0GxvL3SNHue7L8ZVyPGfRyz+rh4ZzU8PODuIuHOK8lwFCGXLL8bnPE 2W5zQzfK8PXr4nBXyuGUTWEwmDxGYywqzOKoTxfsMZha3PmWGjn3/Edcqp47FZLS4+p5RW4ez3F1 J47E16mCp8W4atgM0qYWrhMXKVeOd4LMa2Kqww1LE5nleAU54aE1mGH/AED/AOClX7J37ef/AAU1 /YC8eS+A/wDgkh4O/ZN+Nvgb9qX9nH4p+FfhVqnxj/Zkvvip+0P4I+Hnh/xdpXjK91jxl4Qn0vwl 4dk8PNr9ho/hfQ/GniP+0NR8OaZqVzp25p9G0CTTB1Xw5xd4Qca0nLOqPDXilm3FHEHDOGbw6hkk 8lyeFDN8VUxLeGxWbcR47L44LOMPh6eJxWGwWCyetiVivq6S2wsqePyLxS4TxVKGVLiTwtyrhfJs /lGNeMM7pcW1sxqZPhqVLlr0cryPLadbFZVi5uhg6uYZzj8NTWEhVxuJSfFr9nP/AIKE6D/wUW+D P/BVzQP+CTR+L3hXxn+xH40/Zb8VfsOz/HL9mSHx7+zV40bx34suNH8TRanfas3w11zw58RdEu4b vU5fBN1f6lpFh4v8caf4rtLS8gjtr/x3l1TLoeNPDkK0M7o+KWUZFXyfPZqVPA5Tiv8AVvhTLMdw dm9LE1Hio5fgcRkNXFV8ThKbyvEYmeH+q4mTp1JVVKazLBeGGOc55PifDriLHVsxy6KlPEZxhfZ8 Qey4oymtRnCi8xq1c9pUI0MYqeYewybLKvI4Vva4X5L+HX/BBn9urw9+yJ/wRr+B/wAVPgT4J+K1 r8Kv+CkHjL9pz9rj4P33jb4OeIPh18EvgJ8QNe8DNqXw+1LT/Gniu10L4qaXBpGgapd+KPC/gG18 X217qeq6xplja6xZyRahdfYYWWVUPEXwrrY+pSzfIuBvA7xL4KzTiTFYV1YZlxdnmZTz/h+qsBWo vMJ1aWNxMMJh8wlg1QwuLyynj5VsLQqYKZ5+OrYzG8GeNc8Bhf7Ezfj7xX4J4tyDh3CVVRqYLIcp 4czvIszi8ZRqRwFD2SeHVHD/AFqnWq5ZicHT+rrE08fhqf8Abt8O/hr8Nvg94N0b4dfCP4feCvhf 4C8PJdx+H/Avw78J6B4L8G6HHe311qV6mjeGPDWnaZo2lpe6heXeoXa2VlELi+ubq8m33M00r+TX xOJxUoTxWIr4idOhh8LTnXq1KsoYbC0KeGwuHhKpOThQw2HpU6GHoxfs6NCFOjSjGnCKe9KhQoKo qFGlRVWrUr1VSpwpqpWqPmqVqiglz1aj1qVJXnJ6ylJ6na1gahQAUAFABQAUAFAH4A/8E7f+U9n/ AAci/wDeHr/1i3x5QB9nft//ALIuvftd/ET9kXwxdeFW134RaPrP7Umh/HPV49Y0Cwn8KeDviz+x 78afhJomsWljqWqWmq6tey+KvGGj2divhuy1LUNMvJoNZvILXTLS81GPyJYHGVM14oxeFxksqxVf wd4ryPhnO4JVKuWeID8Yfo9ca8IYqhSg51YYjL/9Qs0z/D4upCOCo18np4eviqeNxOW4et6tDMYY HLsqSw1LMKmE8SeC89x2VYhP6tmHDeX8M+JeVZ9h8U5ctKphMVHiHB5bi8JzvEYnDY+qqVGpQpYu cfg74F/sZftz+IfiT+yf+0z+0/8ADrTk+PGiftdaDJ8ZH07x58PdXtvCP7N/wL/YG/aS/Zy+Hniy zvLHxRNBqtl8VvjD8RfEXxdh8K+H31HxboCfGCK08U6Hp8+g+KDZ+3VrUa9XF5lhsvWU1OL+FfG7 iTiHKYVIVaWRcb+IWM4Iy7hnguhiITlHGUeH+CuCeHMkq5lh5VMllnGDzrHUsasPjqNar83iMA8P l+Z5Bh8XVzPA8K4rwn4Q4MzLEe5ieI+E+D+OZcWZ5xjjqNRReAzTNsTnGPWNwuK9njsRgMnyTDxo 1K1HD0nuf8E7f2Ev2jfgn8Q/+CbXiX40/B6w0GL9nX9hv9sP4TeOtUu/FHwx8SXXgL4tfFL9pj4Q eL/BujaY2g+Kdbu7y68SeAtD8UXE3iHwmt/oljYrd6Fr2s2l/f2+mT9GX1aeGxPElacvZvMfBT6K fBNCooy5sRmvh/wtxVhOO8mm4JyWHyrM8Rk/tKla2W5pWjhsVlNfHQwsq8erPYPHYmc6CVal/wAT AfSH47hzWSXDnGef5tiuEs4Uaji1UzLCYtThhbLNMBGtUpZlhcLUdWDT9m79hb9pz4bftO/sqeMd W+GC+Efh98Lf2l/+C0/jXWdV03xb8L7m38G+AP2pfi3/AMJJ+zxq+l+H7LxPqM1zF410p5NUt9D0 zSL668Ly5tfH+j6LdM9o/BwzTlgeH8Fl1fFVcrxlP6NGXeHEcTQp0MRXwHFuE8W+Ds9oZfQjUo4z CVZZfw9lFbG4bFVqVfIvZ4Ojlsq1WvKlgal8QN47MM6xVKlHHQxnj3wNx2qdWdSlHHcP5d9HnjLh HPsyrSVWhXhKfF2b0cBiaHtKWbYmrjK2a4ajUwMcRmUff/21P2MP2r/G/wDwTM/b4/Z50v8AaO+L v7bnxd+OPwg1/wANfCXR/i14f/ZH+FV1pGsXFpLDH4Y0LV/hN8Iv2fPCCWmtyyRT3ep/ES8vWtZL SBbTWLKCS7im4M3ozxWH4LoYfBUp18n8TvDHiPM8y9tVjiquR5H4k8D53mkq1GpiVg3SybLclzPM qFLA4WGY4ypicVhEsbVWV4Wn7nD+KoYLOM6x2JxMsPhMbwpxjleEwMaTqYbD4/MuEeLMuwSo1I0q uNlLH4vM8BgqksXiKuGoU6OHxEpUE8xxNT3H9v34D/Fr43fsr/CT4cfC/wAJ/wDCTeMPDX7Sv7CP xA1vRv7d8M6P9i8H/CH9qL4M/ED4kax/aPiDWtK0y5/4Rvwn4W1vV/7PtL2bVdX+x/2d4esdR1e5 sbGT3atWnLxN4H4gjK+U5Rx3nWc5ji7SX1fLMVwZx5leHxP1dr6zW9pjs3y+h7GhRqYiPt/bVKMa FLE1I/E5Zg8Th/CvifhutT5M4zDwsr8N4PB89OXts7ng8qpRwX1iM5YWneeGqx+s1a8cIuW7xCjK Lly3/BSb9mX4q/t46F8Pv2H/APhFpdE/ZP8Ai1fTeJv2wvjYms+CBrlt4E8A6ppOu+E/gb8MPD2o X+oeKbXx78VPF8WlXuo/EeHwx/YHgbwFoHiX+z9fTx1q3huCP52tk9LPMxqxzavWwGV5DllTOMol hlSnjM642r/W8Bw9Tpy5a8cHlPCM5z4qzyONhRWfV6OQ8L4dYvJ8fxYqP19DNMRkeXTxGUKliM7z fF/2FVVeE3hMl4XxGHqT4lzPEwnUoLGY3OsA5cMZFh8LLETwGJzDHcSY2GGq5VlCxPtP7A3h/wDa R+HXwAsPgb+014U02z8UfADVrj4OeBvij4euvBEXhb4/fB7wfZ2Nj8L/AIwaX4S8J6vdXPw51jV/ Cv8AZ+jeO/A2vaPoDaV4+0nxJP4V0+48DXfhvUZPrczzerxJHCcTZlShgeI88hicVxblNOdSthsJ xNDG4ijmmPyrFudaNfIuJKsP9YsjoVa7zTK8Dj4ZJnFCnj8DVxFf5nL8qw3D1XG8PZVKpiOGsreF jwpjqso/Wv7BxGHjXwuSZpCUKNaec8LXlkeYZhGh9RzmOHw2eYTFVKuNxmDofKn2y8+EX/BTr9rj 4c+KtZXwHe/8FAf2cfg9qP7K/wAU78+TpepfFH4EeFPin4H+I/wk07UJCI/+E08G6X4m8J/GHw74 WEg1HxB4d1Px3rOg2l1F4a8Vyw/E1MtzHP8Aw58YeAcoxSy/iiXEPFHHGT1HOtTnieH+NvC7w64E p5/hZUYurP8A1P4l8P5YbiKWGdTEZXgs74RxdSEaWNpyX09fG4PLOKvDDi/McJ9f4ew2S5bwJnVF +zdHD5zkPiJxpxxgcvxqnLlorjjJ+N8ZgsnrVuXD4rGcMZll8qixf1KlV+Cf2Lf+CeXxU+Cuof8A BNfwr4B/YJv/ANkv4yfsv+Jom/bR/bJtfiL8Ar/w1+0x4D0/4Z+OvDnjnwvb6v8AD74t+JvjJ8eb L47+PNW8P+OvD2m/G34d+F7X4WQWkt+n9heIdK0jQbv7/DZlgavEtfOcvw0uG+Dp8D5vkk+A6yjz zzGvkmW5dwplscJlrxeTVqvBeZYejnH+uVbG08xx2Cy6nl9GNevnGc4PC/KY/BYz+xs2y7GYt8Rc TYvjrL8+y/jGM6t8Pglx3Uz/AIizSpi8yWGzXCLiXhp5jw3iOFsNh62C/tDOJ4rE1JYPLsBm9f8A fXXviF8cZfgl8bfFvhr9n3Xbb4teEY/jFYfCH4U6v46+Fslz8Wb/AMJy6/Z/CzXbPxPa+M28J+FN E+LjWej6vYWnjPXNG1rwtpuqLaeN7HSdVtL20T4jPFnFXheU8jdKhxFmeV1KdDD4lxlDh7NcVjMX l9CrmVWM/YY2jldH6vnuMWV1cU62Bk8Dgvb5pCWEf1OURyt8SQwuc1a0OH8NmOVxxOZ4eEpVMxyy pluWZhmlTL8Kr4mjXw2JxWOyClDHU6HtswwE8dB/2PXwmOnwf7BP7ON/+yf+yJ8GPgt4kv49a+IO l6BdeK/jL4nSRZ38X/HX4iazqfxB+NHi6W6Usbr/AISH4i+JfEmo28rO+2ymtIEkaGFBX2GdPJqG Kw+UcNKceF+GcryjhLhSNSnKlVfDXDOW4fJcnxOJpPWGOzDC4KnmeaOXv1c0xeNxFVyrVasj5nKp 5pi4Zjnuf0aeH4g4pzfNOKc/w9KVGdLBZpneNrY6WUUKtB+xq4Ph/DVMNw/ls6bdNZXl2Cp05Spw iz8tP20v2E/2k/jZ8Xv+CiuseGfhBZeMfBfx/l/4JA23gJNR8V/DGLTvG2lfs4ftOa/44/aCtL/R /EXiu0lsLPwf4Mv01C5tPFFlYx+LIZ5NJ8Hxa7qfnafXj8HqOV43hyrmKVGlgPpPx8RsVJr2vsuD Y+EXhJw3HOuWj7WU3HO+Gs3wkcvpqWbqWEWLWBeDr4PFVPU4slVx+WZlSyuc54ur9HLxE4Ewrpzd Cp/rjnOf+JeNyjK4VakqSpyxNDPMqqxzFzjluHeJUMTjqVWji4w3f+Civ7Cv7Q/x0/af8YfFn4Of CrRPFfhOz/Zk/ZTs59HvfFfgXw1p3xo8X/s6f8FCfB/7R+p/s/apDq2rwXNvJ4u+G3h/WNG8Oa94 s02H4aWup6zb6Rr3iOx06fWtkcPYirked5rnuIo4nEUqXiP4LcW0cDhJYeWOzKnkPDXjpw3xJnmA +s4rDYSOd8JVeL+D+I8ujmWMwNTM8flOUYbA46M8HLF4fozjD4TNOHclyLC1sNgsTPgr6RPCdfHV aNeOFymnxvk3g1R4UwOMeGw9bEyyLPcTw3xNleaQyrD42rluWVs0xVXLp1sVgsNi+3/aP+Ffx2/b df4O31//AME9rz4Q6B4F/b+/Yy+KPi3/AIXD42/Zh1b4k/E74U/Ch/FF/wCOfHfjjwr4A8e+PfC8 Xhz4aXV/p+leB9Gn+Jfi7x94lRtTv9J8B6Lp1vpzX/bkNKhl/FXBGfYrE0KWHyrNfFnMalDDQxNR ZdiMz8D+MOGOEOJa7lh8POlxBm/FOOynBUqWX0cZicmweC4fzjNM3w1SGNwOW82PxFTEcLce5DSo V51834P4GyahPESw8aWMlS8a+D+I+JOFsJyYjERq5NguF8szbMcdXx8sDl+ZYvH5plGXYLGynQxm M8q/bF/YE/ad+JH7U/7Tnxv+DPhvUtC8P6l4u/4JffGXRI/Bev8AwN03xJ8efEH7MHjT9oaX4q+F tL0/4oQ+I/BNn8QvC/h7xZ8PfEPgPV/jh4Wg+Hut+LfDvgfR5vEFpYabf+IdK8jhp4nJalPFYpYz 2OB8auPuJsLgcC8BUxdLhzjT6NfB/houIcthjXLAU6mD4uec43McvnXwedV8Jg81zHLZUs0xeRY+ t2517DNcNPL6awjnjfCXCcLTxuOWNhhMPnGTeN//ABEHD5PjXgovHywmcZDgJ5I8ThqGMy/D0c9q UMww+LwEM2ymp0N3+yL4q+J1v+0D8YPi9+zZ+3T438XeMPGH7M0/hK98QftDfsOfDH9p6y8R/BK5 8eSeGvj78LtC/Zyu/hV8F/AviL4Vp44vNOstS8Z/FfVvG3xR8KC68G+KvB6eD9I8PeHNV6aVP+zs Jl8sDVq5fjanGfEfEtPH5ROrisbklTNPD3BcG47NcdQzVLLa2H4tyjBR4aznhjBZdnGFqZXHAZvm VKtm1XH5bheeVSWMxOLp4mMcVgqfBuF4fxOCzOFKhgM6o0+O6XFuFyHD1cvlUzB1eHM3w8eJ8lz7 FYzKo5dntfGUsmxEKVVZ1P73/wCCfOm/teaN8LviNpn7XD65qF9afF3xFH8FfE3xF0r4J6L8f/Fv wS/sLwufD+t/tEab+z1quq/Bz/hZa68fE2lrqXgaWxXWfBtj4U1jxP4d0Txhc67o6ejOcKmT5FLE 08voZ57DNVntDJljI5Oqn+sWcSyrE4ejjHL6pmGYZO8Dj8+wWArYrJsNneIxqyjGTwkoUafnxhKn m+cRwssbUyXkyh5VVzWeHqZkq/8AZlCGbYVV6EY1cXlOBxcFQybF5nCnnVXD+2p5hGrGjh8fX/Mn xl+zx+1r4e1D/gtT8LbH9gTUfitpP/BQ34makPgp8YtL+KP7NNj4Pn0DxB+yt8Lfg3Dq3x4sPF3x b0L4heE/Bnw58T6Pr3ifQ18L+D/Gvi29VPEo03wVYaxceGJ9b+Ty7KsVjvDnJuB6uK/1ZzSj4g+I 3Ec85lz18Dk+F4h8X834kyfi/Cyy54nF1+LsuyihlmZYLAUcNCm3R4RwtTOcLjaXEcMs+np5lhcp 8So8d/VI59leF4Q8PMqq5PRUaWY5xiOF+Hq9HNOGqscfHC4GOSZzXx1fKMRi6+KlGFOpnOIq4PE4 GeXfWOE/b8/Zi+Ifhn46/syfs3fC7xdY6yn/AAVG8EfCz9kv9t7TPt93Z+Itf8C/ss2/h/x14+/a W0yyhtboyXXiD4GWHxI/Z9+IGpahcWzXLeOPgtaNezXOl21pL9jg8Xgc88U8+wM8up0+CpcVYr6S U8tdJ18Lw/mnBuZ5fQw3DmIpRnDD08q8TOJq3hVluKpKKp83CubzpYes81zWtD43D4XMuGfCvhrG 08bKpxnw/wAM4LwJweaU2ubM6HHOS5vRp53QlWn7ermXhlVwvGPGmTJqdSOGznO62KqRlhMDTl+z X7e3wH+IH7QP7Bn7U37OHwP1Sw8KePPif8BPH3w0+H882o3GgaTDf6x4YvtIsdCuNXsLe4uNA0zW bVz4euNUtbaWTSrK9kvIoHNuEb5PinDYjOcNRnXw085jHifhPPM7yueMeFq8R5PlPGOTZ5xJkLxs 5xjSq8SZTgsflPtcRUjh3UxqWLqwwzr1D6zhCrguHsbgo0JrK6GDyzMMtyrGUKEqqyHF1ckx+W5H nFDD02pz/wBXcdWwWa0qVH98/qcYUL1uS/5z/sb/ALJHiX4dftdfAz4n/Av9gLXP+CdHwf8Ahx+z X8Q/h1+0f4W1Dxh+zw9r+0l8QtWf4cRfCvT4fDnwE+MnxSsvH+p/Cy48PeK9bl+PvxT/AOEf8cah Z63b+HrRtRg1XxFBY/YzzKpHEeJWaPETx+V59l+W/wCrHC/so4PEw4lw/EeKzTEcRU8vT/sHheUc l+s8N4jDZfmM45vi82jicWpZbk2V5tX+NoZbOjlPAGUyoxjnOQZtKpnvEcK0sRQq8Nx4TzbKa+RL MK8aOc59SzPiDE5HxFg6eOwNGjk+GyOUYLD5lmOJyuP6MfHLxZ+1V4s/Ya+I3iL4MfBDVvBv7V3j L4SappvgP4QeJfHfwsub/wCHfxO8VWsmgafd+JPHOm+M5/h5qdn8O59THjDWbjQfE9/Hqmm6Rc6f 4dXUNbubHTZPleI8nedYGhw7QzP6phOI63DmT57nlCOIp1OG8iz7EZfh+MM0o01TWKxWP4VyrG5r PC08BSrTx+a4Kh/ZyrYevTxJ9jkGPwuWZtiM0x+B+v0MgxXEWOy/LKnI4cVz4eq5rW4bwUGqihgc Nx1VwGXQpPMamFllWEzaP9uSwdfDY6NP1X9mH4C+E/2Wf2cvgn+zn4IDP4b+Dnw48J+AdPvJQPte ry6DpNvaan4h1JwAZ9V8SanHda9q90+ZbrVL67upmeaR2P1nEGaUs4znMMww2Ehl+BqVYUMqyyk2 6GU5LgqawWS5PhrttYXKMrw+Cy7Cxv7uHoU4dLnymRYHF5flWHo5livr2bYieJzLPcxtJPM+Is2x mKzXiDNZRk5OMszzfG43HSi5PlliJRu1G5+M/wATf2D/ANpDxp8fPjn4nn+Dthr/AIG8a/8ABZX9 h79q7R5NT8VfDC5sdX/Z9+EX7M3wY8EePPiBPo+peKjcw/8ACMeMfCerafF4V1Gxh8cajNYx6r4e 8NX2mzWGpS+PwQo5PPw1nmSWHnw5xZ9J7OcdO3tZZfDjfgjxOy/gPHUpUPaudfMM4zvJVh5YR1MT lVetTxmZrBUsNisTT9jiN/2hT8RqeFftocQ+FfgfwpgYfBDH5hwz4z5LxFxdldWNXkUKGG4aoY3E YieL5MBmNB1cuwdbF4yssHLS/aq/Yo/aS139uf4oftT/AA4+CUHxE8B6B8Tf+CZXxqg8A6f4w+F2 g6t+0Fffs7S/ta+HvifomjWvivxfoOkWnxB+Gun/ABP+Gnj3wRefFO+8K+FfEOueFPDWiaX41tJ7 D+0rHk4TrVuH8Y8djsPXrUKPix4oZvhcLhpUKmJwGQ8d/Re4N8McNxZl1Kdanh1PC8W4bN6GbZeq 9HO55N/bmZ4LBYvF18loY7biOnHO8snlmFxNOjWxHhnw3kk8ViFXhhp5nwx9IzL/ABRlw3jZ06VT ELDZ7w7lWIy7D4qjQr5bRxma4fD5lVp4F5qo+v8Ajf4PfGn9qj4+fsK/GXxH+wnD8DfB3wa/bj+J Xxe8caR8QfGP7PXiH4haj4Rg/Y9+KHw/8BfHv4jeHfAfijxL4fsvGN18Tda8N6D4W0Dwx4z+JHjr Q9G0rwp4x12+8PNFfaJo3TkeH/svijLM9q1qFBQ8LvFzJ6dLAutUp5Hn/FXHvh1iMuwVKu6GGqPM +JOH8o4gzPPMRl+GllGFqYrHZTic8x+IxCrV+LOZvMuHc8yeGGqV51eLvCrGRxGM9jCrm2WcOwz+ tnDVJ1a8VleQVcXgsJl0cbiKeNxzVWtg8no4anSqVPnH4vfsEftXQftR/G79oX4YeGPGegeENH/4 KPfD39qXwv4T+D+v/syQ+P8A4r+B9S/4J4+GP2dfHPxA+H2j/HG38TfCbT/iH4M+J97rGuNpnxj0 vw1qXiO007xHrPhzXLXXrrwdrlzycNqpkeD4clXeLgsJPx/ybEYLARwdWrlOD8QOKeEuIuHc/prE fup4PEU+H85yXM8LlGIp59hcr4qzirGhXhUzDIsb2Z3FZxiM7hTeHcsXwz4LSp4vGzxcKOZ5lwHx Vx/iMz4exMqEvbwqUMrzbh3NcpxeNoVskqZzkfDOBxFahQoVM2wHbH9jvxVrvhTx58XfGP7PX7eb /Ffxl+0/Y/GHwd478N/tE/sQeFf2uPhT4m0r4BQ/CB/2hdE8H/DWf4XfszaJH4p8NWK/D7xd8Jrj XvijL498Kf2V4k+I3hHUNcn1HwlZbxpzyzC8PUssn/Z2YYan4hVfr+VxhmVLLcLxdneSZrj+F84o 53fBZllnEuZZFheJsXleX5VislyXiiUs2w2ZzzHE4nPqEOf17F55Ux8FmOCq5fwPlscBmcpYGOZV OGsXn9fB5rldTKXTxuBzHh2ln9bBYTPMdmmDzjM8mpPh+eGpZLgsty7F/pb+wda/tWWP7OOj2X7Y 1tYx/Fu18Y/EaG2vzpXw40Pxj4g+HK+NtaPw18T/ABa0L4Q6xrvwp0b4u+IPCjWGp/Emw+F+sXvg RfEtxdT6E9tHNNpkHqYuWGlg8ilGGDoZk8iwC4gwuVSx8sjwmeRnio4jD5HLM5zx/wBRWGjg6lWl iKlanh8yqZjhMvxeLyqjgMdV87CRxEMbn0XPFVssWbP/AFexGZLCLOa+UPLcuc5Zu8DGnhqlelmr zTDYCvGjQxOJyKlk+KzTB4XN6mPwsPlP/gm38RPh7L+0f/wVj+FcXjzwdJ8S7T/goJ478ZXXw4j8 UaG/j228HT/s7/sr6VB4suPCC6gdeh8NzakP7Ni16TT10qTUM2SXjXQMZ87hr/afCzgerh/39PLs 18aMHmNSj+9p4DGYv6TPjri8JhMbODlHC4nFYWLxWGoV3CrWwydelGdJOo/S4i/c8f57Gt+6eN4Z 8J54NVfceLhh/CXg6niJ4VTaeIjh5tQrypc6pTajUkpO795/ZI+CnxQ+F/7S/wDwUu+IHjrwx/Yn hT4+ftMfDT4g/CTVv7a8O6l/wlng7Qf2SfgD8N9X1j7BpGr3+o6B9k8Y+DfEWjf2f4mtNK1Wf7B/ adrYy6NdadqMxka+p8D5Zk+J/d5hh+M/E/Nq2H+Pky7P+Kp5hk+I9tTcqMvrmEarexjVdehf2eLp 0a16ZzZnF4ji+rmlFc+BlwBwFkir3Ub5pk+Zcc18ywvspuNb/ZqWbYCft3D6tW9vy4etVnSxCjxX wm/Zi+JPjj9of/goj8fvj1oMvg/Ufjhpuhfsrfs/2jaz4a13UNC/ZQ+HXgzVfs3i23l8Oaxq8Gi3 fxW+KvxF+I3jmfQ766tPENvolp4JtfEulWGqWQs4/AzPInnHhLxdwjUxCweeeJWM42x/ElRe0rRy ujLA4zgPgHKpv3sPiYZVw1l74tlHBzrYejmvGefYJ1niqeJhH26OZvL/ABA4Uz7D0YYnKuAMq4eo ZHdSpLM85zHMsJxjxzmUoSn7Wiq+Np5Bwa3Xo0alWjwbRx+HhVy/F4TFT+J/CH7PP7Z/jr9mL/gn 1/wT58e/sxa18O7P9k74rfskar8Zv2nrz4jfA/Vfgj4u+Hf7GXivw34r8Lat8E9H8NfE3WPjLqni b43ah8PPCdrb+H/HPwo8FQ+B9O1XxW/ifWTNp+gJq33uLzeHFHiNkfiVmVCWS/2bV4s4szHI6so1 8fV4z4i8OOMODYZFlc8E8Vgq2RYPN+M8Rncs4xeMwdWvw7l2HwSy6Od4vF5Xh/lnlsck4Q4z4Ky6 o83hn9uHclzSlfDUKHCuJ44yvP62b53DFqliKOcYbh7LZ5XLLMDQx1KpxZiaWIoY+WQ0ZZzL78/4 KI/s9+OP2jfDn7I+geDvAenfEDT/AId/t3fss/Gb4iaTq154Tt9O034ZfDnxXq+r+KvEtxaeLNSs bXWhoKyWV7FoumJf+ILyYRHR9JurmJgPFyblwnHvA+eYlKGCyKPiRiK2MtzzwOPzPwX8TOHeGsTQ pwUsR9ZfFGc5HRwuIw1OVTAYmrSzOtVw+EwuJxtP2cXNVeCvELJYScsXxDk3CeWYXCaqGYUMP4te Hed57gq05JUI4epw1lGcVcVSxc40MZhqdXLoqvicRQwdX5Z+K/7D3xH8VeIf+C6utaT8EvDWoXX7 an7PHw68AfBPUnu/hrDe/FfxJ4d/ZY8a+BbrRtTuLzWobjQI9O8d6hpVjDd/EBtE0trp4tbtLyTT LebVF+czPBYyfhbxDw7gabjnFfxX4l4uyrCUqlOi1gq3DXg+8kzaliXOGGw9enxFkfFWLw0J16eO wmYLGZlKlSeYUMVX+kyXMMuo+KHhxxBmFWLyXJeA+F+H87xVSjWrRoYml4o+LWZ8QYCeGjTqYnFU q/CubcJRxksPRrYXHYFYHKlUr1sur4Kj8q/G39gD9snxr4O/bmsNG+Esmrat8Y/2fP8Agjh4K8Ar N8Q/hdDN4m8Y/sy/E3VPEHx+0+W61DxzBHpkngbTblL19S1+ax0/xS0jQ+Cr7XLwSQ1+k1cfl68Q K+cUasY5S/psYfxbo14UasIrw3p5N4IYT/WCOH9mq8Iwq8J59Tjk/slntsFzRyv2eJwEqv5fk2Ax +G8N+G8ixdNxzjBfQ7438LMbhpVaVSUPEHN8o8VMNgMiliYVZ4eq8VX4gyiLzanWnklN4pzxGZ04 UMbKPqPxT/Yf/ao8SfFX9p3xJovwt+26P8QP+Cxf/BO79qrwhe/8Jv8ADe3/ALX+AHwT+Gv7LWhf FLx99nu/GEF1p/8Awi2qfD7xZa/8IrqkNp431r+zPtHhnw3qdre6TPcfKcHJ5VV8KZZh+4XDnH/0 l87zp/xfqeV8d+HvjBkvCOKtRdR4n+18y4lyXDewwntsTgfrnt81o4TDYfHVqf0mfJ42j4iQwv72 WeeDvhDwrlS+D61xBw14nYbP88wF6nKqH1HKqcsX9axLp4HE2+r4LE18W1QI/EX/AATx+LviD9hn 9p/4Nal+z94U1bx78W/+Cs91+1InhrUNQ+Et0njL4OSf8FD/AId/E1fiFreqXXiB9EuLl/gPoWoT nQde1FPGv/CP2y+Bm0L+2ZLbw1Jtw445fD6NKxX7mXh1i6WL4isnN5HiP7Y8SsTWxNF0ub61WlQz vKZyqZW8TUksRGHM50MUqeOeKvja/j/Uw8p1VxpwjPJeGZOfK8yqUfBbgfIcDgU6k4ywNHD8X5Vm McOsf9Ww1DG055vCcMNXpY+e7+27+wV+0r8Zfj/+2B8Rfg54fk0LQ/GHgD/gl34r8JXeieIPhLpd 58ZfGf7JP7UPxz+KXxO+Ga2Hje18T6Bp3iSTwNqPgfT/AApr3xd8GXHwv1DW5/C2jaxdXXhvTPE5 sfLyNYvKcZDM60sdyZd42/67wwGAlgKmNxuS5l4JYLw/xed5eswqLLaeZ5Jn1anxHhcPjq+Cx2Kz HhzAVcJjMDi5ZVn1L0c1hh8yweEyqk8LTWJ8KOPOCqmMxccbDA5djcfxfkmfZLlOOjgI/X5ZLnWD w2b5LmU8to4uGByjO86dTA4udWplGJzvif8Asi/tG/H34Gf8FNtZi+G37T8Pxg+P37FVx+zp8Pz+ 1J8S/wBh7R9f+KmvaJY/FTWPC+i23gD9kvwzpvw28NWfh7V/Gd3oehfE34kfEKTxFqLeI9Y0qXQd I8EaXpfiO82xdKWCyJSwVDD4mrPxW8M+PMRluEliqmY4nCcEZ7w3jMfmMJ5hPA5ZleYZzlWVwwCy /DuviMzpZRkEs8x2BrYHBZet8orwnxRkNXMK9fDYTLeF+MsheOrLDxwOCqcXUqVH6s4YKli8yzfD ZbiMKse69RUsLlU8bmiyDC4+rm2cYldJ46+Cv7XVl+0pr/7U2gfDz9rqDwp8eP2PfgP8I9R+EfwV 1P8A4Jt33xU+FXjT4X678Vr7Xvh78Ubb9qK78c+A38IeOofiTZahDrnwb+I2qaZba9pWuR+O9Lur P/hGdXi1zLB0p/8AEUshqyjneB4y4spcTYCpUlToZDjcsx3BOWcM4rhjOK08J/bWDnkWIyrF5hSq 08JmOUVIcS8Sf2PCOZxcs38TI1Xo5R4YYma/snH8GcPZlw3mNFSrVMyw+MjneBzDD8TZJ9XxM8ux UM6hg6OExkKtXAZzToZPwfPExnQePo5Z6l+wf+xV8Qv2cf2n4/GWt/DW/wDDvw80H/gm9+yF+zh4 M17xN8TPBPxS8U6D4w+H/wAXv2mPFvjv4VHxZpGh+DNa1Wy8IaJ4y+H8B8QW/gHw14I1q3h0iy8O pdPos8Ft7/1y1PxEp1sXHE1s64y4KxmExkKeLi89y7h3w0wHDNfOcVPFV8Ti62Iq5nQxFSvic4qU 83zDF4nF5xXwVKpiq8DjnhqlWtwViI4epShgcP4u4zMcPWngr5XjuMuNuF8+y3C0sPg6dHA4WnUw mGzCFDL8mjXyrJMLQp5JQxtXCUsDiK3J/DP4IftR/Br9rvwJF+zL8IPjl8JP2b9b+Ovxb8S/tHfC r42+Ov2afiR+yrbeGfFh+IfiG++OH7Kur6T8T/FP7R/wp+JnxA+IGqWGur8MYNH034VNZeJPGqeK fAHhK+XTtfu/F4SSwuCwWV5l+44eyzguvleU4HGx9pxHwzjsuw+Gw/DHDWR5ll0q1HN+HaKw9LB4 mhn+IxVDLuGqVCnkeOwOPwmF4dn63Ezlia2PzDLkquf43iHI8Zi8fhW4ZLxHga2LwS4kzTiHLsc6 UsvznD5Z9aqYPG5LRoYzMOKKOEqZtRzTLsXmOe0vZf8Ago98Hfjl47+L3/BNz4wfB39nn/ho3TP2 Yf2q/Enxe+J/gi38ZfC7wnrlj4Qu/wBnb4y+A9P8R+EW+KXi7wj4f1rxlo3ifxZoV/4R0mXVrOB/ EEWny6prvh7S47zxXacmUyqZZ4g4TiKth6zy6l4ZeJvC88fg3Qnj8Fm3FOceG0MuhhMNUxFCdWGL wOU5zDNqqqQhS4fjnFOi8TnFbJ8kxuua0YZlwRmeR0quGWPr8Z+Hme0cPjFXjhMRguGsXn+YY/2t alh8QqVSMp4KngouLcsxrYOVVRwFPMMVT+V/iN+yt8Q/iD8FP+Cj/wC0/wDEfwnD+xz4r134zfDr 9s79mDT/AIi+Jfh5qevfBj4lfsofBXwZp2jfG34s6j8LvFnjzwRoMvxa1DwNqWi/EjQvDni7xBdS /Bi6l0vxJqQ8Qanq2h2vHjcz/wCIfcJZJxNSeHzPNuCuMOOfEKeU4SWMjha3DPFGHwWTcQeFkK7o UKmJnxpkWH4jr46eEo1sDheL+Nq+IyuWYY3LqOaV/RwGXx414txfD9ejjMLlHFfAnB3hbisYlhpZ jXznLeJ+MOIct48wdBYmrTp4jg/M+IOF4cP/AF2rRxNenwRgHjYYbKq9LCQ+sv8AgkN4Z8can+yb P+1R8X/Dj+F/jR+3l8RPFH7YfxG8PTyz3F14V0r4kw6Xp/wZ+H73V3a2d1JD8PPgf4b+G/hVY7i1 t3W9sdRme1gmnmjr7TNcmjwjgsj4EjVdavwrgMT/AG9XlR9hVxHG3Emb5lxdxzPEUVVrKNbA8R53 jsho2qT5MsynLsNGcqOHpI+OynNKvE2Mzji6vCjCObTy3Ksnjh2p4WPC/CWWYbhjI62CqpJ1cFnz y3G8ZUqj1qYjiPF1pJSqSR6f+2V8FPih8WPjV/wTg8W/D/wx/b2g/An9sa7+KvxX1D+2vDul/wDC LfD+T9l39pP4fpr/ANl1rV9OvNd3eK/HPhfSP7K8N2+qa4P7S/tFtNGk2eq38Pg5KvqnG+FzfEfu 8vp+H3iXkc8R8Vs1z2jw3DKML7GDnXf1uWAxK9uqbw1D2d8XXpKdNy9fOIvFcHZxlWHXtMdiuJPD XH0KF1H2mDyLjvLc3zat7WbjRj9Uy/D1cR7OdRVa/L7HC062JlGk6v7dXwN+KP7Tuufsl/A/SPDB vfgBN+0R4V+MH7VfiabWvDVtZJ4B+BMVx8S/hz8NJPD9/q8PiDxF/wALQ+MulfD+LVE0XR9R0u08 J6D4oi8SXdil9pqXFZN+440yXPMY/ZYLhHKuIeJcnfPUc8dx/PDYfhrhHDxhQcpUo5BR4hzrjuni 8UqWEp5vw1kWHp1Z4ytSpPXMrVeEOI8pw3LUx/FNXKOFMXFxlH6lwbj8VXzDjbH+1lOnBvNMoylc DPDUp1cZKlxZVxsMNLB4LH4mHmnjLwh+0H+zX+3p8ef2ofhz+zb47/af+G37TP7P/wACPAepaL8J PGnwN8OfEH4c/Fb4Ba/8Yf7Jj13TPjp8V/hBoV98P/iJ4e+KdrHb+IPDfibVdW8M+ItC1Fte8Kro uow65HxZXUxmXZTxrkccKq1XN+NP9fsgx1StSo5bPGZhwJwhwXnGSZzWg6uPwX1VcA5Jm2X43DZf j6WIw2Y51hpeyzDC5bgsb05jSoY/FcH5osVCj/YuQ5rwjnGDdGtPFvL6nE2K4nyjOcrSisNi5Rr5 xneX5rga+JwdeHLkNfCPE4eWZ1cN7T/wTl/Z9+Iv7NH7Ivg74c/F0aHb/FHXvGnxv+MnxE0fwxqL at4b8L+Mfjz8b/iH8a9a8FaJrDW1mNZsPBNz48PhaPWY7aG31aTTZdUtoUtp4lPficHhMu4e4V4V yzFSzLD8H+HvBPA1LMpUZ4aObYrhfhHLcjx2a0MPW5auGweZZjhMVjMvw+JjTxFDL62Eo4qnTr0q tNeeq1fMM74v4ixOEnl8+K+MOIOJKOXVa9LEYjLsvx2OqQynB4yvh5Tw9XMaOU4fAPNZYWpWwjzS WMWFxWIw0aeKn+aXw3/4J3fF3Sv2IP8Agm38HPFH7PnhMeOfgZ/wUfsP2lfjB4audQ+El9H4b8Hf 8Lx/aD8X3/xIm1OHxBc6J4j1iXRPFvhLUp7fw9qGreMZ2ube0bTpNQ0++tYOnJKlLLs58D8XdYah wX4M4LhLN50otLKM/X0Xc04VxmXUIUk5VufxOnhHUxeXxrYGpnHs+J/rU8HTlnMe/iKcMzofSEjT f1mfHviHi86yP2ilfOsln9JDg3iKjiK8q1vYQfhpl2Z01hczdDERyaE+GZUPrVajlM9f47/sO/tL eKPj5+0X4v8AA/wogn8J/ED/AIKgf8EuP2mtAvLXxf8ADfS4da+GfwJ8M/CDTvjv8Q5tNvPFlleW 1/4auPCV/DeaXqdpb+MvFI063fwvo+txNp8knLwhy5TiPDx4xLD0eH/FX6RHEONSXtI4Hh7jn6PO ecK8O4qnGjzucM442zXE4eeDwyqYvC4vG4vOM0w2GwFXEZg+biJfX6XG/wBV/fVM78DPCvhDCt+5 LGcVcN/SA4r4pzTAVJVeXlll/BtfJMRTx2IcMBVwscNlOCxlXH4WpgIUPAf7D37VGi/Fj4LeJdT+ Fv2bRvCn/Bbz9sP9r/xBe/8ACb/Deb7B+zh8TfgR+0J4Q8CfEb7Nb+MJbq7/ALe8QeNPDenf8IhZ QT+PtN/tD7Zrfhey0+01O8ijhhf2dS8MI4z9zLh7wa8deFM4X8T6pxBxd4rZ3xFw5l96TmsR/aWU YqhjPreFdXA4Tn+rZhisPjI1KCz4qi8yqeJ7wS9suIOLfo5Znk7uqf1zAcD8E+EWU8V1/wB64PD/ ANlY7hrOaHssV7Ktjfqntssp4qhXwdWqz9i/9gv9on4a/Fb/AIJyeK/i58GdNsLH9na6/wCCumq+ MdUv/E/wv8Qz+ANa/aT/AGmdO8XfA/VNJTS/FOr3l1qPjj4fz63P9u8KR3tz4csLu/0HxnNo2oXk mmPtwnJZXlmXUcY/q+IofRd8C/Daqleco8X8K4fgKlxVkfPR54yhglk2PhUx0ZPKMdGglgcdio1c Pz3xbzZpmef1ME3iMHmP0keJ+PoJv2dPE8IYrhbxUw2V5vUpVvZt/wDCvnfD86OArQWaYfE1aGMn gqccJia9LTs/2AfjLon7HXib4Y+HvgV4d0f4hXX/AAWTtP2wNL0nSdX+FmnTf8Kdt/8AgpdoXxZT 4pRaza+IYdKt9Rh/Z/spbuLQ31GPx8nh+NfASaB/brR+Fzz5CpZdT+jhSqN4en4f5PjMu4jpwfuZ LTxfCPillOIwlKNJyWLoYqvxHluGxFPLViaNWGLcqvNQo4ypGc4U8bU+kBUpt1p8dZTRp5DOTtPN 8wo8G+HtKnKpKo08LVp8S5LmWJp18xdBRzCjLNI1Eq9DF1eL8JfsSftS+HtO1/8AZk+Ifh39rH4j eENU/bi8VftE6X8RPA3xI/4J9+BP2dpfD2tftVXP7RvhP4o69421z4Za/wDtkaH8QfAX2zT9K1rw npWj67q3iLxRoMfh3w943s/hTqb65pl8HJ4DCeEtLMJ8mO8NslyfLcXjc1TqYetjuHcnzXJ8TmWU 4bJHCWc0PEKlXxWJzfK83qZZKvU4i4nwfF2Y4iM3m2ZXxQvrmI8Tq+BfPheP4YqOHwuXt08ZTw2c 5PlWWyynMa+bqrRyh8HywdPC5JnGVxx8sDlWU8M5rw5gKeeYdZLhOm+N37Gf7WPj+L/gpd4I8IeA vFmhH4gft2/slftr/Bvxpp3ir4Fp4a+OPgf4UeEP2T08X/B/Ro/Ger+Lk8N/EP8AtX4H+KLSxh+M /wALo/hLcay/gu71jV9Q8M3msSW3BkUMRlmWeG+KqyxdLEcBeKHiTnGY5ZgvqM8wzTJONsz8SMTl ee5HLGyllU63C641y3P6WGzTF5dmH+sGSUKOV18Li44bP8P1Zr7HH5nxdhoPDyw/GXg/kXC9DMsU sZHA5TnuRSr4fE5PncMGoZmsDxNh6X9mYzE5Ph8yoR4bzbN3jKFatTWR4vmfjN+xd+0X+0boHxr8 Z3XwZ/aZ1jxn438cf8E5/DGo2/7VvxI/YI07VfiJ8NfgD+294P8AjR49un+F37MOg6N8MoNH+Gfg 6bxlc6d4o8cePtT+IfjS31HXvBnhzwKdLg8LT6n7mQqjlWd8IY9ywdLCUvFnK+Ms1dJZhXxWDw2T 8BcQcP0uIqka0aFHL8VmFbG5TgamAyfD4/NcZhcpyLG5xXwdTLMPgKfj50sVmGUcSYKn9blil4Te JHC2UpzwWHw1TNuLaeCnhskpVaTqV8fCGJy11qeNzLEYLJ8mrZjmX9l/Wo5vneOh95ft9fBDxR41 8X/DH4ofB/4bftTWPxw8E+CfiH4Y8B/tHfsj+PP2btL8X/Duz1/UPCWpzfDj4jfCn9pf4ieEvhn8 Yvhl8QNX8P6LqN/ouv8Ah/xTbaNf+H4b2C48JXU6+LE+cmsywuOz7F5NFUMfmeTZVhcQ8fTwuO4c 4m/szG57Xy7J+IMDVrxxVD+yqmbY/E4PN8D9TzHD4XNs5w+AzzD1sRVweI9+n9Qq5dl+CzKFPE4H BZvVxVChQqYvA5vkksTgIYbFZzkeOw1Jw5q9DDUMFi8trfWcHip0strYzJMfTwtOdH5M+KXxB8cf 8LR/4II/Cj9pzxH8GtE/bHtf2gr7xf8AGT4QfDfxL4dSXSp/+GDP2w9G1XxLofgm01q/1Gx8INrM Z05tS04XvhG2103WjaHr99Zw2d1J9Ph3luK8VsdVyKbxOAwPhP4i0MwnRnisRhsvzXGPwuxVfBRr 4qnTxkMHUxMcXLIXm1LD5rjMmpYTF4zDQxTxEV83i1j8P4Z5rHN26dbF+Inh+sqniaeFw+LzHKcL 4n145bicTRwlWrgpZu8pWAr8Q0sqrVsuw2cVcZSwdWWDjh5P6f8A2d9QtPjl/wAFPv2xP2i/h+V1 H4SfC74CfBX9jL/hO7LbJoPj744eBvif8Zvid8WtJ8PX8bGHXbL4NxeOPC3grWdWtHmsLPx9qPjj waLhdb8OeIrSLg4ZbhwnxZm048mG464zyDGcORldPG8PcDcO5vk1fiuhBq/9n8SZ7xJmmS5biW7Z jhuEY5nhnUynEZTjK/pcQwUs/wCDMqi08Xwbw5xrWz+yf+x5h4i5p4f4vKeH8TLZZlleT+H9LP8A GYS/PgsHxZlMayhi6+Kow/VCkUFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAF ABQAUAFABQAUAFABQAUAfgD/AME7f+U9n/ByL/3h6/8AWLfHlAH7/UAFABQAUAFABQB454u/aF+B ngPw58bvFnir4qeDtO0T9nLR5te+PNxFrFvqd38KdKh8IReOjceONJ0lr7VdDkm8ITweJrOzubJb 6+0Se21Cxtp7eeF2xliKEMJRx8qi+pV84hw9RxaUpYepnksblmA/sqNWKcPrsMXm2WUa1BvnoSxu ElXUKdWM3vRw1fEY+lldGm55hWy+hmtLBtxhiJ5XiK2bYfD5jGnOUW8HiK+SZtQoYn+FVr5fj6NO cquHrRNPwX8afhX8RfGfj74e+CfGeneIPF/wysfAWpePNCs4dRS58O2HxJ8Pz+JvAd1dzXNnBazR +JdDtptSsvsU9w0cCFL1YJyIz2vDV40sbWlSkqeX59mfC+Nm7WocQZRgMkzHM8smua7r4PBcQZPi Kkop0XDG0lTqzqRrxjw0sTh61PK6tKrGdPOcgwPFOVzXNbGcPZjmWc5Vgc0pXWlDE4/IM2wsIz5a 6qYSq50lTlSqShi+Jfwg8UfF/XPgaNb0PWfiz8NfCvgv4t6v4OudMuLjVfC3hjxtqfjbwv4M8ZwX d1p5sLd9Zv8Awj4x0mym0+9bVIVsdRS5jgtbmJ5efCNYqnmONwj9pDJsxp5HmFeHuyweY5hlNPMo YGTfLPmxWV4iFefs+alKhV9lVnzOUDbENYaWAwmJfI86wmMx+CoS1jjsJkuZZbSxWI5VzRccBmOI y5xVW044l4etRjKVP2q9WpjCgDzz4qfFj4cfA/wJq3xM+LHizT/BXgfRLzw/Yat4k1RLx7GyvPE3 iTSfCnh+CVbK2u7kvqmv61pmlW5SFlFzdwtMyQiSUOknWxuVZdS9/G51m2WZFlWHXx43N83xtLAZ ZgaV3yqrjMXVp0KbnKNNSkpVKkYKUxyXJhcyxktMNlGUZxnuZVn8OEyfIsrxmcZxjqiu5OlgcuwG KxlVQUqrp0ZqlCdRqDw/F3x/+CPgPTPjNq3ir4n+EdNt/wBnzwbH8Qvjfbx6tDqOr/DHwTP4f1rx PZ+I/GGgaUb7WtJsdS0Hw/rOraQZdP8AP1ay06/k0qK6MEi1zVsVh8PgauZ1asVgKGbPIa2MipVM PSzuNHJcRPKqlSmpqGPp4fP8kxVXCyarUsLmeW4mrGOHxNGrLow2DxWLx+AyzD0ZTx+Z4Slj8vwj cadbF4Ctjswy2jjaEasoc+Eq4/KsxwUMSn7GWLwWNw6qOtQrwj6Zoms6X4j0XSPEWiXkeoaPruma frOkX8SyLFe6XqdpFe6feRLKkcqx3VrNFMiyosgVwJEV9wHo4zB4nL8Zi8vxtKVDF4HE18Hi6E3F yo4nDVqlCvSk4ylFyp1aU4ScZSi2rqTTTfl5fjsHmuAwWZ5fXjicDmOEw2OwWJgpqGIweLowr4av BTjGajWozjUipxU0mlKKlc065jrCgDzz4dfFn4b/ABcg8ZXPw38Waf4rg8AfEDxb8K/GUmnJeKug /ETwRfJp3i3wrefa7a3LX+h3jpb3b24ltGdgbe5lTLl0k62X5bmlL38Bm9DF4nLMUv4eLw+BznNM hxdWknafLQzXJsxwMueMW6uGqShzUpU6kir+5x2Py2r7mNyx5Ysfhn8eGebZFlPEeWqbTcX9byXO sszGnyylahi6MajjWVSmvQ6QBQB8XeIrv9gH9mb9pbwNqeu6D+z38IP2o/2utS1/wh4N8TweBfCX h74v/GzUNMl0nVvEWjS+MNL0CLXNbQ3t5otxfprWqi11HXLnRYWe61qbT4nMpXNiMZwzkq5a1bCY viLHZRgV7KFbCZdDNMwxOZYjD0+SlUeGhHOsxi5qVblWfY+hB2zau3mbbwlLiTN37TDZdi8pyDD5 rjX7Z4TF5t9XyjKsvoVqrnVpfWY4bB5ZB0rUqdCnlmBrThQjgKZc+On7f/7IP7M3i+DwL8c/i2/g LxJdXnhzTbK0vPh78VdVstQ1bxW4j8M6NpmueHvA+r6Jqeta5MVt9O0Wx1KfVp7tltFszdMIzjh8 RRxeJng8NJ1cVCviMN9XjTqKtUrYXLJ5vio0KcoKWJWGyylWzDETw6qU6OEo4qtVnGGHxMobVsNX w+Ghi60FDDSw0cX7fnpyp08NPMZZVTq4iUZy+rKpmCWDprEeznUr1MPGCl7fDyl6J8Mv2qP2fvjD 4j0bwf8AD/4i2mp+LPEHgG7+KWh+FdW0PxV4S8Tat8O9P8XXXgfUvFun6D4x0PQNUutL0rxRa/2N qskVq0umXN3o8uoxQWur6HcXPZ7CrbMpJRksohklTNOWpTk8DS4hwmYYzI62JUZt06OZ0crzH6tW f7p18DmGElNYvC4qkuJ16Ufqbk5RjmFfNsLgZzp1YU8Visljlss1w1GrKChOvgqea5fWq0VJ1Xh8 TSxFOM6CnVO5+FXxg+GHxy8K3Hjj4ReM9J8eeEbfxL4s8If8JPoLXM+hXfiHwV4i1Lwr4rstL1KW CK21iHRfEOk6lo1xqWlSXelS39neQWt9M0MpGUE6mCyvMIK+DznLMFnOV19ljMpzCm62X4+nB/vF h8fh1HF4OdSMfrOCq4fG0OfCV8PiJ61P3WNzPLql4Y3J8dUyzM8PJNVMHmNGnRqYjBVrrlWJwvtY UsXRTc8LilWweJVPGUcRQj6RSGFABQAUAFABQAUAU4tO06C7nv4LCzhvbldtxexWsEd3OuVO2e4R BNKuUU7ZHYZVepUEkfdi4R92Mpc0ox0jKV5S5nFaOV5Sd3d3lJ3bcmx6tN6tKyb1aVkrJt3StFK1 7WSV3bW5QAUAFABQAUAFABQAUAFABQAUAFABQAUAeQfF39nv4AftBWWgad8efgj8KPjNYeFtSbWP DVj8VPh14Q8e2eg6q5tzJqGjW3irR9Wi026nNrbfaJbVY2n8i2E5cQxYmlCNDHYXM6MY0sxwTvg8 fTioY3CtVqGITw+JjatRccRhsNioezmnHFYfCYqLWIw9CrG5VKk8FisunUnLAY1weMwUpyeExTp0 cVh4PEYdydOq44fG4zDJzi39VxeMwzboYjEU5euRxxwxpDCiRRRIkccUaKkccaLtRERcKiIvyoij aq8DitJSlOUpzlKUpScpSk25Sk225Sk225Nttttttttttt406dOlThSpQhTp04Rp06dOKhThTguW EIQjaMYRjpGKVorRaaj6ksKACgAoAKACgAoAKACgAoAKACgAoApvp2nSXkWoyWFnJfwJ5cN89rA1 5FHiQbIrlkM0aYkk+VXC4eQYO5yRe7zcunOrTtpzqyVpWfvK0UrO+iSu7aj1Si9UndJ6pO6d0m3Z 3Sd972d21ds0zStL0Sxi0zRdNsNJ06Bp3g0/TLO2sbGF7i4lurhorS1jigja4uZprmdkQGW4llmk LSu7k1UacE/co0aGHpQ+zSw+GowoYahTje0KOHo06dGhSjaFKjCFKmlCKQfaqz+3Wq1q9af2qtev VnWr16sr3qVa9Wc6tapNudSrOdScpTlKcr9ABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUA FABQAUAFABQAUAFABQAUAFABQAUAFAH4A/8ABO3/AJT2f8HIv/eHr/1i3x5QB9Sf8FNfGtv4Y8Xf sLaD8VPil4m+DH7JPjn9oXxVoX7UfxG0D4l+J/g5pMVpa/Az4m6x8GPBnxG+MXhPxB4V1j4d/Dvx z8VNO0HTdXvF8U6DpnifxBB4W+Het6nPpfiS60G+48B9RrcXrCZ1XjTwC8PeN8w4fw+IxUsJgM04 /wAHxD4e4fLMDiZqrRhjsThuCsf4iZ9lOTYipKhi8xymjmFOhXx+WYOhLsxH1ulwpmWKyqnUnmEO JuD8LmdbD4WOKxuW8F4p8QvOsywkHRrzwkZZ9h+EcnzLNaEFiMuyTNszrLE4ShLE5jR+DNW+KH7L Go/GH9jjwRP+2j8ZJv8AgmPq/gv9tCfQvjT4y/ar+Ongv4f/ABH/AGn/AAl8Vfh1p/g/4UeIP2tt T8X+C/FfxF+G3gvwbqHxVu/gRY6n8Udd8D+PItCuLjQvEnjJfBuhvB04Fyr5hnc+JJPD4jDeGnAG YcAxzCpLJsbnGDxHEfGuG424pxWAjVy+rmXFeXZdl/AssPWx+CWaU+Hs3xnGmGw1WWLr8SrjxlqG AoRyJSre08R8wwPHKwVKOZ4XJILgrLMZw1keDxbp42OU5DmubYjOJZ1Ty/FRweG4owmD4KxtbCOp V4Vl4r+znL8Sf2nv2hf2L/g946/aF/ak1z9lvWvHP/BXU/BzXtG/aH+NngXxR+0f+y78MvH/AOzz Yfs+az4++KnhXxb4e+JPxM8K6QfEHiC38A/EW48VnxN458Eadomq6j4w17wz4k8Sf2v3ZFhK2YYe WJ4koV6fEVDwIyXOs3wFajVyarhs7r+NuZ5Bw9n2Z5Hgo5fQy3iLNPD6XDub5pg5YTDxpZvmFTGY rL6WPpwp0+TPcXQy+vi8Pw7iKc8mreN3C2TYDH05U8fCjQl9HfiTiXjTIslzSvLFvF5HgfEPL87y qhP2+KpUKGElgMvxMfqOBxNK/wCCvDfxA+G/7N+h/tNWP7Tn7Wnij4t/B3/gr3pv7Jfg3WfH37T/ AMaPGPh24/Zig/4KU2P7Lr/B/wAcfD/WvF9x4G+J1je/DXWLw6l45+I3h3xF8Wr7xUul+Jbn4gve 6N4eS1x4dxledf6P+KxCoYrEeI3D+JoccVK2Ewzp59VfAniP9WxywUKUMDkmNwOI4XyTMcJW4dw2 WR/tSjmGZYmnXxuc8SV8WZ7SpwoeO+Eoe0w+G4FwNLOuDqVCviKc8jxa4a4E41qU44pVfrmZ4PEY 7iHNcsq4TOsRj6H+rlXB5JThDCZflfsvFNB/aA0u++Hn7eet6B+2R8ctT/4KPfDf/gqH8f8AwR+x 98B9Q/aY+LUV/regQftWxaP8P/hV4L/Zpk8eW/g/4tfAXxLo48V6H4/1zUfA3iLRvCmgaf4sguPE /h6y+Gvh86KuBlHEZN9HOvl0YZriM6xPDmE8TfbznmLfDNfxAzjC8cYviH6wsTLI8NknhqocS5bn EFhJUM1oYDMMFja2bVJ4ap2cTKlQzvxpw+bzeVZZl3C1PMOD6uBf1adPPoeC3DmP4cq5POhFfXuI Mz8QfZ5XV4dTrrH4fF4fCY3K1gc7xOIxPafteftXXg+KPxJ+L/wv+Pg+FHxJ+Gv/AAUS+APwibwR 8TP21file/tC6to+jftJ/Bv4QfEjwf4E/Yn8Laj4P+FPw0/Zs8V+EtQ8S+J7HUvHlh8Q9Z+JHgnW X+KWvQaRqd/4T1S0XAMI4zPPCmVKTxeW8Y8X5zhMywVKMs4x9bKM3x/GOTTw3G2MxfNQ4fxeVYml gsLk/D+WYOnPh7G0eGHSzWPE+LzRVOXjSpXwnDviTCtTjgsz4X8M4ZthMa+bLMtoZ3l/A2C40wWM 4Uo0WsVxBLF1qipZxnmLxnscwq0+JMpnltfhTLKNN+g/HCDwh8ENT/4OdPEPw++JPjXwP+0Bp3wH i+Kngm0tfj58U4/Gum+EtY/Ys8IahN8UvCHhPUPiHOdOsNM+I2mXWjeHPH2iaRE3g65sl8CeFNa0 jRreDw8vz9CrXw3hVhMPgKtTlwP0i8Bk2bunKVavg8PjeJvCWrlOEx+Ik6mIw0s/ynG5o5zr1IVu I8BTrxx1TH0MugqX1OFw9PE+LPDVXH0ISoZh4M5LisB7SlGnhcdi8FxX47YPNY4eEYwoYuOVKjlM 6uDjGdDKsXioY+FDD43NMTicRzlz4w/ZKsv28/8AgpRN+19+1v8AEf8AZ6un/Zi/YL8T/DS90b9p j4pfs9R654wtf2cfEcus+LPCeqeBPHPgt/jN8X/D95L4ek0PwFrE3i2/hW/hl0nwXeL4g1ozezn8 6+B4e8ZnwvPEPinLPHnxKfDWVYLBxzGvQxM/DfwhoZJDh/hapQr4TPnm2ZUKeWZzhVgMwpqhSyTJ MbDCYLN1Qx3zXDTnjsH9H2pnEKGIyvMvATg95/mGYYqWGoY3/jaXizWxEeJOJHXpYnIaNDDVswx+ XYv+0suni6s8+zhV8VjOH6GNy/jNZ+LX7a+mP+0l8XUsvE2l/tUX/wDwSA/4I+ax8bbq0j1Lwn47 8M6Vr/7Sf7RUH7S3i+2Hh7wr4n1jwT4v8NfDrUfHniaW88O+D9b13wZq9rPqWgeFdQ1bSrPSJPRx 9PLcJnfiJgqn1HLeGK30nPDnBcUvC5zicBlGV5PX8NcijmWBXEeDniMTl3DUc2WHybM+IsNiI1Mu 4VrY/OqebYRYdZ3S5sFLE4jD8C1sBLFZtmWH8IPpGV+B6mNy6jjsyzvF4HiPIpcC46rk2PlhaGaZ 7mWGw+V5nhsjx6hQzbP6mHyfG4SdPFVsC/1V/wCCePjiXxH+0v8AE/SfhZ8e/g54++B0PwS8Jap4 j+GXws/bY/aK/b3s/CvxWuvF94dA8exfHP4q/Crw3ovw4vvHPhOXVYPFnwnXxpqeu+IbnTfDnxNt vCunm78UeIdT3wtOr/Y/EjxlKpUhQz/IaGR1Y5bhsFh8rn/Z3EC4myihmCnSqZ5g6rpcO4nCYDCU cRh+Eq9LMIYnFUIcQ5ZgyK06P1zhv6rV5K9fLOIKmbKrj8RiMTm+DjiOHf7CzHF5ZKnN5RjMvr1M 6w/9p4qWGq8S0cfUwap4ufDMpUPJP+ChXin4yeFv2s5P2SPB/wAU/ip4Wsv+Co3hn4EeBvhTrnhT xt4t0nU/hD4h+CPxNuW/a/1n4aavp2oxT/DnWNf/AGZ9e0jXrC78MzabMfE3h3UPEQc6vJcXbfJ4 LLsXxA+IeDKWPrYDE4DiGHiXhc5hUlHF0eHoeHXEVaeUKopqpVyDL/ETws4GyvH4CcnhZ1PFjF4e VKVLG4mlL6HMMVHJ8twfGUMJRxdKjw7mvh3i8FOipYX/AFlz/izJ8v4Ezb2FvZVs4WC8QuO89rY2 cfrKyrw8yynOrKjgMLGHwH4r/aV/aV+MH7GH7V3xyu/i78V/CWv/ALIvhP8AYY/YH8Ry+HfHXjHw zHqX7Wfgz9rD4bP+2N48ePStXslvtX1q11D4f+D08Qyb79tEuvGOgi5Omarq9tP9rlOLw2d8TeGv GUcvo4LLfGbx78Dc5yfIPZJ4HLPD63DmKxuRUcLNOlRw+I4z444+4L4my5U/YY7/AFIynDY+NaGC w1OHgZjgZZJlPHnB9HF4jFy8MvA/6StaWdVqkp5jmmaYnh/jrAcB5vjsZKcsTUzPL+D/AA34Z8QM kxlSrKvhX4gSzGhVhjarrL2D9qXwX8KvCHxp/wCDjxJPEms6f8UPFf8AwTX8M+PfC/hLXPjH8Qb2 fxF4O1f9nv8AaF0vx34u0H4aa944u9F1fw5oPimw0vRIdUsfDk+k+Ab27/4R3w9NocOsXdhd/nWI 5Y+E3G2Dwk3Kpg/pAVaOYQTWJxGAy/H8K/RwzDKMVX9v7aphHmOYf2xTweZT5K+PoYKWTLE18tyj C4Gh97lM/a+KPg3i8U0oV/D7JKeFqJ/VqOKzbLfEDxdwmMwMPYulTxNTC5JUyvGYvLvfpwq4qPEN fDf2rjsTmdX6Z+B/wlvP2Tf2tv8AglVp/wAOPjd+0n4m0r9qP9nf456P+0D4f+MP7RPxd+LvhDx/ q/w/+Cvwv8feCvGen+BviB4s1zwX8LvEfhzVrnUNP0yL4PeHvBPhu18L38/ha38PRaFDYWcP6zmX JDxJ8Z+HeSNXK8JwvxBxPgIYpyxmNwWf5H4x8AcK/wBp0s3xc6+bVaucZTxfmUM7o4rG1sJjcTTy 7GLD0sRhYTPx/hmmsR4QeE3FCk8NmU+JfDzhyrDBf7Ll1Th3iXwe8V+Iq2Syyyio4JYTKsx4Nyap k1aNFZjh4QxUcVj8VPFYypU+gf22vBt98Yf+Cjf/AATv+Bmt/FD42eD/AIU+Mfg3+3R4m+Ivgr4P /Gv4n/Bu2+JFx4Oh/Zrj8Lad4x1z4X+J/Cvie407RrrxDe6hajSdc0zUGZ7nSJ9Rk8M6p4n0O++J yDC0cdxB4hLF+2rUsr8M8kzHL6H1nFUsPh8zxPiPlmUyzGNKhWpRniaeCxdaFJ1OanGo6FedOdbD Yacfss6xVXBcO8KPCezo18y8VcuyvEYtUKM8V/Z0PDHxTzmrhKdSrCooUcVi8nwaxEXGT9nFToul i6eHxUPzT8FeG/iB8N/2b9D/AGmrH9pz9rTxR8W/g7/wV7039kvwbrPj79p/40eMfDtx+zFB/wAF KbH9l1/g/wCOPh/rXi+48DfE6xvfhrrF4dS8c/Ebw74i+LV94qXS/Etz8QXvdG8PJa9XDuMrzr/R /wAViFQxWI8RuH8TQ44qVsJhnTz6q+BPEf6tjlgoUoYHJMbgcRwvkmY4Stw7hssj/alHMMyxNOvj c54kr4vkz2lThQ8d8JQ9ph8NwLgaWdcHUqFfEU55Hi1w1wJxrUpxxSq/XMzweIx3EOa5ZVwmdYjH 0P8AVyrg8kpwhhMvyv2TtA+NOr6v8VE8L/tW/tF/Ej4ffscaj/wVM/4KjeCPil491P48+P8A4UeF bfXfAtp4cf8AZi+B3jf406P4z8Lar8OvhPdtc+P7/wAOeC4fF/h3wf4j8X+HvCng24ivY7u38M3v Dw5/Z9fIPD2rneIjCrX8E/E7N8meJxlTCU854vwP0mc7yavisTXVai84zzIeAoZtLIsvxdWvKhlG GzTPMHhXiOGMux2D9TiJY3D5xx7HJaMm8P4jeAeX5osLh1iKuT8FZr9FrJc8zSvgsMqdRZZgs48Q 48JUM9zTC06dSWJzirgsXXVHP81nU9/8BeF/gh+0x+2P+xp8KPhV+1L+1l8Wv2Rov2KP2wvHvhq/ tP2sP2qPCf8AwtTXvB/7WHwO8IeHdc8RfEnRPGXgTx98Z/CvgmPX/EGkfC/xvrHiLXtN8SeE49E1 rT/F3ivQZ7DXbrvySnjaubeIWZ5vRr/XMp4I+jJi8jpY/DSwFWk8+q+P86nEeZZCqWDp4TiTPMvy DKa+bLMMuw2Ir1lSzDMcsWa0cuxdHgzSrhaGX8L4PK61FUsfx/4uYLOfqk6eMw1styXw/wARLh7L 8zm8X7TI8tx+OxUKOHwGNrUMHJ43IqGLhl0s1ymfy78YfjHNpfwm/bo8Xa/+1H8afDP/AAVR8Aft j/EXwX+yZ+z1YftF/FbSfFF14e0j4w6To/7Jnw6+Hf7JcHjm38I/Fr4L/GT4Ux6Drnj/AMV6j8N/ FOneMLbW/iF418ZeLDq/hg6lo3NwpVxGKoeCeJyulQzXOs/4wyCl4p4OvJYnDU44rxQxuC8U8u4i w0lOjwnkXCPAv1vGZFOhTyzCZTlGFyDi3Kayx+YRzTFdWbYfCYXG+JWBzmpUyvhrJ+BlV4Gx9GrW pV5UqXhHlmO4dzvKMx9rPF8RcU5r4jTxeX42liMRj8fmOeKvwPj8LUy6isqE/a38O/ta/t7fG/8A 4KI/Gb9nH4G+HPiPB+yjofws/Zp/Zc+JF58ZLTwXefD/APaY/Zm8deFf2rvjT4m8G+ErnwL4k/4T VtY+MFh8O/hTrX2bX9BXUYfh1qHhqS8CyXFwnlYLM3wrkFTxVWGlVo1/EfC8d5ZUdGeJxeb+EvhP X4w4DxeRU8JRlCpPD8b4bOfGahTrQrP65l3EWU1lhprC0VU7ZYOOeY7JfDzMq8aNT/iHWZ5FxTQ9 vTw2X5Zx74yZTkeZ4DN3mVOWIlTxPA2V5X4f57hKdTDueWY+pmLU5SxNVL74/a7/AGgPCf7V/wCx T/wSr/aU8ENjw38av28P+CZ3xDsLVmDT6VN4g+LWh3mp6BfAMfK1Lw5qj3uh6rbsfMt9Tsru2kAk icV9rXymlkfjbwLlmGxMcdgqOI8YquVZjBNUs0yXF/Rh8csbkubUU9fYZrleKweY4dvV0MRTerav 85lmPxeY+EniRXzLDrCZrS4e4Xy7PMEua2A4gynx08M8q4gy68oxk/7PzjA43BuTScnSbslvzP8A wWR8OfEf9prxz8FP2T/2I7u60X9vXw14W+Jnxos/jFofip/B/wDwoT9mzV/CHiPwF488P+NPFVro +tzWUf7Vuqy6d8JPh9oMti81t4p0+b436d5V78JbW8HwkcP9eznOszjl1fN+GeGcgll/ijk2GxMs K+Pchz6rHGZX4QYWveFKPEGf18r/ANa8Lj5V6NfhvLcmqYipiMPTz/CRxX1SxFLAZTluGxOLoYPN c/4lyrEcB4vEYV458NZ7w3jKNTNPE2tgYuU6+S8J5TmWJyLMcHUhPDcSYjiWhwu6NenXzCthv0l/ 4J4fEz4E/FD9jn4LXX7PHgtvhb4E8DeG4fhNefBS+txZ+JfgX42+GTv4O8cfBfxrp7MZ7Txf8PPE Ol3uia5LdbpNXniTxLBcXdjqtpqU33vEeI/tLMY5/QzGjnGVcSYTC5/w9nOFwscHgcz4fx0J/wBl 1cHgYJU8rp4SjTWWVskgo/2DjMFiuHqlOlXwFajD4zIMNVyzB4jIcdhZ4HOuH8bicq4kwdXGf2hi IZ/GpPF5hjauZt82cRz2eLjxBhM9n72e4DMsHnrbeObPtOvAPbCgAoAKACgAoAKACgAoAKACgAoA KACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo AKACgAoAKAPP/il8WfhR8C/AOvfFX43fE74f/B/4aeF/7L/4Sf4j/FLxp4a8A+AfDv8AbWt6d4d0 X+3vGHizVdI0HR/7Y17VdL0LS/7Q1CD7freoadpNn52oXVtBIAfIH/D2T/glH/0k5/YA/wDE0v2a v/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k /wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A0k5/ YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Zq/8A noUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/gl H/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE 0v2av/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/ AA9k/wCCUf8A0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A 0k5/YA/8TS/Zq/8AnoUAH/D2T/glH/0k5/YA/wDE0v2av/noUAH/AA9k/wCCUf8A0k5/YA/8TS/Z q/8AnoUAfiD+wf8A8FC/+CfXg/8A4LX/APBf34qeLv26/wBkDwv8NPjD/wAOqv8AhUXxH8RftO/A /RfAPxS/4QH9kfxr4d8ff8K28X6n48tdB8df8ILr1zbaF4x/4RnUNR/4RvWp7fSdd+yahLHbsAft 1N/wVf8A+CTtxDLb3H/BTT/gn5PBNG8U0M37Z37M8kMsUilJI5Y3+J7JJG6kq6OCrKSrAgklNJpp pNPdNJp+qbf9dW9RpuLTi3FpppptNNNtNNO6aeqe929b3bjf/gqz/wAEmJLb7FJ/wUw/4J8PaeWs X2V/2y/2ZWtvKTASPyG+Jxj8tNo2pt2rgYHGTTblLnk2588aim23L2kZqcanM23zxmlOM78ynaSl zK7lJRjyxSjHlcOVJKPI4uDhZO3K4txcdnFuLum27H/D2T/glF/0k5/YA/8AE0v2avf/AKqh/nJ5 POV/X5+f9Xet7tvbRbf5Xt1/q71etz/h7J/wSj/6Sc/sAf8AiaX7NX/z0KAPAP2ev21P+CMv7NHh 7x54c8Cf8FSf2JNXtvH/AMafjb8dtXvPF37bn7J9/qVj4t+OPxF1j4j+MtJ0a40jxhoKWvhiz1vV 57fQLC5hu9Tt9KhsoNX1rVb6JtSZ4b/Zck4byGlrhOGckp5Bgasv96r4Klmea5pCpjpxcadXELEZ riFzUaNCiqSopUFVVWrOKtONbOM/zqbf1niHH5dmONpr/dqOIy3hbh/hTD/VINSqU4Ty7h7B1ayq 1a1SWMrYycKkMPUpYWn7yP8Agq3/AMEmluHu1/4KZf8ABPlbqSJIJLkftmfszC4kgjZ3jheYfE/z Hijd3dI2cojM7KNzMxS0UktFNqU0tFKUVyxlJX95xjom7tLRO2pb1s3ryqSi39lSacktXZScU5Ja NpNttXaj/gq9/wAEnBM9wP8Agpp/wT7E7xpC84/bO/ZnEzwxtI8cTyj4n72jjeSR0jLFVZ5GUBmd iLRNLRSalJLRSkk4qTV9Wlom7tJtXtds3tfXluo+Sk4uVtdOZxi33aje7VxZP+Cr/wDwSdm2CX/g pp/wT8lEciTR+Z+2d+zO+yaMkxypu+J7bJEPKOvzqSSrZySbNNbq9n1XNGcJWe65oTnF66xlOLup SudHHo7XXR8s4zjdX15ZxjNX2moyT5lck/4eyf8ABKP/AKSc/sAf+Jpfs1f/AD0KAIYf+Crn/BJu 2V0tv+CmX/BPq3R5ZZ3WH9s39maJXmmdpJpnVPieoaWaQtJLIcu7szuzMSzC0jGK0jCKjCK0jGKv aMVe0YrpFaK73d2zrJ9ZNOT6yaSinJ7tqMUk227JK9ldzf8AD2T/AIJR/wDSTn9gD/xNL9mr/wCe hQAf8PZP+CUf/STn9gD/AMTS/Zq/+ehQBF/w9e/4JOed9p/4eaf8E+/tHleR5/8Aw2d+zP53khy4 h83/AIWfv8rf8/l7tm8lsFssRac1tObl5rac3JzqHN35eefLe/LzTs/ek2dv7vNy+XNy81tdObkj zW35Y3b5VeX/AIeyf8Eo/wDpJz+wB/4ml+zV/wDPQoAP+Hsn/BKP/pJz+wB/4ml+zV/89CgA/wCH sn/BKP8A6Sc/sAf+Jpfs1f8Az0KAIp/+Crv/AASbuoJba6/4KZ/8E+rm3njaKe3n/bN/ZmlgmicF Xjlik+J7pJG44ZHVlYEhgRklNJ2uk7OMldbSjJSjJauzjKKlF7qSTTcldtNrVNrdXTa0s0+vVN38 m1rdtyL/AMFY/wDglCihE/4Kcf8ABP8AVVAVVX9tH9mkKqqCFAUfFDAAHQDgAkAnkmm2222227tu 927t3d3vfXdu7erd25SUUoxSSSSSSsklokktEl0XTz3Iz/wVd/4JNtOly3/BTP8A4J9m4jjkhjuD +2d+zOZ0hlaNpYklPxPLpHI0UbSIrbXZIywZkVilpzW05lFStpzKLbipa6qLbcU72bdm23Jvt5Nt eTtZta6NrRve2l2S/wDD2T/glH/0k5/YA/8AE0v2av8A56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56 FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/ST n9gD/wATS/Zq/wDnoUAH/D2T/glH/wBJOf2AP/E0v2av/noUAH/D2T/glH/0k5/YA/8AE0v2av8A 56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/ AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/STn9gD/wATS/Zq/wDnoUAH/D2T/glH/wBJOf2AP/E0v2av /noUAH/D2T/glH/0k5/YA/8AE0v2av8A56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/ 9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/STn9gD/wATS/Zq /wDnoUAH/D2T/glH/wBJOf2AP/E0v2av/noUAH/D2T/glH/0k5/YA/8AE0v2av8A56FAB/w9k/4J R/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/ Zq/+ehQAf8PZP+CUf/STn9gD/wATS/Zq/wDnoUAH/D2T/glH/wBJOf2AP/E0v2av/noUAH/D2T/g lH/0k5/YA/8AE0v2av8A56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL 9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/STn9gD/wATS/Zq/wDnoUAH/D2T /glH/wBJOf2AP/E0v2av/noUAH/D2T/glH/0k5/YA/8AE0v2av8A56FAB/w9k/4JR/8ASTn9gD/x NL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZ P+CUf/STn9gD/wATS/Zq/wDnoUAH/D2T/glH/wBJOf2AP/E0v2av/noUAH/D2T/glH/0k5/YA/8A E0v2av8A56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8 PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/STn9gD/wATS/Zq/wDnoUAH/D2T/glH/wBJOf2A P/E0v2av/noUAH/D2T/glH/0k5/YA/8AE0v2av8A56FAB/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/ w9k/4JR/9JOf2AP/ABNL9mr/AOehQAf8PZP+CUf/AEk5/YA/8TS/Zq/+ehQAf8PZP+CUf/STn9gD /wATS/Zq/wDnoUAH/D2T/glH/wBJOf2AP/E0v2av/noUAH/D2T/glH/0k5/YA/8AE0v2av8A56FA B/w9k/4JR/8ASTn9gD/xNL9mr/56FAB/w9k/4JR/9JOf2AP/ABNL9mr/AOehQB0HhL/gpx/wTO8f +LPDHgPwH/wUS/Yg8aeNfGniDRfCXg3wb4S/a4/Z88ReLPFnizxFqdro/h3wx4Y8O6P8R73Vdf8A EGv6reWmlaLoulWlzqep6nc2un2FrPdzRROAfb9AHn/xS+E3wo+OngHXvhV8bvhj8P8A4wfDTxR/ Zf8Awk/w4+KXgrw14+8A+Iv7F1vTvEWi/wBveD/Fml6xoOsf2Pr2k6Xrul/2hp8/2DW9P07VrPyt QtLa5UA+Pz/wSb/4JRAEn/gmN/wT/AAJJP7F37NIAAzkkn4YcAY5JPrzwSZlKMIynOUYQhFynOTU YxjFNylKTdoxiottt2STbdk22k20km22kkk227tJJXera0W97q7abfzF4Z/Z3/4Ny/G3i+z+H3gv 4Ef8EYvFvjq/1JtGsPBHhn4X/sG674vvdYWZrdtJs/DWlaDd6vc6ks6NA1hDZvdiZWiMXmKwOmDh PMIQqZfGWOp1KH1mnUwcXiYTw3s3V+swlR9pGVD2S9r7ZN0/Z3nzuKcmsZ/wnVK1LMP9hqYetLDY injP9mqUMTCq6M8PWhX5JUq0aq9lKlNKpGrem486d/p7/h01/wAEo/8ApGN+wB/4hb+zV/8AOwqQ D/h01/wSj/6RjfsAf+IW/s1f/OwoAP8Ah01/wSj/AOkY37AH/iFv7NX/AM7CgA/4dNf8Eo/+kY37 AH/iFv7NX/zsKAD/AIdNf8Eo/wDpGN+wB/4hb+zV/wDOwoAP+HTX/BKP/pGN+wB/4hb+zV/87CgA /wCHTX/BKP8A6RjfsAf+IW/s1f8AzsKAD/h01/wSj/6RjfsAf+IW/s1f/OwoAP8Ah01/wSj/AOkY 37AH/iFv7NX/AM7CgA/4dNf8Eo/+kY37AH/iFv7NX/zsKAD/AIdNf8Eo/wDpGN+wB/4hb+zV/wDO woAP+HTX/BKP/pGN+wB/4hb+zV/87CgA/wCHTX/BKP8A6RjfsAf+IW/s1f8AzsKAD/h01/wSj/6R jfsAf+IW/s1f/OwoAP8Ah01/wSj/AOkY37AH/iFv7NX/AM7CgA/4dNf8Eo/+kY37AH/iFv7NX/zs KAD/AIdNf8Eo/wDpGN+wB/4hb+zV/wDOwoAP+HTX/BKP/pGN+wB/4hb+zV/87CgD8Qf2D/8Agnp/ wT68Yf8ABa//AIL+/Crxd+wp+yB4o+Gnwe/4dVf8Ki+HHiL9mH4H614B+Fv/AAn37I/jXxD4+/4V t4P1PwJdaD4F/wCE6161ttd8Y/8ACM6fp3/CSa1Bb6rrv2zUIo7qgD9hfHn/AATq/wCCKvwq02y1 j4o/sGf8Ex/hzpOo3y6Zp+qePP2XP2SPCWm3+ptDNcLp1lfeIPAOnW11fNBBNOtpBK9wYYppRGY4 5HrP2tJVqeG9rT+sVoVKlGhzx9tVp0pUoValOlzc84Up1qMakopxhKrSjNqU43tU6jpVKyhN0aTh GrVUJeypyqKbpqpU1jB1FTm4KTTkoT5b8smdNov/AAS1/wCCRPiTSbDXfDv/AATd/wCCduvaLqdu l3pms6L+x7+y9qek6jaSZ8u6sNRsfhrcWt5bybTsmt5pImwdrnBJ6KlKrRm6danUpVEotwqQlCaU 4xnBuMkpJTg4zi2rSjKMk2nzSxp1KdaPPSqQqwvKPPTnGceaE5U5x5oyavGcJQkr3jOMov3oyb0/ +HTX/BKP/pGN+wB/4hb+zV/87Csyw/4dNf8ABKP/AKRjfsAf+IW/s1f/ADsKAMaH/gl9/wAEgLjx Bf8AhO3/AOCcv/BOefxPpWl6brmqeGof2Qv2W5PEGnaJq91qVnpGsX+jJ8OG1Cz0vVrvSNUtdN1C 4t0s7260/Ure1nlms7tVIfvIVqlP95DD14YbETh70KGJnQhiKeHrSi2qVeeHnCvCjNqpKhKFVRlT kpsn+7lRjP3JYinWq4eM/dlXpYepSpYipRUnerToVK1GnWnDmjSqVaUKklOcb7P/AA6a/wCCUf8A 0jG/YA/8Qt/Zq/8AnYUAYfiX/gmD/wAEffBegap4q8Y/8E6P+CcnhTw1ols17rXiPxL+yJ+yzoeg aRZKyo13qmsap8OLWw0+2V2VWuLu4jiDMqmTcRlXXPQpXXtMVisJgcNTuufEY3HYqlgsDg6EL81b FY3F1qOEwmHp81bEYqrSw9GE604xdRhOaqOEZSVKjiMRVcYtqnh8LQq4nFYio1fko4bD0auIxFWV qdGhTq1as404Tmba/wDBJz/glC6q6f8ABMf/AIJ/srAMrL+xd+zSVZSMqykfDAggjkEEgjoT96qa abi0002mmmmmm0009U04u6et01um3nGUZxjOEozhKMZQnFqUZRkrxlGSbTjJaxabTWzfxC/8Omv+ CUf/AEjG/YA/8Qt/Zq/+dhSKD/h01/wSj/6RjfsAf+IW/s1f/OwoAP8Ah01/wSj/AOkY37AH/iFv 7NX/AM7CgCte/wDBKf8A4JLabZXeo6j/AME0f+Ce9hp9hbXF7f397+xr+zJa2VlZWsUk91d3d1P8 M0htra2hikmuLiaRYoYkkklkVEdzlXr0MLQrYrFV6WGw2GpVK+IxFepCjQoUKUJTq1q1apKNOlSp wjKdSpOShCClKUrJs0o0auIq0sPh6VSvXrVIUaNGjCdSrWq1JqnTpUqcFKdSpUm1CEIpzlNqMU5O 7qaH/wAEtv8AgkR4n0XSfEnhr/gm9/wTs8QeH9d06y1jQte0P9j39l7VdF1nSNRto7vTtV0nVLD4 bXFlqWnahayxXVlfWc81rdW0kc9vNJEyyN1V6FfC16uGxNGrh8RQqTpV6FenOlXo1YSlCdKrSqRj OnUhKMozhNKUZKUZLmTZz0qtKvTjVoVadalNNwq0pxqU5JNxbjOEpRkk4tOzdmmm2029Nv8Agk5/ wShVWZv+CY//AAT/AFVQWZm/Yu/ZpCqoBJZifhhgAAZJJwBnJ4JPPOdOlTnVqzhTp04SnUqTkoU4 U4JynOc5NRhCMYtylJ2ik23ZNvVJyajFOTbSSSbbbbSSSbbbaslq27q7ad8Xw5/wTA/4I/eMtC0z xR4P/wCCc3/BOXxV4b1m2W80bxF4c/ZD/Za1vQtWs2ZkW70zV9M+HF3Y39szoyrPa3EsRZWUSFlb O06dSnye0hOHtKNDEU+eMo8+HxNCniMLXhzJc1HE4epTr0KqvCrQnTq05ypyjNwpRlKrGMoylQxG JwleKacqOLweJrYTGYWqk26eIwmKoVsLiaE7VaGJpVqFaMa1OpE2/wDh01/wSj/6RjfsAf8AiFv7 NX/zsKgoP+HTX/BKP/pGN+wB/wCIW/s1f/OwoAwtT/4Jh/8ABHvRdW8OaBrP/BOn/gnHpOt+Lru/ sPCei6n+yL+yzY6t4nv9M0y51jU7Lw5p118OYrvW7vTtJs7rVb+202G4mtNMt7m/uUS0hmnoh+8q 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 neU8O04zqKNavm2cZbxJmuBw9GMlycssFwtm1apVqVIU6fsqcJSc6iOt+BP7UvwU/aL+H/iL4i/D 7xFqGn6Z4I8Xa98PPiRofxC8N+IPhv41+GPxE8NPZL4h8D/Ebwh44sNE1nwnr+mJqGnXixahbLY6 ppGo6P4h8P3+peHtS0rVp+upSjHB5ZmNOvh8Tl2c0KmIyrH4etGeHxkKGZY/KMVShdRq0cXgc1y3 H5XmGX4qnRzDA5lhcVgcbhaOKpVKa44zk8bmGW1aGIw2PyyWHWOweIoyhWpU8Xl+FzTAYum1zUsV gcwy3F4bMMDmGEq1sDisLWjUo4mcoVox93bU9MSGC5fUbFbe5t3u7adru3WG4tI4DcyXMEpl2S28 duPtDzIzRpBmZn8sFzlP906iq/u3RjKdZT9x0oQnGnOdRSt7OMJyjCUpWUZyjGUuZpvSH7xQdP8A eKpKEKbh7ynOak6cION+aU1CThFXlJRlbm5ZSaDVdKbTP7aXU7BtI+yG/wD7WF7bHTPsIjMpvft4 lNt9kEQ803Pm+SI8uZCoLkqfum1V/duLipKp7jTk0opqTVnJtKKerbSV29Sn++sqX73mbUfZ+/zN NxaXLe7Ti00rtNNPVNvxf4r/ALRfw3+DPi/9nXwV4ufWp9V/aZ+Ks/wd+GM2h6fb6jpr+L4Phl8Q PikZdeuzqFt/ZujSeGfh1r5i1G3jvWfUTp9oLXy7h7pDCp4vO48P01KOPlkXEfEPLVi4U45fwy8s WaRnOzlHEp5phlh6Lhao1WUqkHDWMTOGFybE57UkpYHC5jw7ldSVNqdSWJ4kzehk2WSpxT5Z0frd enLEVOdezoN1IxqStA9xuLi3tIJrq6nhtra3iea4ubiVIYIIY1LSTTTSMscUUaqWeR2CIoJZsAsU 3GKvJpK6V20ldtRSu3u3ZJXu20rt6vSMZSajFOTeyim299krvp+ers2/kp/20/hTL8QPix8NdE8M fFbxb4k+DXxq+BHwL8dxeDfh/e+J7bTvEvx58LeEvF/hDxSJNHvrqZPh3oGgeL9L1Px940vrez07 wtaJqF1dxzWlsbh7y6Eszo5XiKKdLD5pxJxtwrTxGKToUMJmnA/DNXiXN3mNaTdPBYXF4eFLLcmr VZc2YZ9i8vyiNOniMTRcs8XUhg6uOoVJKpWwXCfDnGbpUGqtXF5PxJxZnXCWXQwFNPnxmOp4/Isw xmNwlJP6vk9KeZOrOnCvCP1bHqmmTX91pUOo2MupWMMFxe6dHeW739nb3O8W091ZrK09vDceW/kS zRqku1/LZirEwmnCdRNOnSn7OpNawp1OTn9nOV7Qnye/ySfNye9bl94t6OEXpKpFzpp6OcIzdNzg m7yiprkcldKd4tuSd0t9V0q7n+zWmp2F1cfZIr77Pb3ttNP9hmklihvfJileT7LNLBLHFcbfJeSO REkZ0YE+zUnZuNLkVRpX5HOEqlNS/llUpwc4JtOUGpK8XzCbScU2k5Ooop6OTozjTrKKb1dKbjCo ldwnKMZtSd5eGfAL9pv4UftHfBq1+O/gbUb/AEjwFdeK/iR4NW98bQWPhy6h1n4Z/E7xZ8K/Ev2m OTU7u1htZPE/hDU10mZr3de6e9jctFDNO1spSaq5Zw1msZJYbirhjhTizKFJpVp5Vxdw/l/EWTU6 1O75Ma8vzCh9Zw0JVPZYj2tGNWrGCqvStTnQzTiLKJxbxXDOe5zw9mjgnKjHH5JjamBx86NRP95h VWpSdKvKMOam1KUIO6PeUvLOWWOCO7tpJpbYXkUKTxNLLZllQXccauXe2LMqidQYtzKvmFiM04yU pxaalSajUi01KnKTmoqaesHJ05pKWrcJpXcZGaacYTi04VE3TkmnGaSi24STakkpRbs3ZSi22mm6 lzreiWUXnXusaXaQi+i0sy3OoWkEX9qTOscOm75Z1X7dM7KkVnu+0u7KqRsxGVH3pUoR96VZyVGM dZVXB1FNUopt1HF0qnMo3cXConrCbbfuqpKWkaMI1KreipU5KDjOo27QhJTg4yk1FqUGpNSTepQB 8DePv+CjHwJ+Her/ALRbapovxB1X4f8A7L2vfC74f/F74v8Ah7Q9J1LwFp3xn+KXivwb4c0X4LeH y3iG317xR438NQeOvCmv/EKXSdFl8LeDdO1vTdL1bxEfFo1Dw3A8oi85/sR4a1KHE/HGX8AcK1K7 UY8QZ1XzWvkOZYzB8jqOlkeR5/SXD2NzbFqlQxGeUs5y/LI4upkudypGZJ5W8xjX/eVMk4Hz3xB4 gpUU3UyXh7KckxXEOFjjFLkjLNM+yTL8wzjKsqoSqYxZXTyzMcxhhMDnfDuIxX0H8a/2jPhn+z7q fwQ074lz61p0Hx5+Mfhz4D+CtastIkv9CsviR4t0fxFqXhLTvFeoRzoPD9j4muPDs/h7R9Tnjltp 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 aRjFzlJ6RjBThTc5Nuyipzpwcm7Kc4Rb5pLm8h+PXx/8Afs4eFPCnjL4jDXG0nxh8Wvg/wDBbRxo Gmxald/8Jp8ZviN4f+Gngs3cEt9YrBpA8ReIdPOsX4lkksdNNxdx2lzJH9naKM4185yDIqd/rvEe NzPL8u5laj9YyvhXiPi3FfWKl26UP7K4ZzH2UlCbni3hqDio1ZVoOsvYZTn2cz/3Th7LP7WzC2tV 4T+0cBlv7iG1Wr9Yx9D3HKC9n7SfPeKUvYLPU9M1GCa50/UbG+t7ee5tZ7izu7e5ghubSRoru3ml glkSKe1kRo7mF2EkMiskqq6tmm0qcaraVKdP2sKraVOVH3rVYzb5ZU/dl76bjpL3nZhZ88qaT9pG ShKFnzxm1FqEo35lJqUWov3rSi7NNN17LXdC1KwXVNN1rSr/AE15vsyajZajZ3Vg1z56232dbuCe SBpvtBW38oSGTz2WHb5pw1csv3ej/exjKlo/3sZKTjKn/PGSjJxcbppSs3Zsm6vUV1ei5Ksr60nB JzVRX/duKaclKzimm9HdvTWtGltY76PV9Mkspbv7BFeJf2jWsl/9rax+xR3CzGJ7v7YjWf2ZXM/2 tWtthnVlKWvsra+2jGdG2vtoSpyqwnSs37SMqUZVYyjdOmpTTcU5Dentb6ewco176exlFqMlVu/3 bi2lJTs02k7t3fj37Pv7Q/w4/aY8CX3xC+Gs2rLoun/ED4v/AA1nt/ENjb6Xq58RfBn4q+LfhJ41 nisIr++L6SPFfg/VBpOoeaPtmmvZXcsFtNM9okYSpHGZNw9nlG6wXEnDmRcU5fz2VaOVZ/gI4/Lf rcE5KhiJUG/a0eecYVI1IRqz5JSHXX1bNs9yap/vfD+b4jJMe43dGWNw2GwWJq/VptJ1qSpY7Dvn cYy5pNOCsm/aI9QsJo7WaG+tJYr1zFZyx3MDx3cgWVzHaushW4cJBM5SIswWOViMRux0s7qNndw9 olZ3dPljJTSvdw5XGXNrHllF8zTvJbKT6RlySfSM+f2fLLXSXP7nK3fn9yzkVrbXNEvZNTistZ0u 7k0WVoNZjttQs55NJmVGkaHU0indrCVY0aRo7oRuEVnI2qzGbp0lXTTotziq117JyptKolUvytwd lNc14tpSd93Z+09lZ+1tBqnZ+0tUuqb5NZWqW9x2alryuTTbfHrGjzJfyQ6tpsselhW1OSO+tXTT le1jvUa/ZZiLMPZyR3am4KBrV47gEwsshJNU4SqTahThOrTnOXuwjOi1GtCUm7RnSdlVi3zQbSnZ 6sinOUIQTnOcKc4QinKU6dVyjSnCKbcoVXCSpyV1NxkouTjJu3b3FveW8N3aTw3VtcRRz29zbypN bzwSqHimhmjZ45YpUw8ciMyOpDKxHzG5RlCUoTjKMotxlGUXGUZJtNSi9U01qnqndO7TbmMozipQ kpRaupRacWu6abTXnd+rK51TSxcpZnUrAXclzJZx2pvLcXMl5Fai8ltUgMvmPcx2mLuSBVMqWpFw yCH94Zj7/wAHve5Un7uv7ulVjRqz0b9ylVlGlUltCrKNObU2k2/dTctEpU4tvRKVWMpUou+0qsYS lTV7zjGTjdRlJus9R0/UPtX9n39nffYrqWxvfsd1Bc/ZL6Db59ldeTJJ9nuocr5ttLtmj3LvQZ+Y WsI1FrTmpOE1rCajOdOTjLVSUZ05wk03acZxbcoyuPSUoPScFBzg/iipxU6blG94qcGpwv8AFFqS ck+Z1bTX9B1C2vL2w1vSb2006ee11C7tNSsrm2sbq2wLm2vJ4bh4rWe348+Gd1kiyPMVTyRawp1F rTrcvsZrWFXmmqcfZyu1PmnaEeVu82oq8t201OdJpqpS/iU2mp0/dlL34N80PdjKXvL4VJ3aTkWb bUtOvZ722stQsru406WODULe2uoJ57GeWJJ4ob2KKV3tZZIXSaOOcI7xMkihkYORax51rDnqU+da x9pSkoVYcybXPTlaNSN+aEmoySlq1opcrfvckKnL9r2dTm9nUte/JU5Zck/hlaXLKVmyOy1jSNTn 1C103VdO1C50q4FpqltZX1rdT6bdFWYW2oQwTSSWVwVVmENwqSlQx2kAtRH36casPepSlOEakdac pQdpxjNXi5Qek4ptxektQfuzdOWk1GM3B6TUJpuE3F6qM0rxk9JK9pOzbWHV9JubiW1t9U0+e5hu pbCa2hvbWW4ivoIEuZ7KWFJmkjuobd0uJbZ1E0cDJK6CNg5I++lKHvRcaklKOqcaVX2FSSaunGnW /dVHdqFX93JqYPRuL0cfZ8yejXtYSnSum7r2sIynTv8AHBSlFySbJItQ0+4mvraC+s5rjTXjj1GC K6gkmsHlhW4iS+iSRntHkgZZ41nCM8LLKu6MhyrxVN1br2UZVIyqXXs1Kkk6sXO/KpU006kW7wTX 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 3UBpXWNFjVpCzLGqoG2qMi0jyrSN5S5VpHmk3KcrJ2vJ6ye7bbbbu2db9eWMb9eWLk4xvvyxcpOK 2TlK2rk3NQBHNDDcQy29xFHPBMjxTQzRpJDLE6lXjljcMkiOpKujgqykhgQTlNJ6NJq6eq6xkpRe vWMkpJ7qVmndczabi7xbT7ptPtunf+uu49VVFVEUKqgKqqAqqqjCqqjgADgAcAcDNU2222222222 227ttttttt6tt3u3q3duUlFKMUkkkkkrJJaJJLRJdF089yOaCG4iaG4hinhfbvimjSSJ9rB13RuG VtrqHXIOGAYEsNxWzTW8ZRlF9VKMlKMk91KMkpRad1KzTuuZvo10lGUZLo4yjKMotX1jKLlGUXdO MpJ3TfMklvbzSQTSwQyy2zs9tLJFG8lu7xtE7wOyloXeNmjZo2DNGzIxKlsi0d1o3FwbWjcJSjKU b78spQjJx2coxbTcVJnTl+zzRlbpzRUlGVr25oqUuV7pSkk3eTatBA8sU7wxPNAJBBM0aNLCJQqy iKQgvGJVVRIEYbwFD7gM0LRtrRuPI2tG480Zcre7jzRjLlenMov4lcOluikpJdOZRlFSt/MoylFP dRlJXacry0AFADXRJEeKRFkjkVkkjdQyOjBlZHRgVZWUsGVsghmBBBJZNJpxaTTTTTSaa2aabaaf VO/q9xpuLTi3FpppptNNNtNNO6aeqd7pt6t3kxESJEjjRY441VEjRQiIiDaiIi4VVVeFUcKOBxzV NuTbk22222222222222229W273bu27ycpKKUYpJJJJJWSS0SSWiS6Lp57jqQyGG2trdp3t7eCBrm Uz3LQwxxtcTlEjM87IoM0pSNEMkhZ9iopchQSLSKitIx5uWK0inKUpyaV7Lmm5Tl3lKUm3JuUjdt vVtRi31cYpqKbve0VpFXsk2l1u+SOOaOSGVElilRo5YpEV45I3Uq6SI2VdHUlWRgVZSQ2QTlNJpx aTT0aaTTXmm3f5/iNNxacW000002mmndNNO6aeqe6fVvUTyYfJ+z+VH5Hl+T5Hlr5Pk7dnleVjZ5 ez5fLxt2/LjFOXv83P7/AD35+b3ufmvzc12+bm63ve7u27tqPucvJ7nLbl5fd5eX4eW23L0tt0G/ Zrb7N9j+zw/ZTD9nNr5Uf2Y2+wx+R5G0x+Ts+TytuzYSu3bnJP8Aeczqe/ztubn73M2225czfM29 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 q4viXwd4K48yZVcPLEZTl3EHFfgNx/xFmeUx54YrD4PMcTx9n/hRDhTOczwOLoYTIMn40y7OMRXy jNs84Zzv16vJhM34zyFV3HLOGvEvOeEs2nhqlCln2MyLKOLcty3C5pS9ticFSxuBwuUUeJXxDkeD xNLHY7Osw4NzHLIYWnk+M4iy79dP+CXvhr4z+E/2TvDmk/GSD4iWEyXmjnwNo3xa0a38N/EfR/DE Hw0+G9h4nh1/whbRxR+BdO1X4u2XxR8SeA/AEUFjY+B/hnrHgvwbovh7w14f0vSvBmnff8TVcuq4 qjLAOU17XiSaqVcU8bjJZVX474vxXBscxx7xGJljczw/AmI4UwmZ1q9ermccbRr0M/xWL4jpZzmF b5DJaeIp0sUsTThSrOeXLERwkK9LJVmMMgyalnceHcPi8HgcdSyalndHMaVCtjsNTqZniY4vPcIp ZVmGAm/Fv+Ckn7Xf7aP7Gmhp41+Euk/syfEgfEjx94B+D37M3wF1zRfi9P8AHb4z/GLxqLeys/BV lfaL4v0zwtZW1vcW+t+KNe8SyWkek+Evh3pOqeIddMr2MyTfG4OeYYvPMj4bw9HD4vN+IMzxVPCU 6dSrQwmXcPZfGWNzziXOsRKniHg8q4ZyenPH5vjfZui8Q8Jl9BLF47Bwl9JWhgaGU5vnmJxFTBZb kOUvF5lia0PbTxGZ1q0sJlGS5ThqC9tjcz4gzGrgcqynL6fPiquKr1cRJLBYfF1ofqj4Il8ZzeCv CM3xFtfD9j49l8NaDL43svCVzqF34Us/F8ml2reJLTw1d6pFDqV3oVtqpu4tHudQhivp9PW3mu4Y 7hpIx7eZxy6GZZhDKKuKr5XDGYmOWV8bTp0cbWwEa9WOEq4ujSlOlSxFSgqU61OnOUIVZThGUoxu eNls8fVy/BVc1oUMLmNTDUJ47DYarKvh8PipU1KtQpV5Ri60KU/cVWyU7OaVnZfA3w1/bf8AF3jr 9mz9v/44Xngbw7Y6r+yH8X/2y/ht4Y0S21DVJNO8XWH7N9pqdxoGp69PKxubK78TmyRdYi08iC1D ubEAgV8nn+b1cm8Ksp8QKVGnWxmYcI8U8STy+cpRwtOvkXHHHfC9HDQqRftXSxGH4Vw+Kqzk3ONf E14Qfs4Uz63h7JqWdeKtTw+q1qlHBw4k8NsjWYU4xeKdHjTgTw74qxeI9lK9L2mBxHGGJwuGj8M6 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 ------=_NextPart_14063017131968907748536_001 Content-Type: image/jpeg; name="feature 02.jpg" Content-Transfer-Encoding: base64 Content-ID: <Attr_13196632233> /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAEqAusDAREA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+vn9u n/h65/xar/h2P/wwB/zPP/C7P+G6f+Glv+pN/wCFbf8ACqv+FBf9zz/wnP8Awlv/AFJv/CPf8x6g D4A/46uP+sAP/nSugA/46uP+sAP/AJ0roAP+Orj/AKwA/wDnSugA/wCOrj/rAD/50roAP+Orj/rA D/50roAP+Orj/rAD/wCdK6AD/jq4/wCsAP8A50roAP8Ajq4/6wA/+dK6AD/jq4/6wA/+dK6AD/jq 4/6wA/8AnSugA/46uP8ArAD/AOdK6AD/AI6uP+sAP/nSugA/46uP+sAP/nSugA/46uP+sAP/AJ0r oAP+Orj/AKwA/wDnSugA/wCOrj/rAD/50roAP+Orj/rAD/50roAP+Orj/rAD/wCdK6AD/jq4/wCs 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 fKp1KblZ2VSk4qpTbu0p024qpC/NByipJN+9N1dJNXlThVirq8qU3JU6iV9ac3CShNXjJxklKTjK 8NvrOj3baklrq2m3L6PK0Grpb39rM2lzLEJmh1JY5mNjKsOJWjufLcRESEbPnM3Xs1WuvZNziqt1 7NypycaiU78t4SXLNXbjK6lqnerN1PZJN1WoSVOz9o41LqnLk+K1S3uO1pa8rbTb8p+Mn7Q3wZ+A HgHUvib8VvHGn+HvB+keJPAnhHUtUt4L/XZrTxF8RfFnh3wd4N06bTPD9rqepK+r614n0ZPN+y/Z 7PTro61qEtvo0N1qCVSTrZjk2VU03jc9zrC8PZXSfuxr5viqzoUsLOtNqlh7VUoV6uInTo4dyh9Y qU+ZEVZRo4DOMyqO2EyPIc14mzKqrylRyTJ8uxuaY/GQpRUqmI5MHl+Kq0KNCNTEYqdN0MJSq4hq D9N1rxJoPh3w3q3i7WtVs7Dw5omj3uv6prUsymwtNF0+zmv7zUnnjLq1tBaQPcF4y26PBTcTzwZt mWCyLLMyzfNa31XAZTg8Vj8wrSp1JuhhcHRrV8RP2NOE6tSUKdGbVKnCVacuWnThKo+V9eAweJzT GYTAYCm8TisbiKGEwtGDinVxFeqqNKmpSkoR5qlk5TkoRTTnJRUpP54/Zo/a0+Hf7UvwltPjl4P8 N+PvA/wx1u00XWvBniz4r6PoPhCz8c+EPEWnwan4d8aeHoIvFOsXdlomtWNxbXFtZeLIPD/iq1W5 tU1fw3ZSzRKfcxmW4zLfZUcypfUMxliJ4TE5PiJ03mWBxcI4Z/VsVCjOthpVpSxCoJYTFYmMcXSx mCqThjMNiKK82hjMNi6+Lp4Gp9dwuFUnHM6EKn9n4uNPE47C1p4SpWjSryhSlgZ1ZVK2HpQnhK2C xtCVXCYmjXf0nd6ppenwfab/AFKwsrcW892bi7vLa3g+yW0QmubrzZpkT7Pbw4lnm3eVFERJI4T5 zwytFyjJ8rhbmUtHG9SFFcybvG9WcKSvvUlCndzkr9UE6ii6ac1NxjBwTkpSlCc4qLTfM5QpznFK 7cITkrxjKRdjeOWNJYnSSORFeOSNg8bxuNyOjqSrI68qwJDDkEjmnKMoylGScZRbjKMk1KMk2mpJ u6aas09U7pu6d5jKM4xnCSlGSUoyi04yi1eMotNpprVNNprZv4j5D/Z+/bl/Z6/ab+M37RXwJ+FO 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 AKAP/9k= ------=_NextPart_14063017131968907748536_001--